반응형
lightgbm 은 결측치 처리도 필요없고 (object 타입은 astype('category') 해주면) 인코딩도 필요없다 ㄷㄷ
n_estimator 올릴 때 learning_rate 낮추기만 주의해주기!
import pandas as pd
X_test = pd.read_csv("data/X_test.csv")
X_train = pd.read_csv("data/X_train.csv")
y_train = pd.read_csv("data/y_train.csv")
train = pd.concat([X_train,y_train['gender']],axis=1)
test = X_test.copy()
# 1. 랜덤포레스트
# 2. lightgbm (결측치처리 및 인코딩이 필요없음) #object 대신에 category 로 바꿔주면 인코딩 필요없다.
train['주구매지점'] = train['주구매지점'].astype('category')
train['주구매상품'] = train['주구매상품'].astype('category')
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train.drop('gender',axis=1),train['gender'],test_size=0.2,random_state=0)
from lightgbm import LGBMClassifier
model = LGBMClassifier(random_state=0, max_depth=5, n_estimators=400, learning_rate=0.02) # n_estimators 올리기 + learning_rate 내리기 (이 2개는 함께 가야함)
model.fit(X_tr,y_tr)
pred = model.predict_proba(X_val)
# print(pred)
from sklearn.metrics import roc_auc_score
print(roc_auc_score(y_val,pred[:,1]))
반응형
'IT,SW,Data,Cloud,코딩 > Python' 카테고리의 다른 글
빅분기 실기 대비 요약노트 (0) | 2023.06.23 |
---|---|
20230622 이런저런함수들 (0) | 2023.06.22 |
20230621 캐글 연습문제 풀기 (0) | 2023.06.22 |
20230620 넘파이 ceil, floor, trunc (0) | 2023.06.21 |
20230619 빅분기 공부 5회 기출 유형 (0) | 2023.06.19 |
20230617 빅분기 4회 기출유형 제2유형 (0) | 2023.06.17 |
20230617 빅분기 3유형 가설검정 t-test, one-way ANOVA (1) | 2023.06.17 |
20230616 빅분기공부 (0) | 2023.06.17 |
댓글