목록2023/01/03 (15)
도찐개찐
의사결정트리 나무 모양의 그래프를 사용해서 최적의 결정을 돕는 분석기법 기회비용에 대한 고려, 기대 이익 계산, 위험 관리등 효율적인 결정이 필요한 많은 분야에 사용되고 있음 의사결정트리는 회귀,분류에 사용되지만 주로 분류에 많이 이용되고 있음 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import confusion_matrix from sklearn.metrics i..
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.metrics import roc_curve from sklearn.metrics import roc_auc_score 로지스틱 회귀 주로 분류를 하기 위한 알고리즘 예0/아니오1 등의 이진분류에 많이 사용 의료,통신,데이터마이닝 분야의 회귀/분류를 위한 예측모델로 활용 ### 선형회귀의 함정 # 특정 곤충질량에 따라 암수구분하는 모델 생성 X = np.array([1.94,1.67,0.92,1.11,1.41,1.65,2.28,0.47,1.07,2.19,2.08,1.02,0.91,1.16,1.46,1.02,0.85,0..
ROC Receiver Operation Characteristic 수신자 판단 곡선 세계 2차 대전 통신 장비 성능 평가를 위해 고안된 수치 레이더 데이터를 분석하여 적 항공기와 신호 소음을 구별하는 데 사용 수신기의 감도가 증가함에 따라 거짓 긍정의 수(즉, 특이성)이 감소함 의학분야에 많이 사용되지만, 머신러닝의 이진 분류 모델 예측 성능 평가에도 사용 ROC곡선의 y축은 '민감도TPR'를, x축은 '1-재현율FPR'로 그림 FPR : FP/(TN+FP) : 아군항공기 소리를 적항공기 소리라고 오판한 비율 - 낮아야 함 TPR : TP/(TP+FN) : 적항공기 소리를 적항공기 소리라고 잘판단한 비율 - 높아야 함 FPR이 변할때 TPR이 어떻게 변하는지 알아봄 모델이 양성/긍정으로 예측했을때 얼마..
머신러닝의 모델평가 일반적으로 머신러닝은 데이터 가공/변환(전처리) 모델 학습/예측 평가의 과정을 거침 앞의 타이타닉 예제에서 모델의 평가는 정확도만 사용했음 한편, 머신러닝의 예측성능의 평가방법은 다양함 회귀 - R^2, MSE평균제곱오차 분류 - 혼동(오차)행렬, 크로스엔트로피, 최대우도, ROC, AUC, F1스코어 정확도의 함정 앞의 타이타닉 생존자 ML예제의 정확도는 평균 80%였음 그런데 정확도 지표만으로 ML 모델의 성능을 파악하기에는 다소 문제가 있음 - 왜곡의 위험 즉, 탐색적 분석을 시행했을때 성별을 기준으로 생존비율은 여성일 때가 더 높았음 따라서, 굳이 ML 알고리즘을 적용하지 않아도 성별이 여성일 경우 생존, 남성일 경우 사망이라고 예측해도 크게 무리 없음 단순히 성별 조건 하나만..
import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn 데이터전처리 머신러닝 알고리즘을 익히는 것 못치 않게 데이터 전처리 역시 중요한 과정 중에 하나 무엇보다 머신러닝 알고리즘을 적용하기 전에 데이터에 대해 미리 처리해야 하는 기본사항이 존재 결측치 처리 NaN, Null은 허용되지 않음 원핫인코딩 머신러닝 알고리즘들은 문자열값을 데이터의 입력값으로 허용하지 않음 따라서, 모든 문자열값은 인코딩해서 숫자형으로 변환해둬야 함 한편, 텍스트 데이터들은 벡터화해서 처리 머신러닝을 위한 인코딩은 레이블인코딩 과 원핫인코딩 등이 있음 레이블 인코딩 범주형값을 숫자형값으로 변환함 from sklearn.preproc..
머신러닝으로 타이타닉 생존자 예측하기 다양한 머신러닝 알고리즘을 이용해서 교차검증 방식으로 모델을 훈련시키고 예측 정확도를 통해 평가해 봄 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn from sklearn.preprocessing import LabelEncoder from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import Rando..
훈련과 테스트 데이터 머신러닝 모델을 만들기 위해서 데이터집합이 필요 과적합을 방지하기 위해 데이터를 훈련/테스트 데이터로 나누고 교차검증 방식으로 모델을 만들어 성능을 평가함 훈련데이터 : 모델 추정및 학습이 목적 테스트데이터 : 모델 성능 평가가 목적 분할 비율은 7:3 또는 8:2로 설정 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn train/test 분할 없이 분석하는 경우 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accurac..