1. 분류(Classification)란? 분류는 학습 데이터로 주어진 데이터의 피처와 레이블값(결정 값, 클래스 값)을 머신러닝 알고리즘으로 학습해 모델을 생성하고 이렇게 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하게 된다. 2. 대표적인 분류 알고리즘 1) 베이즈(Bayes) 통계와 생성 모델이 기반한 나이브 베이즈(Naiïve Bayes) - 미리 발생한 사건들을 학습시킨 모델을 만든다. 그리고 새로운 데이터가 들어오게 되면 이전의 사건들을 기반으로 데이터가 어떤 행동을 할 지 예측한다. 2) 독립변수와 종속변수의 선형 관계성에 기반한 로지스틱 회귀(Logistic Regression) - 독립 변수와 종속 변수의 선형 관계를 기반으로 하여 종속변수가 이항(예: 성공/실..
분류 전체보기
1. 피마 인디어 당뇨병 데이터 분석 Kaggle에서 제공하는 피마 인디어 당뇨병 데이터셋을 이용하여 피마 인디언의 당뇨병 데이터를 분석하고 발병 확률과 평가수치를 적용하여 살펴본다. Kaggle에서 제공하는 피마 인디어 당뇨병 데이터셋을 다운로드한 후 데이터를 살펴보면 다음과 같다. Pregnancies: 임신 횟수 Glucose: 포도당 부하 검사 수치 BloodPressure: 혈압(mm Hg) SkinThickness: 팔 삼두근 뒤쪽의 피하지방 측정값(mm) Insulin: 혈청 인슐린(mu U/ml) BMI: 체질량지수(체중(kg)/(키(m))^2) DiabetesPedigreeFunction: 당뇨 내력 가중치 값 Age: 나이 Outcome: 클래스 결정 값(0또는 1) 768개의 데이터 ..
1. F1 Score란? F1 Score는 정밀도와 재현율을 결합한 지표이다. 정밀도와 재현율이 어느 한쪽으로 치우치치 않는 않을 때 상대적으로 높은 값을 가진다. F1 Score의 공식은 아래와 같다. F1 Score가 높을수록 더 좋은 모델이라고 판단할 수 있는 기준이 된다. 아래의 예시를 살펴보자 A 예측 모델과 B예측 모델이 있다. A 예측 모델의 정밀도는 0.9, 재현율은 0.1로 차이가 많이 나고 B 예측 모델은 정밀도가 0.5, 재현율은 0.5로 정밀도와 재현율이 큰 차이가 없다. 이 두 모델의 F1 Score을 계산해보면 A 예측 모델은 0.18, B 예측 모델은 0.5로 B 예측 모델이 더 우수한 F1 Score을 가지게 된다. 사이킷런에서는 F1 Score 계산을 위한 f1_score(..
<h3 class="tt-youtube-plugin" style="box-sizing: border-box; font-size: 16px; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif; border-right-width: 0px; word-spacing: 3px; border-bottom: #cccccc 2px solid; text-align: left; border-left: #55555b 10px solid; margin: 5px 0px; letter-spacing: 1px; line-height: 1.5; border-top-width: 0px; border-image: initial; pa..
<h3 class="tt-youtube-plugin" style="box-sizing: border-box; font-size: 16px; font-family: Arial, 돋움, Dotum, AppleGothic, sans-serif; border-right-width: 0px; word-spacing: 3px; border-bottom: #cccccc 2px solid; text-align: left; border-left: #55555b 10px solid; margin: 5px 0px; letter-spacing: 1px; line-height: 1.5; border-top-width:..
사이킷런을 이용하여 타이타닉의 생존자 예측, 교차검증 및 GridSearchCV를 통한 하이퍼파라미터를 찾아본다. 1.타이타닉 데이터 분석 및 전처리 Kaggle에서 제공하는 타이타닉 생존자 예측하기에 앞서 제공된 타이타닉 데이터를 탐색하고 분석해보자. 먼저 타이타닉 데이터를 불러오면 데이터 셋에는 승객의 정보, 생존에 대한 정보가 들어있다. import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline titanic_df = pd.read_csv('./titanic_train.csv') titanic_df.head(3) ▶ Out 각 필드는 다음과 같은 의미를 가진다..