๐Ÿ“Š ํ†ต๊ณ„ํ•™ & ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ก

240206 TUE ๋จธ์‹ ๋Ÿฌ๋‹ ์‹ฌํ™” - ํšŒ๊ท€, ๋ถ„๋ฅ˜ ๋ชจ๋ธ

ํ–‰ํŒฝ 2024. 2. 6. 20:06

 

 

1. ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด (Decision Tree, DT)

์˜์‚ฌ๊ฒฐ์ •๊ทœ์น™์„ ๋‚˜๋ฌด ๊ตฌ์กฐ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ์ „์ฒด ์ž๋ฃŒ๋ฅผ ๋ช‡ ๊ฐœ์˜ ์†Œ์ง‘๋‹จ์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ฑฐ๋‚˜ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ถ„์„ ๋ฐฉ๋ฒ•

 

โœ… ํŠน์ง•

์žฅ์  ์‰ฝ๊ณ  ํ•ด์„ํ•˜๊ธฐ ์šฉ์ด
๋‹ค์ค‘๋ถ„๋ฅ˜, ํšŒ๊ท€ ๋ชจ๋‘ ์ ์šฉ ๊ฐ€๋Šฅ
์ด์ƒ์น˜์— ๊ฒฌ๊ณ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์Šค์ผ€์ผ๋ง์ด ๋ถˆํ•„์š” *๋ฐ์ดํ„ฐ์˜ ์ƒ๋Œ€์  ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์—ฌ
๋‹จ์  ๋‚˜๋ฌด๊ฐ€ ์„ฑ์žฅ์„ ๋„ˆ๋ฌด ๋งŽ์ด ํ•˜๋ฉด ๊ณผ๋Œ€ ์ ํ•ฉ์˜ ์˜ค๋ฅ˜์— ๋น ์งˆ ์ˆ˜ ์žˆ์Œ
ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์— ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•˜์—ฌ ์ž‘์€ ๋ณ€ํ™”๋‚˜ ๋…ธ์ด์ฆˆ์—๋„ ๋‚˜๋ฌด์˜ ๊ตฌ์กฐ๊ฐ€ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง (๋ถˆ์•ˆ์ •์„ฑ)
ํŒŒ์ด์ฌ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
sklearn.tree.DecisionTreeClassifier
sklearn.tree.DecisionTreeRegressor

 

 

โœ… ์šฉ์–ด (+์˜ˆ์‹œ)

