Data Analysis/Machine Learning7 Python_ML_Supervised_Decision Tree 의사결정나무(DecisionTree) 데이터를 분류할때 특정 기준에 따라 "예" / "아니오"로 답할 수 있는 질문을 이어 나가면서 학습 원본데이터에서 계속 규칙을 만들면서 가지치기 함 따라서 결정트리를 이용한 예측결과는 분류 규칙이 명확해서 해석이 쉬움 독립변수와 종속변수에 연속형, 명목형 변수를 모두 사용 가능 선형성, 정규성 등의 가정이 필요하지 않음 구분 내용 장점 - 모델을 쉽게 설명할 수 있고 시각화 하기 편함 - 이상치, 전처리 등에 모델의 성능이 크게 영향을 받지 않음 - 정규화나 표준화 등의 전처리를 요구하지 않음 단점 - 복잡도를 제어하더라도 과대적합의 가능성이 높아 일반화 성능이 우수하지 않음(이를 해결하기 위해 앙상블 기법 제안) [생성] 학습의 의미: 정답에 가장 빨리 도달하는 질.. 2024. 3. 1. Python_ML_Supervised_KNN KNN(K-최근접이웃) KNN은 유사한 특징을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정으로 데이터를 분류 새로운 데이터가 등장하면 가장 가까운 k개(학습데이터)의 데이터를 찾음 찾은 데이터를 통해 새로운 데이터를 레이블링 비모수적인 방식을 사용하기 때문에 결정경계가 불규칙한 분류 상황에서 종종 예측성능이 좋음 [KNN 분류] 새로운 데이터를 레이블링 하기 위해 주로 유클리디안 거리를 주로 사용 경계가 뚜렷하지 않은 특징은 noise로 간주(노이즈를 고려한 파라미터 k를 설정해야함) 예시 1) kaggle 간질환자 데이터 데이터정의 전처리 liver.info() #결측치확인 liver.isnull().sum() / liver.shape[0] #결측치 제거: 수가 적으므로 liver.dropn.. 2024. 2. 28. Python_ML_Supervised_SVM 서포트벡터머신(SVM: Support Vector Machine) 새로운 데이터가 입력되었을때, 기존데이터를 활용해 분류하는 방법 SVM은 최대마진분류기(Maximal Margin Classifier)를 일반화 한 것 최대마진분류기의 단점을 보완한 것이 SVC(Support Vector Classifier) SVC를 더 확장하고 비선형 클래스 경계를 수용하기 위해 SVM고안 [최대마진분류기] 초평면(Hyperplane) p차원인 공간에서 (p-1)차원인 평평한 부분공간 ex) 2차원일 경우 초평면은 1차원인 선이 되고, 3차원일 경우 초평면은 2차원인 면이 됨 데이터를 두 공간으로 나눌 수 있는 초평면은 무한개 무한개의 초평면 중 어느것을 최종으로 사용할지 결정해야 함 마진(Margin) 데이터에서 초평.. 2024. 1. 3. Python_ML_Supervised_Multiple Regression 다중회귀(Multiple Regression) 독립변수가 여러개 있는 회귀분석을 의미 여러개의 독립변수가 종속변수에 영향을 미치는 경우 다중회귀모형으로 데이터 표현 가능 $$ \widehat{Y}= \sum_{i=1}^n\beta_ix_i $$ 최적의 모델을 결정하기 위해 다양한 방법으로 변수를 선택 모델이 복잡해지면 과대적합이 발생할 가능성이 있어 다양한 규제를 적용해 가중치를 제한 변수선택법을 통한 다항회귀 모델 다중선형모델의 성능을 높이기 위해 독립변수의 부분집합을 선택하는 방법 전진선택법과 후진선택법으로 나뉨 통계 기법에서 사용됨 구분 내용 전진선택법 단순 선형회귀에서 변수를 하나씩 추가 가며 모델의 정확도 높이는 방법 후진제거법 모든 변수 추가하고 유의하지 않은 변수들 제거하며 모델의 성능을 높.. 2024. 1. 2. 이전 1 2 다음