Decision Tree 는 선택을 계속하는 기법입니다.
특정 조건이 주어졌을때 yes 또는 no 로 분기점을 내고 이러한과정을 반복합니다.
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# data read
df = pd.read_csv('../data/Social_Network_Ads.csv')
# set x y
X = df.iloc[:,[2,3]]
y=df['Purchased']
# feature scaling
from sklearn.preprocessing import MinMaxScaler
scaler_X = MinMaxScaler()
X=scaler_X.fit_transform(X)
# training / test
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.25 , random_state = 1 )
#modeling
from sklearn.tree import DecisionTreeClassifier
classifier = DecisionTreeClassifier(random_state=1)
classifier.fit(X_train,y_train)
# predict
y_pred = classifier.predict(X_test)
# 결과
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, y_pred)
from sklearn.metrics import accuracy_score
accuracy_score(y_test,y_pred)
위 사진과 같은 형식으로 나오게 된다.
Random Forest 는 위 dicision tree 를 강화한 기법이다.
# import lib
from sklearn.ensemble import RandomForestClassifier
# set model
classifier2 = RandomForestClassifier(n_estimators=100)
classifier2.fit(X_train,y_train)
# predict
y_pred2 = classifier2.predict(X_test)
# result
confusion_matrix(y_test, y_pred2)
accuracy_score(y_test,y_pred2)
트리와 거의 유사하게 나오나 조금 더 개선이 된 모습이다.
'개발 > 머신러닝' 카테고리의 다른 글
파이썬. 머신러닝 - Hierarchical_clusterning (0) | 2022.12.05 |
---|---|
파이썬. 머신러닝 - K-means, Elbow Method (0) | 2022.12.02 |
파이썬.머신러닝 - Grid Search (0) | 2022.12.02 |
파이썬. 머신러닝 - Support Vector Machine (0) | 2022.12.02 |
파이썬. 머신러닝 - K-NN (0) | 2022.12.02 |