14๋ฒ
๋ค์์ ๊ธฐ์ ์์ ์์ฑ๋ ์ฃผ๋ฌธ ๋ฐ์ดํฐ์ด๋ค. 80,009๊ฑด์ ๋ฐ์ดํฐ์ ๋ํ์ฌ ์ ์ ๋์ฐฉ๊ฐ๋ฅ ์ฌ๋ถ ์์ธก ๋ชจ๋ธ์ ๋ง๋ค๊ณ , ํ๊ฐ ๋ฐ์ดํฐ์ ๋ํ์ฌ ์ ์๋์ฐฉ ๊ฐ๋ฅ ์ฌ๋ถ ์์ธก ํ๋ฅ ์ ๊ธฐ๋กํ csv๋ฅผ ์์ฑํ์์ค.
ํ์ด
1. ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
import pandas as pd
data=pd.read_csv("Train.csv")
2. ๋ฐ์ดํฐ ํ์ ํ์ธํ๊ธฐ
print(data.info())
3. x,y ์ปฌ๋ผ ๋๋ ์ ์ ์ฅ
X=data.drop('Reached.on.Time_Y.N', axis=1)
y=data[['Reached.on.Time_Y.N']]
4. ๋๋ฏธ ๋ณํ
X=pd.get_dummies(X)
5. train/test ๋ถ๋ฆฌ
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test=train_test_split(X, y, stratify=y, random_state=42)
6. ์ ๊ทํ
~fit~
from sklearn.preprocessing import MinMaxScaler
minmax=MinMaxScaler()
minmax.fit(X_train)
~transform~
minmax_X_train=minmax.transform(X_train)
minmax_X_test=minmax.transform(X_test)
7. valid ์์ฑ
X_train_, X_valid, y_train_, y_valid = train_test_split(minmax_X_train, y_train, stratify=y_train, random_state=42, test_size=0.2)
8. ๋ชจ๋ธ์์ฑ-๋๋คํฌ๋ ์คํธ
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier(random_state=42, n_estimators=100, max_depth=10)
model.fit(X_train_, y_train_.values.ravel())
pred_train=model.predict(X_train_)
from sklearn.metrics import roc_auc_score
auc=roc_auc_score(y_train_, pred_train)
print(auc)
pred_valid=model.predict(X_valid)
auc_valid=roc_auc_score(y_valid, pred_valid)
print(auc_valid)
n_estimators, mex_depth ๊ฐ์ ๋ณ๊ฒฝํด๋ณด๋ฉด์ auc_valid ๊ฐ์ ํ์ธํ๊ณ
train, valid์ auc๊ฐ์ด ๋๋ฌด ์ฐจ์ด๋์ง ์์ผ๋ฉด์๋(๊ณผ๋์ ํฉ ๋ฐฉ์ง), ์ฑ๋ฅ์ด ์ข๊ฒ ๋์ค๋ ๋ชจ๋ธ์ pickํ๋ค..!
9. valid๋ ์ฃผ์์ฒ๋ฆฌํ ํ์ test๋ฐ์ดํฐ๋ก ์์ธก
-> ์์ ์์ฑํ๋ ์ฝ๋์์ ์ด ๋ถ๋ถ์ ์ฃผ์์ฒ๋ฆฌ ํด์ฃผ์ธ์ฅ..!
#X_train_, X_valid, y_train_, y_valid = train_test_split(minmax_X_train, y_train, stratify=y_train, random_state=42, test_size=0.2)
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier(random_state=42, n_estimators=100, max_depth=10)
#model.fit(X_train_, y_train_.values.ravel())
#pred_train=model.predict(X_train_)
from sklearn.metrics import roc_auc_score
#auc=roc_auc_score(y_train_, pred_train)
#print(auc)
#pred_valid=model.predict(X_valid)
#auc_valid=roc_auc_score(y_valid, pred_valid)
#print(auc_valid)
~์๋กญ๊ฒ minmax_X_train, y_train ์ ์ฒด๋ก ๋ชจ๋ธ์ fit์ํค๊ณ ์์ธก~
model.fit(minmax_X_train, y_train.values.ravel())
pred_train=model.predict(minmax_X_train)
auc_train=roc_auc_score(y_train, pred_train)
print(auc_train)
10. minmax_X_test ์์ธก
pred_test=model.predict(minmax_X_test)
pred_test=pd.DataFrame(pred_test)
pred_test.columns=['pred']
11. ๋ฐ์ดํฐํ๋ ์ ์ ์ฅ
pred_test.to_csv("003001027.csv", index=False)
12. ์ ์ ์ฅ๋์๋์ง ํ์ธ
data2=pd.read_csv("003001027.csv")
print(data2)
'๐ Study > ๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[pandas] loc, iloc์ฐจ์ด (0) | 2022.03.25 |
---|---|
[๋น ๋ถ๊ธฐ] 2021๋ ์ค๊ธฐ ๊ธฐ์ถ ํ์ด-์์ ํ ์ 1์ ํ(13๋ฒ) (0) | 2022.03.22 |
[๋น ๋ถ๊ธฐ] 2021๋ ์ค๊ธฐ ๊ธฐ์ถ ํ์ด-์์ ํ ์ 1์ ํ(12๋ฒ) (0) | 2022.03.22 |
[๋น ๋ถ๊ธฐ] 2021๋ ์ค๊ธฐ ๊ธฐ์ถ ํ์ด-์์ ํ ์ 1์ ํ(11๋ฒ) (0) | 2022.03.22 |
[๋น ๋ถ๊ธฐ] ์์ ํ ์ 1์ ํ - ์ ํ์ ๋ฆฌ (0) | 2021.12.24 |