【发布时间】:2017-12-22 20:05:36
【问题描述】:
我有“train.csv”和“test.csv”文件。前者包含“Id”、功能列表和包含值的“状态”列,“test.csv”文件包含除“状态”之外的相同列。
我的任务是在“train.csv”文件上训练 XGboost 模型并预测“test.csv”文件的“状态”的二进制结果,然后将“Id”和“状态”保存到单独的 csv提交文件。
我能够在“train”文件上训练 XGboost,并且 roc_auc 分数非常好(高于 0.8)。我花了几个小时在互联网上搜索如何预测“测试”文件并将它们保存到“提交”文件中。令我惊讶的是,虽然这是一项相当常见的任务,但我找不到任何能够可靠地执行上述操作的脚本。
我的“train.csv”文件的工作代码以防万一:
predict = pd.read_csv("train.csv")
predictors =['par48','par52','par75','par82','par84','par85','par86','par87','par89','par108','par109','par132','par156','par165','par167','par175','par190','par197']
X, y = predict[predictors], predict['Status']
X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2, random_state=123)
xg_cl=xgb.XGBClassifier(objective='binary:logistic',n_estimators=10,seed=123)
xg_cl.fit(X_train, y_train)
preds=xg_cl.predict(X_test)
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))
print(xg_cl.feature_importances_)
print(roc_auc_score(y_test, xg_cl.predict_proba(X_test)[:,1]))
您有工作代码要分享吗?谢谢!
【问题讨论】:
标签: python csv binary prediction xgboost