작성
·
91
·
수정됨
1
안녕하세요!
10회 시험치고 난 후 복기하여 혹시 여기서 감점사항이 있을지 여쭤보고 싶습니다!!
제가 작성한 코드는 배운내용중 레이블 인코더를 작성한후 제출하였으며, rmse값은 500후반대가 나왔습니다!
(lightbgm으로 했을때 수치가 600대 이상으로 높게 나와서 최종적으론 randomforest로 제출)
코드는 아래와 같은데.. 고견 남겨주심 감사하겠습니다!!
(복기코드내용중 혹시 오타가 있다면 실제 시험에서는 없다고 가정)
import pandas as pd
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
print("\n ===데이터크기===")
print("Train shape:", train.shape)
print("Test shape:", test.shape)
print( "\n ===데이터자료형===")
print(train.info())
print("\n ===결측치수===")
print(train.isnull().sum())
print(test.isnull().sum())
#train['GAS_TOTL'].nunique()
print("\n ===target기술통계===")
print(train['GAS_TOTL'].describe())
target = train.pop('GAS_TOTL')
from sklearn.preprocessing import LabelEncoder
cols = train.select_dtypes(include='object').columns
for col in cols:
le = LabelEncoder()
train[col] = le.fit_transform(train[col])
test[col] = le.transform(test[col])
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0)
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state=0)
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)
#import lightgbm as lgb
#lg = lgb.LGBMRegressor(random_state=0, verbose=-1)
#lg.fit(X_tr, y_tr)
#pred = lg.predict(X_val)
#print(mean_squared_error(y_val, pred)
from sklearn.metrics import mean_squared_error
rmse=mean_squared_error(y_val, pred)**0.5
print(rmse)
pred = rf.predict(test)
result = pd.DataFrame({'pred': pred})
result.to_csv("result.csv", index=False)
print(pred.shape)
print(pd.read_csv("result.csv").head())
네! 다행이도 40점 나왔습니다.
딴짓님 덕분에 점수 잘 받을 수 있었던것 같아요. 감사합니다!