목록PYTHON (60)
도찐개찐
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/C0LDx/btrVhTxIXw7/3CqpVcK8qh22GGkwj7to90/img.png)
SVM support vector machine 분류나 회귀분석에 사용가능한 기법 분류쪽 성능이 뛰어나서 주로 분류에 많이 사용 신경망에 비해 간결해서 뛰어난 성능을 보여준 탓에 신경망에 암흑기를 가져다 준 대표적인 머신러닝 알고리즘 이미지 인식이나 필체패턴 인식과 같은 작업에 주로 사용 마진을 최대로 하는 결정경계를 찾는 것이 SVM의 주된 알고리즘 결정경계는 서로 다른 분류값을 결정짓는 경계 line, plane(2D), hyperplane(3D) 마진은 결정경계와 서포트벡터간의 거리를 의미 서포트벡터는 결정경계를 만드는데 영향을 주는 최전방 데이터 최적의 결정경계 찾기 빨간점과 노란점으로 구성된 집합을 적절히 구분하려고 할때 3개의 직선중 어느것이 가장 최적으로 분류한 것일까? 두 개의 데이터 집합..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5lShn/btrVaSG2Kgt/9L3dBZklcIgssZTV6Ik9iK/img.png)
KNN k 최근접 이웃(k-nearest neighbors) 알고리즘 머신러닝 분류에 자주 사용되는 대표 알고리즘 얼굴인식, 개인영화추천, 질병 유전자 패턴 식별에 활용 KNN의 K는 가장 가까운 이웃 '하나'가 아니고 훈련 데이터 중 새로운 데이터와 가장 가까운 k개의 이웃을 찾는다는 의미 즉, 하나의 관측값은 거리가 가까운 k개의 이웃 관측값들과 비슷한 특성을 갖는다고 가정함 거리를 구할때는 유클리드 거리, 맨해튼 거리, 코사인 유사도, 피어슨 상관계수등이 사용됨 따라서, K개 이웃의 목표변수 중 다수결로 가장 많은 범주에 속한 값을 결과로 반환 KNN 알고리즘에서는 k를 얼마로 설정하느냐에 따라 결과와 성능이 달라짐 k가 작으면 데이터의 범위가 좁아짐 - 과적합 위험 k가 크면 데이터의 범위가 넓어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dnqImQ/btrVf8hujwL/yLRmWMPC5EtNWFpndOzYwK/img.png)
나이브 베이즈 분석 조건부확률이 이용한 확률 기반 머신러닝 분류 알고리즘 주사위를 굴려 짝수눈이 나올 확률P은? 어떤 사건의 확률P = 원하는 결과수 / 가능한 결과수 모든 실험의 결과가 동일한 가능성을 가진다고 가정함 이를 고전적확률이라 함 상호배타적, 덧셈법칙, 여의법칙,덧셈의 일반법칙,곱셈법칙(독립사건),조건부확률 동전을 100회 던졌을때 앞면이 나오는 횟수는? 전통적 확률에서는 일어난횟수/전체시도횟수로 계산 이를 경험적확률이라 함 - 일정한 확률로 반복시행 시행횟수가 충분히 했을때 어떤 사건이 일어나는 상대적 횟수는 일정한 패턴을 보인다는 의미 대수의 법칙 만일, A 라는 도시에 수지가 태어난 경우, 이 아이가 노벨상을 받을 확률은 얼마나 될까? 이것을 경험적 확률로 계산하려면 이 아이를 여러 명..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Scc5k/btrVhUcdTBB/2E0zKBTaKL948pW61BslH1/img.png)
엔트로피entropy 물리 열역학의 관점에서의 정의 물질의 열적 상태를 나타내는 물리량의 하나 보통 무질서도라고 함 엔트로피가 높으면 무질서도 증가 통계적 관점에서의 정의 정보이득information gain의 혼잡도 엔트로피가 높으면 정보이해가 어려워 짐 학습데이터는 기본적으로 혼잡한 상태임 따라서, 어떤 조건으로 분류해야만 전체 혼잡도가 개선되는지 계산 정리한 결과에 대해 다시 계산해서 처리를 반복 적용함 즉, 정보의 불확실성을 수치로 나타낸 것을 의미 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MSrtc/btrU6XveIeX/WBUC8dX5s7twYJSYqbllHk/img.png)
의사결정트리 나무 모양의 그래프를 사용해서 최적의 결정을 돕는 분석기법 기회비용에 대한 고려, 기대 이익 계산, 위험 관리등 효율적인 결정이 필요한 많은 분야에 사용되고 있음 의사결정트리는 회귀,분류에 사용되지만 주로 분류에 많이 이용되고 있음 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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNKDra/btrU9eKd4j4/mpw5de0adG6i7tOPrebg0k/img.png)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wm2AL/btrVclCFZRj/kFn0cMmGMFjMdo2NttRwv0/img.png)
ROC Receiver Operation Characteristic 수신자 판단 곡선 세계 2차 대전 통신 장비 성능 평가를 위해 고안된 수치 레이더 데이터를 분석하여 적 항공기와 신호 소음을 구별하는 데 사용 수신기의 감도가 증가함에 따라 거짓 긍정의 수(즉, 특이성)이 감소함 의학분야에 많이 사용되지만, 머신러닝의 이진 분류 모델 예측 성능 평가에도 사용 ROC곡선의 y축은 '민감도TPR'를, x축은 '1-재현율FPR'로 그림 FPR : FP/(TN+FP) : 아군항공기 소리를 적항공기 소리라고 오판한 비율 - 낮아야 함 TPR : TP/(TP+FN) : 적항공기 소리를 적항공기 소리라고 잘판단한 비율 - 높아야 함 FPR이 변할때 TPR이 어떻게 변하는지 알아봄 모델이 양성/긍정으로 예측했을때 얼마..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bJ72bg/btrVe5eq89F/EyhPICNLbLcQftR9bz6r50/img.png)
머신러닝의 모델평가 일반적으로 머신러닝은 데이터 가공/변환(전처리) 모델 학습/예측 평가의 과정을 거침 앞의 타이타닉 예제에서 모델의 평가는 정확도만 사용했음 한편, 머신러닝의 예측성능의 평가방법은 다양함 회귀 - R^2, MSE평균제곱오차 분류 - 혼동(오차)행렬, 크로스엔트로피, 최대우도, ROC, AUC, F1스코어 정확도의 함정 앞의 타이타닉 생존자 ML예제의 정확도는 평균 80%였음 그런데 정확도 지표만으로 ML 모델의 성능을 파악하기에는 다소 문제가 있음 - 왜곡의 위험 즉, 탐색적 분석을 시행했을때 성별을 기준으로 생존비율은 여성일 때가 더 높았음 따라서, 굳이 ML 알고리즘을 적용하지 않아도 성별이 여성일 경우 생존, 남성일 경우 사망이라고 예측해도 크게 무리 없음 단순히 성별 조건 하나만..