试试下面的代码。它必须工作正常。这可能需要很长时间(超过 100 个功能)。
如果您想要更高的准确度,请将 max_depth 更改为 6。(因为有 100 个特征。)
我们可以在 0 和 1 之间改变 learning_rate,以提高效率。
import xgboost as xgb
model_xgb = xgb.XGBRegressor(colsample_bytree=0.4603, gamma=0.0468,
learning_rate=0.05, max_depth=3,
min_child_weight=1.7817, n_estimators=4200,
reg_alpha=0.4640, reg_lambda=0.8571,
subsample=0.5213, silent=1,
nthread=-1)
X_train, X_test, Y_train, Y_test= train_test_split(X, Y, random_state= 0)
def model_score_error(model):
prepared_model=model.fit(X_train, Y_train)
x=prepared_model.score(X_test,Y_test)
print('Score: ',x)
Target_predicted=prepared_model.predict(X_test)
MSE=mean_squared_error(Y_test,Target_predicted)
print('mean square error', MSE)
model_score_error(model_xgb)