전체 글

{학습 목적}Chapter 3 에서는 분류(Classification)에 사용되는 성능 평가 지표 중 0과 1로 결정값이 한정되는 이진 분류의 성능 평가 지표에 대해서 집중적으로 설명한다. 이를 학습하는 이유는 레이블 값이 불균형한 이진분류의 경우 정확도 만으로 머신러닝 모델의 예측성능을 평가할 수 없기 때문에 다양한 분류 성능 평가 지표를 학습하는 것이라고 생각한다.  먼저 분류의 성능 평가 지표부터 살펴보자정확도(Accuracy)오차행렬(Confusion Matrix)정밀도(Precision)재현율(Recall)F1 스코어ROC AUC 분류는 결정 클래스 값 종류에 따라 긍정/부정과 같은 2개의 결괏값만 가지는 이진 분류와 여러 개의 결정 클래스 값을 가지는 멀티 분류로 나눌 수 있다. 위에서 언급한..
이번 절에서는 캐글에서 제공하는 타이타닉 탑승자 데이터를 기반으로 생존자 예측을 사이킷런으로 수행해본다.  타이타닉 탑승자 데이터에 대해 개략적으로 살펴보자 passengerid: 탑승자 데이터 일련번호survived : 생존 여부, 0=사망, 1=생존pclass : 티켓의 선실 등급, 1=일등석, 2=이등석, 3=삼등석sex: 탑승자 성별name: 탑승자 이름Age : 탑승자 나이sibsp : 같이 탑승한 형제자매 또는 배우자 인원수parch: 같이 탑승한 부모님 또는 어린이 인원수ticket: 티켓번호fare: 요금cabin: 선실 요금embarked: 중간 정착 항구 C=Cherbourg, Q=Queenstown, S=Southampton 이번 예제에서는 시각화 패키지인 맷플롯립과 시본을 이용해 차..
{학습 목적}05. 파트에서는 데이터 전처리에 대해 학습한다. 이 파트를 학습하는 이유는 ML 알고리즘 만큼 중요한 것이 데이터 전처리이기 때문이다. ML알고리즘은 어떤 데이터를 입력으로 가지느냐에 따라 결과도 크게달라질 수 있기 때문에 알고리즘을 적용하기 전에 데이터를 처리하는 것은 중요하다.    사이킷런의 ML 알고리즘을 적용하기 전에 데이터에 대해 미리 처리해야 할 기본 사항이 있다.  1. 결손값, 즉 Null, NaN 값은 허용되지 않는다. 따라서 이러한 결손값은 고정된 다른 값으로 변환해야한다. 피처 값중 Null값이 얼마 되지 않는다면 피처의 평균값 등으로 간단히 대체될 수 있다. 하지만 Null 값이 대부분이라면 오히려 해당 피처는 드롭하는 것이 더 좋다. 가장 힘든 부분이 Null값이 ..
사이킷런의 model_selection 모듈은 학습 데이터와 테스트 데이터 세트를 분리하거나 교차 검증 분할 및 평가, 그리고 Estimator의 하이퍼 파라미터를 튜닝하기 위한 다양한 함수와 클래스를 제공한다.   [학습/테스트 데이터 세트 분리 - train_test_split()] 먼저 테스트 데이터를 이용하지 않고 학습 데이터 세트로만 학습하고 예측하면 어떤 문제가 생기는지 보자 from sklearn.datasets import load_iris #붓꽃 데이터 호출from sklearn.tree import DecisionTreeClassifier #tree 기반 머신러닝, DecisionTreeClassifier 호출 -> 분류 구현 클래스from sklearn.metrics import ac..
만서다