ML&DL&AI
-
ML 데이터 스케일링ML&DL&AI/ML 2023. 8. 30. 12:28
1. 데이터 스케일링 특성(Feature)들의 범위(range)를 정규화 해주는 작업 특성마다 다른 범위를 가지는 경우 머신러닝 모델들이 제대로 학습되지 않을 가능성이 있음 (KNN, SVM, Neural network 모델, Clustering 모델 등) 2. 데이터 스케일링 장점 설명 특성들을 비교 분석하기 쉽게 만들어 준다 Linear Model, Neural network Model 등에서 학습의 안정성과 속도를 개선 하지만 특성에 따라 원래 범위를 유지하는게 좋을 경우는 scaling을 하지 않아도 된다 3. 데이터 스케일링 종류 StandardScaler 변수의 평균,표준편차를 이용해 정규분포 형태로 변환 (평균 0, 분산 1) 이상치(Outlier)에 민감 RobustScaler 변수의 사분..
-
ML 모델 성능 평가(K-fold cross-validation, GridSearchCV)ML&DL&AI/ML 2023. 8. 21. 09:44
1. 모델 성능 평가 - 일반적인 경우 전체 데이터 100% Train Data 80% Test Data 20% - 데이터의 분할과 용도 전체 데이터 100% Train Data 60~70% Validation Data 15~20% Test Data 15~20% * 해결방안 : 검증 Data를 하나로 고정하지 않고 Test 데이터의 모든 부분을 사용 2. K-fold cross-validation Test 데이터를 k개의 그룹으로 나누기 K-1개의 그룹을 학습에 사용 나머지 1개의 그룹을 이용해서 평가 수행 2번, 3번 과정을 k번 반복 모든 결과의 평균을 구하기 - 장점과 단점 장점 모든 Test 데이터 셋을 평가에 활용할 수 있다. 평가에 사용되는 데이터 편중을 막을 수 있다. 특정 평가 데이터 셋에..
-
ML AdaBoost(Adaptive Boosting)ML&DL&AI/ML 2023. 8. 16. 10:15
1. AdaBoost(Adaptive Boosting) 랜덤포레스트처럼 의사 결정 트리 기반의 모델 각각의 트리들이 독립적으로 존재 X - 동작 순서 1. 첫번째 의사 결정 트리를 생성 위쪽 빨간 원이 3개 있는 곳을 대충 분류 2개의 빨간 원과 1개의 녹색 세모가 잘못 구분 2. 잘못된 2개의 빨간 원과 1개의 녹색 세모에 높은 가중치를 부여, 맞은것 (빨간 원 3개와 녹색 세모 4개)에는 낮은 가중치 부여 3. 가중치를 부여한 상태에서 다시 분류 시킴 잘못된 3개의 빨간 원에 높은 가중치를 부여하고 맞은 5개의 녹색 세모는 낮은 가중치를 부여 4. 가중치를 부여한 상태에서 다시 분류 시킴 5. 진행한 분류들을 결합 2. 사용 방법 learning_rata : 학습률 0~1 기본값 : 0.1 n_est..
-
앙상블(Ensemble) 모델ML&DL&AI/ML 2023. 8. 16. 09:20
1. 앙상블(Ensemble) 여러 개의 머신 러닝 모델을 연결하여 더 강력한 모델을 만드는 기법 - 앙상블 모델 방식 voting bagging boosting * boosting방식을 많이 사용한다. 2. Voting 방식 서로 다른 모델을 결합하여 투표를 통해 최종 예측 결과를 결정하는 방식 - 하드 보팅 vs 소프트 보팅 하드 보팅 예측한 결과값들 중 다수의 분류기가 결정한 예측한 값을 최종 보통 결과값으로 선정하는 방식 다수결의 윈칙이라고 생각 소프트 보팅 분류기들의 레이블 값 결정 확률을 모두다 더한 뒤, 평균 해서 확률이 가장 높은 레이블 값을 최종 보팅 결과값으로 선정 3. Bagging 방식 같은 알고리즘으로 여러개의 모델을 만들어서 투표를 통해 최종 예측, 결과를 결정하는 방식 ex) ..
-
ML Decision TreeML&DL&AI/ML 2023. 8. 14. 10:00
1. Decision Tree 란 스무고개 하듯이 예/아니오 질문을 반복하는 학습 특정 기준(질문)에 따라 데이터를 구분하는 모델 분류와 회귀에 모두 사용 가능 - 의사 결정 방향 불순도가 낮아지는 방향 불순도란? 정보 이론에서 얻을 수 있는 정보량의 정도를 뜻함. 하나의 범주 안에 여러종류의 데이터가 속해있으면 불순도가 높아진다. 데이터를 분기할 때 현재 노드보다 자식 노드의 불순도가 감소되도록 분기를 해야 된다. - Root Node, Decision Node, Leaf Node, depth, Sub Tree Root Node : 최상위 노드 Decision : 결정 노드 (사각형의 모양) Leaf Node : 자식이 없는 노드, 단말 노드 Depth : 자신을 제외한 조상의 노드의 개수 Sub tr..
-
KNN 실습 - 붓꽃(iris) 품종 구분하기ML&DL&AI/ML 2023. 8. 9. 13:56
1. 문제 정의 붓꽃 3가지 품종을 구분하는 모델 만들기 2. 데이터 수집 sklearn에서 제공하는 데이터 셋 이용 from sklearn.datasets import load_iris iris_data = load_iris() - 데이터 확인하기 iris_data.keys() dict_keys(['data', 'target', 'frame', 'target_names', 'DESCR', 'feature_names', 'filename', 'data_module']) data : 특성 데이터 (입력 데이터) 문제 데이터 target : 타깃 데이터(출력 데이터) 답지 데이터 DESCR : 데이터셋에 대한 설명 feature_names : 특성의 이름 target_names : 타깃 클래스의 이름 - 데..
-
ML KNN(최근접 이웃 알고리즘)란ML&DL&AI/ML 2023. 8. 8. 13:42
1. K-Nearest Neighbors(최근접 이웃 알고리즘) 유유상종의 개념과 유사하다 새로운 데이터 포인트와 가장 가까운 훈련 데이터셋의 데이터 포인트를 찾아 예측한다. K 값에 따라 가까운 이웃의 수가 결정된다. 분류와 회귀에 모두 사용 가능하다. 2. KNN 개념 정리 K 값이 작을수록 모델의 복잡도가 상대적으로 증가(noise 값에 민감) 반대로 K 값이 커질수록 모델의 복잡도가 낮아짐 100개의 데이터를 학습하고 K를 100개로 설정하여 예측하면 빈도가 가장 많은 클래스 레이블로 분류 > 과소 적합(안 좋은 분류 모델) 3. KNN의 거리 공식 4. KNN 장단점 및 키워드 n_neighbors : 이웃의 수 metrics : 유클리디안 거리 방식 새로운 테스트 데이터 세트가 들어오면, 훈련..
-
ML 일반화, 과대적합, 과소적합ML&DL&AI 2023. 8. 8. 13:30
- Machine Learning 모델 개략도 1. 일반화, 과대 적합, 과소 적합 모델의 신뢰도를 측정하고 성능을 확인하기 위한 개념 ex) 공에 대해서 설명하기 - 일반화(Generalization) 일반화 성능이 최대화되는 모델이 찾는 것이 목표이다. 훈련 세트로 학습한 모델이 테스트 데이터가 주어져도 정확히 예측할 거라 기대 훈련 세트에서 테스트 세트로 일반화가 되었다고 함 - 과대적합(Overfitting) 너무 상세하고 복잡한 모델링을 하여 훈련데이터에만 과도하게 정확히 동작하는 모델 훈련 세트에 너무 맞추어져 있어 테스트의 성능 저하 ex) 공에 대한 설명 - 그중에서 축구공만 설명 둥글게 생겼다. 오각형에 여러개 붙어있다. 검은새고가 흰색으로 구성된다. 반짝반짝 광이 난다. - 과소적합(U..