목록2021/08 (36)
#wannabeeeeeee the best DataScientist

https://programmers.co.kr/learn/challenges?tab=all_challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr def solution(s): answer = "" # 해당 문자에 맞는 숫자를 배치하고자 만든 2개의 리스트 (dict를 쓰면 더 간결했을 것) l=['zero','one','two','three','four','five','six','seven','eight','nine'] k=[0,1,2,3,4,5,6,7,8,9] alpha="" for i in s: if i.isdigit(): answer += i else: alpha+=i if alpha in l: answer += str(k[l.index..

◎ 수학적 개념 이해 ◎ Linear Discriminant Analysis(LDA) ※ LDA 결과 얻게 되는 decision boundary의 특징 : 평균의 차이는 최대화, 두 분포의 각각의 분산은 최소화 ◎ LDA의 심화적 이해 LDA decision boundary는 분산대비 평균의 차이를 극대화 하는 boundary 장점1 : Naive bayes 모델과 달리, 설명변수간의 공분산 구조를 반영 장점2 : 가정이 위반되더라도 비교적 robust 단점1 : 가장 작은 그룹의 샘플 수가 설명변수의 개수보다 많아야 함 단점2 : 정규분포 가정에 크게 벗어나는 경우 잘 설명하지 못함 단점3 : y범주 사이에 공분산 구조가 다른 경우를 반영하지 못함 Linear Discriminant Analysis 실..

◎ K-Nearest Neighbors K-최근접 이웃(K-Nearest Neighbor, KNN)은 지도 학습 알고리즘 중 하나입니다. 데이터가 주어지면 그 주변(이웃)의 데이터를 살펴본 뒤 더 많은 데이터가 포함되어 있는 범주로 분류하는 방식입니다. ◎ 수학적 개념 이해 ⓐ Cross-validation : 과적합, sample loss를 해결하기 위해 사용 - k-fold cross validation ※ Test error : 데이터에 따라 최적의 k가 존재 k-Nearest Neighborhood Algorithm 실습¶ 1. 데이터, 모듈 불러오기 및 kNN 피팅 방법¶ 함수 불러오기 In [1]: from sklearn import neighbors, datasets In [2]: impor..

◎ 수학적 개념 이해 ※ 조건부 확률 ※ 베이즈 정리 ◎ Naive Bayes Classifier 설명변수 간의 독립을 가정 설명변수와 반응변수를 분리하여 생각 ※ 위의 경우 Yes와 No를 비교하여 큰 경우의 수를 선택 Naive Bayes 실습¶ 1. Gaussian Naive Bayes¶ 데이터, 모듈 불러오기 In [1]: from sklearn import datasets from sklearn.naive_bayes import GaussianNB In [2]: import pandas as pd In [3]: iris = datasets.load_iris() df_X=pd.DataFrame(iris.data) df_Y=pd.DataFrame(iris.target) In [4]: df_X.hea..

https://programmers.co.kr/learn/challenges?tab=all_challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr def solution(table, languages, preference): #각 테이블 만들기 point=[0,5,4,3,2,1] number=[0,1,2,3,4] points=0 po=[] for i in range(5): globals()['l_{}'.format(i)]=list(table[i].split(' ')) # 숫자를 포함한 변수 만들기 위해 사용한 코드 for l in [l_0,l_1,l_2,l_3,l_4]: for j in range(len(languages)): if langua..

◎ 차원의 저주 차원이 커질수록 한정된 자료는 커진 차원의 패턴을 잘 설명하지 못한다. 차원이 증가함에 따라 model complexity가 기하급수적으로 높아진다. 주성분분석(PCA)은 서로 상관관계를 갖는 많은 변수를 상관관계가 없는 소수의 변수로 변환하는 차원축소 기법 ◎ 공분산 행렬(Covariance matrix)의 정의 공분산 행렬은 일종의 행렬로써, 데이터의 구조를 설명해주며, 특히 특징 쌍(feature pairs)들의 변동이 얼마나 닮았는가(다른 말로는 얼마만큼이나 함께 변하는가)를 행렬에 나타내고 있다. ◎ Principal Components 차원을 줄이면서 정보의 손실을 최소화하는 방법 변환에 사용하는 소수의 변수를 주성분(Principal component) 또는 성분(compon..

◎ 로지스틱 회귀분석 로지스틱 회귀는 출력 변수를 직접 예측하는 것이 아니라, 두 개의 카테고리를 가지는 binary 형태의 출력 변수를 예측할 때 사용하는 회귀분석 방법 ◎ 로지스틱 회귀계수 추정 단순 선형회귀의 최소제곱법을 사용하는 것이 아닌 최대우도법을 사용 ◎ 회귀계수 축소법 ※ 분석용 데이터의 이상적 조건 독립변수 X 사이에 상관성이 작아야 이상적이다. 독립변수 X와 종속변수 Y의 상관성은 커야한다. 많은 양질의 데이터(결측치와 노이즈가 없는 깨끅한 데이터) 필요하다. ※ 회귀계수를 축소하는 이유 영향력이 없는 입력 변수의 계수를 0에 가깝게 가져간다면, 모형에 포함되는 입력 변수의 수를 줄일 수 있다. ○ 입력 변수의 수를 줄이면 세 가지 장점이 존재 잡은(noise)을 제거해 모형의 정확도를..