ํƒ€์ดํƒ€๋‹‰ ์˜ˆ์‹œ

 

  • ๋ฃจํŠธ ๋…ธ๋“œ(Root Node): ์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด์˜ ์‹œ์ž‘์ . ์ตœ์ดˆ์˜ ๋ถ„ํ• ์กฐ๊ฑด
  • ๋ฆฌํ”„ ๋…ธ๋“œ(Leaf Node): ๋ฃจํŠธ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋œ ์ค‘๊ฐ„ ํ˜น์€ ์ตœ์ข… ๋…ธ๋“œ
  • ๋ถ„๋ฅ˜๊ธฐ์ค€(criteria): sex๋Š” ์—ฌ์„ฑ์ธ ๊ฒฝ์šฐ 0, ๋‚จ์„ฑ์ธ ๊ฒฝ์šฐ 1๋กœ ์ธ์ฝ”๋”ฉ. ์—ฌ์„ฑ์ธ ๊ฒฝ์šฐ ์ขŒ์ธก ๋…ธ๋“œ๋กœ, ๋‚จ์„ฑ์ธ ๊ฒฝ์šฐ ์šฐ์ธก ๋…ธ๋“œ๋กœ ๋ถ„๋ฅ˜
  • ๋ถˆ์ˆœ๋„(impurity)
    • ๋ถˆ์ˆœ๋„ ์ธก์ • ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜ ์ธ ์ง€๋‹ˆ ๊ณ„์ˆ˜๋Š” 0๊ณผ 1์‚ฌ์ด ๊ฐ’์œผ๋กœ 0์ด ์™„๋ฒฝํ•œ ์ˆœ๋„(๋ชจ๋“  ์ƒ˜ํ”Œ์ด ํ•˜๋‚˜์˜ ํด๋ž˜์Šค), 1์€ ์™„์ „ํ•œ ๋ถˆ์ˆœ๋„(๋…ธ๋“œ์˜ ์ƒ˜ํ”Œ์˜ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„ํฌ) ๋จ์„ ๋‚˜ํƒ€๋ƒ„
    • ๋ฆฌํ”„ ๋…ธ๋“œ๋กœ ๊ฐˆ์ˆ˜๋ก ๋ถˆ์ˆœ๋„๊ฐ€ ์ž‘์•„์ง€๋Š”(ํ•œ์ชฝ์œผ๋กœ ํด๋ž˜์Šค๊ฐ€ ๋ถ„๋ฅ˜๊ฐ€ ์ž˜๋˜๋Š”)๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜๋ฌด๊ฐ€ ์ž๋žŒ
  • ์ƒ˜ํ”Œ(samples): ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ƒ˜ํ”Œ ๊ฐœ์ˆ˜(891๊ฐœ์˜ ๊ด€์ธก์น˜)
  • ๊ฐ’(value): Y๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฐฐ์—ด. 549๋ช…์ด ์ฃฝ์—ˆ๊ณ (Y = 0), 342๋ช…์ด ์‚ด์•˜์Œ(Y = 1)
  • ํด๋ž˜์Šค(class)
    • ๊ฐ€์žฅ ๋งŽ์€ ์ƒ˜ํ”Œ์„ ์ฐจ์ง€ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ํ‘œํ˜„
    • ์œ„์—์„œ๋Š” ์ฃผํ™ฉ์ƒ‰(Y = 0 ๋‹ค์ˆ˜), ํŒŒ๋ž€์ƒ‰(Y=1 ๋‹ค์ˆ˜)๋ฅผ ํ‘œํ˜„

 

 

โœ… ์‹ค์Šต

import pandas as pd 
import matplotlib.pyplot as plt 
from sklearn.preprocessing import LabelEncoder 
from sklearn.tree import DecisionTreeClassifier, plot_tree

titanic_df = pd.read_csv('C:/Users/Downloads/vscode/ML/titanic/train.csv')

# Pclass, Sex: LabelEncoder
# Age: ๊ฒฐ์ธก์น˜ ์žˆ์œผ๋ฏ€๋กœ ํ‰๊ท ์œผ๋กœ ๋Œ€์น˜

X_features = ['Pclass', 'Sex', 'Age']

le = LabelEncoder()
titanic_df['Sex'] = le.fit_transform(titanic_df['Sex'])

le2 = LabelEncoder()
titanic_df['Pclass'] = le.fit_transform(titanic_df['Pclass'])

age_mean = titanic_df['Age'].mean()
titanic_df['Age'] = titanic_df['Age'].fillna(age_mean)

x = titanic_df[X_features]
y = titanic_df['Survived']

# ์ผ๊ด€๋œ ํ‰๊ฐ€๋ฅผ ์œ„ํ•œ random_state ๊ณ ์ •: random_state = 42
model_dt = DecisionTreeClassifier(max_depth = 1)
model_dt.fit(x, y)

plt.figure(figsize = (10, 5))

plot_tree(model_dt, feature_names = X_features, class_names = ['Not Survived', 'Survived'], filled = True)
plt.show()

 

 

 

2. ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ (Random Forest, RF)

์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด์˜ ๊ณผ์ ํ•ฉ๊ณผ ๋ถˆ์•ˆ์ •์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜๋ฌด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค์–ด ์ˆฒ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ

 

โœ… ๋ฐฐ๊น…(Bagging)์˜ ์›๋ฆฌ

