전체 글 (315) 썸네일형 리스트형 [복습] Python | 분석 | knn(거리기반 모델) knn(k-nearest neighbors) - 거리기반 모델 - 스케일링에 민감 - 이상치에 매우 민감 - 선택된 변수의 조합에 영향을 많이 받음(선택된 변수의 조합 중요) - 수치형 변수 구성 시 가장 유리(명목형 변수는 knn과 어울리지 않음) - 게으른 학습 knn은 다른 모델들과는 다르게 fit 할 때 아무것도하지 않는다. 궁금한 대상이 등장하면 그 때 계산을 하기 시작한다. 즉 predict 할 때 궁금한 대상과 나머지 대상과의 거리를 계산하기 시작한다는 의미이다(kmeans와 헷갈리지 말 것). 10만건의 데이터가 있고 predict 데이터가 3000건이면 10만 곱하기 3000건의 거리가 계산된다. 따라서 fitting 할 때 부하가 크지 않고 predict 할 때 부하가 크다. 결론적으로.. [복습] Python | 분석 | 차원축소(PCA, MDS) (2) cancer.csv 파일을 읽고 적절한 인공변수 수를 파악하여라. 1. 데이터 로딩 2. 변수 스케일링 3. 차원축소(2, 3차원) 3) 시각화 3-1) 2차원 3-2) 3차원 4. 차원축소의 차원 수 결정 1) PCA 2) MDS kruskal stress 결과로 0.05 이하면 좋기 때문에 6 이상에는 큰 의미가 없을 것으로 보여진다. 그러나 30개의 변수 중 인공변수를 5개 선택하는 것이 너무 적다고 생각이 든다면 15로 올리는 것도 괜찮다. 사용자의 입장에서 해석 후에 인공변수를 선택하면 된다. 여기서는 5개의 인공변수를 선택하도록 하겠다. 5. 활용(유도된 인공변수로 모델링) STEP 1) 인공변수 유도 STEP 2) 분리 STEP 3) 모델링 STEP 4) 평가 차원축소는 변수를 탈락시키는 것.. [복습] Python | 분석 | 차원축소(PCA, MDS) (1) + 하루끝(20240202) 차원축소(변수 결합으로 새로운 인공변수를 유도하는 방식) 1. 정의: 기존 변수들의 선형 결합으로 고차원 데이터를 저차원 데이터로 매핑(평탄화) 2. 활용: 시각화, 변수 결합, 차원축소(단순한 모델로 만들기 위한 방법 중 하나) 종류 1. PCA - 기존 데이터가 가지고 있는 분산은 최대한 유지하면서 차원 축소 - 분산 설명력으로 차원에 대한 최종 결정(몇 차원으로 선정할 지 결정) 변수들에 가중치를 부여해서 결합하는 방식을 가중합(=선형결합)이라고 한다. C1 = a1X1 + a2X2 + a3X3 + a4X4 이 때 기존 변수의 선형결합으로 차원을 축소하는 방법은 비지도학습이다. 변수의 변형이기 때문이다. 이에 따라 변수 스케일링도 비지도 학습이다. y가 불필요한 변수변환 기법이기 때문이다. 그래서 .. [복습] Python | 분석 | SVM(Support Vector Machine) (4) (암의 양성 여부 예측) cancer.csv 파일을 사용한 암의 양성 여부 예측 SVM은 변수 조합이 중요한 모형이다. 따라서 사전에 변수를 선택(feature selection)하여야 한다. 일변량 분석의 경우 Y와 X 하나와의 관계를 의미한다. cancer data에서 Y는 두 개 class를 갖고, X는 수치 자료인 경우 ttest를 수행하게 된다. 그런데 다변량분석의 경우, 다른 변수들이랑 같이 고려가 되어야 할 때 변수들의 중요도가 어떻게 될 지는 변수들끼리 경쟁을 해보아야 한다. 이번 분석에서는 다변량 분석을 수행하여보자. 변수 중요도는 DT를 수행하여 출력을 할 것이다. 1) 변수 중요도 기준 상위 10개 컬럼 확인(전체 데이터 셋 훈련 결과) 2) 위 변수들로 SVM 모델링 수행(스케일링 필요) STEP 1) 스케.. [복습] Python | 분석 | 스케일링(scaling) + 하루끝(20240201) SVM, KNN, KMEANS 등 모델은 스케일링에 민감하다. 또한 회귀 분석 시, 회귀계수를 비교해야 할 때에는 스케일링이 반드시 선행되어야 한다. 딥러닝의 경우는 전부 스케일링이 되어야 한다. 즉, 거리기반 모델(KNN, KMEANS), (회귀 자체는 문제가 없으나) 회귀 계수를 구할 시, SVM, 딥러닝 시 필수 1. standard scale - 음수 출력 - 평균은 0, 표준편차는 1 (표준화 작업) (X - X.mean()) / X.std() 2. min_max_scale - 0 ~ 1사이에 분포 (X - X.min()) / (X.max() - X.min()) 3. robust scale - 사분위수를 사용한 스케일링 (X - q2) / (q3 - q1) 예제) iris data set을 사용.. 이전 1 ··· 9 10 11 12 13 14 15 ··· 63 다음