728x90 반응형 Python110 [복습] Python | 분석 | 이미지 인식 (1) + 하루끝(20240205) - 이미지 하나는 2차원, 이미지 집합은 3차원 - 이미지 집합을 이미지 형태 그대로 학습시키려면 3차원 학습이 가능해야 함 > 머신 러닝 불가 - 머신러닝으로 학습 시키려면, 머신러닝용 reshape > 이미지를 모두 1차원으로 평탄화 - (집합 기준) 3차원 학습이 가능한 신경망 모델을 적용해야 함 예제 - mnist 손글씨(숫자) 분류 1. 데이터 로딩 pip install tensorflow pip install keras 층, 행, 열 순서로, train_x의 경우 6만개의 이미지 set이 28X28 픽셀 사이즈로 존재한다는 의미이다. test_x의 경우 1만개의 이미지 set이 28X28 픽셀 사이즈로 존재한다. train_x의 첫 번째 손글씨 값이 5라는 것을 확인할 수 있다. 실제 RGB .. 2024. 2. 11. [복습] Python | 분석 | 교차검증(CV, Cross Validation) 교차검증 개념: 모델의 일반화 오차에 대한 신뢰할 만한 추정치를 구하기 위해 훈련, 평가 데이터를 기반으로 하는 검증 기법 교차 검증 목적: 평가 점수의 일반화( = 오차의 일반화 규칙), 평가 점수의 신뢰도 향상 분석 모형에 따른 평가 지표 교차 검증 종류 - 홀드 아웃 교차 검증 - 다중 교차 검증 * 랜덤 서브 샘플링 * K-Fold Cross Validation * Leave-One_Out Cross Validation(LOOCV) * Leave-p-Out Cross Validation(LpOCV) * RLT(Repeated Learning-Testing) * 부트스트랩 다중 교차 검증 방식의 장점은 데이터 셋이 늘어난 다는 것이지만, 시간이 오래 걸린다는 단점이 있다. 홀드 아웃 교차 검증 - .. 2024. 2. 11. [복습] Python | 분석 | knn(거리기반 모델) knn(k-nearest neighbors) - 거리기반 모델 - 스케일링에 민감 - 이상치에 매우 민감 - 선택된 변수의 조합에 영향을 많이 받음(선택된 변수의 조합 중요) - 수치형 변수 구성 시 가장 유리(명목형 변수는 knn과 어울리지 않음) - 게으른 학습 knn은 다른 모델들과는 다르게 fit 할 때 아무것도하지 않는다. 궁금한 대상이 등장하면 그 때 계산을 하기 시작한다. 즉 predict 할 때 궁금한 대상과 나머지 대상과의 거리를 계산하기 시작한다는 의미이다(kmeans와 헷갈리지 말 것). 10만건의 데이터가 있고 predict 데이터가 3000건이면 10만 곱하기 3000건의 거리가 계산된다. 따라서 fitting 할 때 부하가 크지 않고 predict 할 때 부하가 크다. 결론적으로.. 2024. 2. 11. [복습] 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) 평가 차원축소는 변수를 탈락시키는 것.. 2024. 2. 10. [복습] Python | 분석 | 차원축소(PCA, MDS) (1) + 하루끝(20240202) 차원축소(변수 결합으로 새로운 인공변수를 유도하는 방식) 1. 정의: 기존 변수들의 선형 결합으로 고차원 데이터를 저차원 데이터로 매핑(평탄화) 2. 활용: 시각화, 변수 결합, 차원축소(단순한 모델로 만들기 위한 방법 중 하나) 종류 1. PCA - 기존 데이터가 가지고 있는 분산은 최대한 유지하면서 차원 축소 - 분산 설명력으로 차원에 대한 최종 결정(몇 차원으로 선정할 지 결정) 변수들에 가중치를 부여해서 결합하는 방식을 가중합(=선형결합)이라고 한다. C1 = a1X1 + a2X2 + a3X3 + a4X4 이 때 기존 변수의 선형결합으로 차원을 축소하는 방법은 비지도학습이다. 변수의 변형이기 때문이다. 이에 따라 변수 스케일링도 비지도 학습이다. y가 불필요한 변수변환 기법이기 때문이다. 그래서 .. 2024. 2. 9. [복습] 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) 스케.. 2024. 2. 9. 이전 1 2 3 4 5 6 7 8 ··· 19 다음 728x90 반응형