๋จธ์‹ ๋Ÿฌ๋‹์€ ์–ธ์ œ๋‚˜ ๋ฐ์ดํ„ฐ์˜ ๋ถ€์กฑ์ด ๋ฌธ์ œ

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ Bootstrapping + Aggregating ๋ฐฉ๋ฒ•๋ก 

  • Bootstrapping: ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์› ์ถ”์ถœํ•ด์„œ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ง‘๋‹จ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ
  • Aggregating: ๋ฐ์ดํ„ฐ์˜ ์˜ˆ์ธก,๋ถ„๋ฅ˜ ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์น˜๋Š” ๊ฒƒ
  • Ensemble: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋ธ์„ ๋งŒ๋“ค์–ด ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์น˜๋Š” ๊ฒƒ

 

 

โœ… Tree๋ฅผ Forest๋กœ ๋งŒ๋“ค๊ธฐ

์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ์—์„œ ๊ฐ์ž ์˜์‚ฌ๊ฒฐ์ •ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋‹ค์ˆ˜๊ฒฐ ๋ฒ•์น™์— ๋”ฐ๋ผ ๊ฒฐ๋ก ์„ ๋ƒ„

ex) 1๋ฒˆ ์Šน๊ฐ์— ๋Œ€ํ•ด์„œ ๋ชจ๋ธ 2๊ฐœ๋Š” ์ƒ์กด, ๋ชจ๋ธ 1๊ฐœ๋Š” ์‚ฌ๋ง์„ ๋ถ„๋ฅ˜ํ•˜์˜€๋‹ค๋ฉด, 1๋ฒˆ ์Šน๊ฐ์€ ์ตœ์ข…์ ์œผ๋กœ ์ƒ์กด์œผ๋กœ ๋ถ„๋ฅ˜

 

์˜์‚ฌ๊ฒฐ์ •๋‚˜๋ฌด์˜ ์žฅ์ ์€ ์ˆ˜์šฉํ•˜๊ณ  ๋‹จ์ ์€ ๋ณด์™„

โžก๏ธ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ต‰์žฅํžˆ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์„œ ์ง€๊ธˆ๋„ ์ž์ฃผ ์“ฐ์ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

 

โœ… ํŠน์ง•

์žฅ์  Bagging ๊ณผ์ •์„ ํ†ตํ•ด ๊ณผ์ ํ•ฉ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Œ
์ด์ƒ์น˜์— ๊ฒฌ๊ณ ํ•˜๋ฉฐ, ,๋ฐ์ดํ„ฐ ์Šค์ผ€์ผ๋ง์ด ๋ถˆํ•„
๋ณ€์ˆ˜ ์ค‘์š”๋„๋ฅผ ์ถ”์ถœํ•˜์—ฌ ๋ชจ๋ธ ํ•ด์„์— ์ค‘์š”ํ•œ ํŠน์ง•์„ ํŒŒ์•… ๊ฐ€๋Šฅ
๋‹จ์  ์ปดํ“จํ„ฐ ๋ฆฌ์†Œ์Šค ๋น„์šฉ์ด ํผ (๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ)
์•™์ƒ๋ธ” ์ ์šฉ์œผ๋กœ ํ•ด์„์ด ์–ด๋ ค
ํŒŒ์ด์ฌ
ํŒจํ‚ค์ง€
sklearn.ensemble.RandomForestClassifer
sklearn.ensemble.RandomForestRegressor

 

 

โœ… ์‹ค์Šต

from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, f1_score

model_lor = LogisticRegression()
model_dt = DecisionTreeClassifier()
model_rf = RandomForestClassifier()

model_lor.fit(x, y)
model_dt.fit(x, y)
model_rf.fit(x, y)

y_lor_pred = model_lor.predict(x)
y_dt_pred = model_dt.predict(x)
y_rf_pred = model_rf.predict(x)

def get_score(model_name, y_true, y_pred):
    acc = accuracy_score(y_true, y_pred)
    f1 = f1_score(y_true, y_pred)
    print(model_name, ')', 'acc ์Šค์ฝ”์–ด: ', acc, ',', 'f1 ์Šค์ฝ”์–ด: ', f1)


