분류 알고리즘분류(Classification)는 학습 데이터로 주어진 데이터의 피처와 레이블값을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 이렇게 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하는 것입니다.대표적인 분류 알고리즘들베이즈(Bayes) 통계와 생성 모델에 기반한 나이브 베이즈독립변수와 종속변수의 선형 관계성에 기반한 로지스틱 회귀(Logistic Regression)데이터 균일도에 따른 규칙 기반의 결정 트리(Decision Tree)개별 클래스 간의 최대 분류 마진을 효과적으로 찾아주는 서포트 벡터 머신(Support Vector Machine)근접 거리를 기준으로 하는 최소 근접(Nearest Neighbor) 알고리즘심층 연결 기반의 신경망(Neural Ne..
빅데이터 분석가 양성과정/Python - 머신러닝
import numpy as npimport pandas as pdimport matplotlib.pyplot as plt%matplotlib inlinefrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score, precision_score, recall_score, roc_auc_scorefrom sklearn.metrics import f1_score, confusion_matrix, precision_recall_curve, roc_curvefrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import Lo..
F1 ScoreF1 스코어(Score)는 정밀도와 재현율을 결합한 지표입니다. F1 스코어는 정밀도와 재현율이 어느 한쪽으로 치우치치 않는 수치를 나타낼 때 상대적으로 높은 값을 가집니다.만일 A 예측 모델의 경우 정밀도가 0.9, 재현율이 0.1로 극단적인 차이가 나고, B 예측 모델은 정밀도가 0.5, 재현율이 0.5로 정밀도와 재현율이 큰 차이가 없다면 A 예측 모델의 F1 스코어는 0.18이고, B예측 모델의 F1 스코어는 0.5로 B모델이 A 모델에 비해 매우 우수한 F1 스코어를 가지게 됩니다.사이킷런은 f1 score를 위해 f1_score() 함수를 제공합니다.from sklearn.metrics import f1_score f1 = f1_score(y_test , pred)print('F..
분류 (Classification)성능 평가 지표정확도(Accuracy) : 정답을 맞추는 것(맞은 것 맞다고 하고 틀린 것 틀렸다고 하는 것)오차행렬(Confusion Matrix)정밀도(Precision) : 내가 원하는 것을 맞추는 것재현율(Recall) : 내가 원하는 것을 이루어 내면 된다F1 스코어ROC AUC정확도 (Accuracy)정확도는 직관적으로 모델 예측 성능을 나타내는 평가 지표이다. 하지만 이진 분류의 경우 데이터의 구성에 따라 ML모델의 성능을 왜곡할 수 있기 때문에 정확도 수치 하나만 가지고 성능을 평가하지 않는다.특히 정확도는 불균형한(imbalanced) 레이블 값 분포에서 ML 모델의 성능을 판단할 경우, 적합한 평가 지표가 아니다.from sklearn.datasets ..
데이터 전처리Null 처리불필요한 속성 제거인코딩 수행모델 학습 및 검즘/예측/평가결정 트리, 랜덤 포레스트, 로지스틱 회귀 학습 비교K 폴드 교차 검증cross_val_score()와 GridSearchCV()수행 import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inlinetitanic_df = pd.read_csv('./titanic_train.csv')titanic_df.head(3) print('\\n ### train 데이터 정보 ### \\n')print(titanic_df.info())titanic_df['Age'].fillna(titanic_df['Age']...
실습붓꽃 데이터 불러오기from sklearn.datasets import load_irisfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.model_selection import train_test_splitimport pandas as pdiris = load_iris()iris_data = iris.datairis_label = iris.targetprint('iris target 값:', iris_label)print('iris target 명:', iris.target_names)iris_df = pd.DataFrame(data = iris_data, columns = iris.feature_names)iris_df['label'] = ..