在火车和测试数据上应用XGBoost

时间:2019-12-17 11:51:15

标签: python pandas machine-learning xgboost

我有两个数据,分别在csv文件中进行训练和测试,该文件具有超过385个功能,分别加载为df_traindf_test

我已将目标特征(目标列)标识为“ y”,在提供的测试数据集中,即df_test中,列y不可用。

在应用XGB之前,我已经按照以下方法应用了PCA,

from sklearn.decomposition import PCA 
pca = PCA(n_components = 0.95)

df_train = pca.fit_transform(df_train)
df_test = pca.fit_transform(df_test)

之后,我尝试按如下方法应用XGBoost,

import xgboost as xgb
params = {'ntrees':520,'eta':0.0045,"booster":"gblinear", "objective":"reg:linear"}

x_train = df_train.drop('y',axis = 0)
y_train = df_train['y']

dtrain = xgb.DMatrix(x_train,y_train)
dtest = xgb.DMatrix(df_test)


xg_reg = xgb.train(params = params,dtrain=df_train,num_boost_round=5)
preds = xg_reg.predict(df_test)

#to find the accuracy
rmse = np.sqrt(mean_squared_error(y_test,preds))
print("RMSE: %f" % (rmse))

输出

AttributeError:'numpy.ndarray'对象没有属性'drop'

很高兴能指导我哪里出了问题。

需求->分解df_train进行训练和测试,并建立模型并在df_test上进行预测并计算其准确性。

0 个答案:

没有答案