get_score('lor', y, y_lor_pred)
get_score('dt', y, y_dt_pred)
get_score('rf', y, y_rf_pred)

 

 

 

3. ์ตœ๊ทผ์ ‘ ์ด์›ƒ (K-Nearest Neighbor, KNN)

์ฃผ๋ณ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ๋‚ด๊ฐ€ ์•Œ๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ์‹

ํ™•์ธํ•  ์ฃผ๋ณ€ ๋ฐ์ดํ„ฐ K๊ฐœ๋ฅผ ์„ ์ • ํ›„์— ๊ฑฐ๋ฆฌ ๊ธฐ์ค€์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์€ ๊ฒƒ์œผ๋กœ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ ์›๋ฆฌ

  • K=3์ด๋ผ๋ฉด, ๋ณ„ 1๊ฐœ์™€ ์„ธ๋ชจ 2๊ฐœ์ด๋ฏ€๋กœ ? ๋Š” ์„ธ๋ชจ๋กœ ์˜ˆ์ธก๋  ๊ฒƒ
  • K=7์ด๋ผ๋ฉด, ๋ณ„ 4๊ฐœ์™€ ์„ธ๋ชจ 3๊ฐœ์ด๋ฏ€๋กœ ?๋Š” ๋ณ„๋กœ ์˜ˆ์ธก๋  ๊ฒƒ

 

 

โœ… ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ

  • ํŒŒ๋ผ๋ฏธํ„ฐ(Parameter): ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ํ•™์Šต ๊ณผ์ •์—์„œ ์ถ”์ •ํ•˜๋Š” ๋‚ด๋ถ€ ๋ณ€์ˆ˜์ด๋ฉฐ ์ž๋™์œผ๋กœ ๊ฒฐ์ • ๋˜๋Š” ๊ฐ’
    • ex) ์„ ํ˜•ํšŒ๊ท€์—์„œ ๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ
    • (โ›” ์ฃผ์˜์‚ฌํ•ญ) Python์—์„œ๋Š” ํ•จ์ˆ˜ ์ •์˜์—์„œ ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ธ์ž(์ž…๋ ฅ ๊ฐ’)๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฐœ๋…
  • ํ•˜์ดํผ ํŒŒ๋ผ๋ฏธํ„ฐ(Hyper parameter): ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž๊ฐ€ ๊ธฐ๊ณ„ ํ•™์Šต ๋ชจ๋ธ ํ›ˆ๋ จ์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์™ธ๋ถ€ ๊ตฌ์„ฑ๋ณ€์ˆ˜์ด๋ฉฐ ๋ชจ๋ธ ํ•™์Šต๊ณผ์ •์ด๋‚˜ ๊ตฌ์กฐ์— ์˜ํ–ฅ์„ ๋ฏธ์นจ

 

 

โœ… ๊ฑฐ๋ฆฌ์˜ ๊ฐœ๋…

  • ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ(Euclidean Distance): ๋‘ ์ ์˜ ์ขŒํ‘œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ํ”ผํƒ€๊ณ ๋ผ์Šค์˜ ์ •๋ฆฌ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•จ
    • ํ‘œ์ค€ํ™” ํ•„์ˆ˜

 

 

โœ… ํŠน์ง•

์žฅ์  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ์ง๊ด€์ 
๋ชจ์ง‘๋‹จ์˜ ๊ฐ€์ •์ด๋‚˜ ํ˜•ํƒœ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์Œ
ํšŒ๊ท€, ๋ถ„๋ฅ˜ ๋ชจ๋‘ ๊ฐ€๋Šฅ
๋‹จ์  ์ฐจ์› ์ˆ˜๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก ๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์•„์ง
๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”ผ์ฒ˜์˜ ํ‘œ์ค€ํ™”๊ฐ€ ํ•„์š”ํ•จ
ํŒŒ์ด์ฌ
๋ผ์ด๋ธŒ๋Ÿฌ
sklearn.neighbors.KNeighborsClassifier
sklearn.neighbors.KNeighborsRegressor

 

 

 

4. ๋ถ€์ŠคํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜

์—ฌ๋Ÿฌ ๊ฐœ์˜ ์•ฝํ•œ ํ•™์Šต๊ธฐ(weak learner)๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•™์Šตํ•˜๋ฉด์„œ, ์ž˜๋ชป ์˜ˆ์ธกํ•œ ๋ฐ์ดํ„ฐ์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ๊ฐœ์„ ํ•ด๋‚˜๊ฐ€๋Š” ํ•™์Šต ๋ฐฉ์‹

๋นจ๊ฐ„์ƒ‰๊ณผ ์ดˆ๋ก์ƒ‰์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฌธ์ œ

 

 

 โœ… ์ข…๋ฅ˜

  Gradient Boosting Model XGBoost LightGBM
ํŠน์ง• ๊ฐ€์ค‘์น˜ ์—…๋ฐ์ดํŠธ๋ฅผ
๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ํ†ตํ•ด ์ง„ํ–‰
ํŠธ๋ฆฌ๊ธฐ๋ฐ˜ ์•™์ƒ๋ธ” ๊ธฐ๋ฒ• XGBoost์™€ ํ•จ๊ป˜
๊ฐ€์žฅ ๊ฐ๊ด‘๋ฐ›๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
๊ฐ€์žฅ ๊ฐ๊ด‘๋ฐ›์œผ๋ฉฐ
Kaggle์˜ ์ƒ์œ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜
XGBoost๋ณด๋‹ค ํ•™์Šต์‹œ๊ฐ„์ด
์งง๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ž‘์Œ
๋ณ‘๋ ฌํ•™์Šต์ด ๊ฐ€๋Šฅํ•ด ์†๋„๊ฐ€ ๋น ๋ฆ„ ์ž‘์€ ๋ฐ์ดํ„ฐ(10,000๊ฑด ์ดํ•˜)์˜ ๊ฒฝ์šฐ ๊ณผ์ ํ•ฉ ๋ฐœ์ƒ
ํŒŒ์ด์ฌ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
sklearn.ensemble.GradientBoostingClassifier xgboost.XGBRegressor lightgbm.LGBMClassifier
sklearn.ensemble.GradientBoostingRegressor xgboost.XGBRegressor lightgbm.LGBMRegressor

* ์กฐ์ ˆํ•  ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์€ ๋“ฑ์˜ ์ด์œ ๋กœ, ์ด๋ก ์— ๋Œ€ํ•ด ์ž˜ ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ

 

 

 

5. ์‹ค์Šต ๋น„๊ต

from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import GradientBoostingClassifier
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier

model_knn = KNeighborsClassifier()
model_gbm = GradientBoostingClassifier(random_state=42)
model_xgb = XGBClassifier(random_state=42)
model_lgb = LGBMClassifier(random_state=42)

model_knn.fit(x, y)
model_gbm.fit(x, y)
model_xgb.fit(x, y)
model_lgb.fit(x, y)

y_knn_pred = model_knn.predict(x)
y_gbm_pred = model_gbm.predict(x)
y_xgb_pred = model_xgb.predict(x)
y_lgb_pred = model_lgb.predict(x)

get_score('lor', y, y_lor_pred)
get_score('dt', y, y_dt_pred)
get_score('rf', y, y_rf_pred)
get_score('knn', y, y_knn_pred)
get_score('gbm', y, y_gbm_pred)
get_score('xgb', y, y_xgb_pred)
get_score('lgb', y, y_lgb_pred)

 

ํŒŒ์ด์ฌ ํšŒ๊ท€ ๋ถ„๋ฅ˜ ๋ชจ๋ธ๋ง ์‹ค์Šต

HTML ์‚ฝ์ž… ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์—†๋Š” ์†Œ์Šค

heleownae.tistory.com