我在XGBoost中的优化代码上有错误

时间:2019-01-03 02:08:35

标签: python jupyter-notebook

我只是在学习Python,并在网上找到质量各异的各种示例。

总而言之,如果我为XGBClassifier运行代码,则我已经复制了XGBoost优化器的代码,它工作正常(如果我将标签设为1或-1输出),但是,如果我将代码修改为XGBRegressor(用于尝试预测股价)是否跌落;任何想法是什么原因造成的?

当我运行它时,我在底部的最终pyplot代码中也遇到了一个奇怪的错误,什么也没有发生,没有错误,只有一无所有!

我正在Windows上使用Jupyter笔记本。

model = XGBRegressor()
n_estimators = [5, 10, 25, 50, 75, 100, 150, 200, 250, 300, 400, 500]
print(max_depth)
param_grid = dict(max_depth=max_depth, n_estimators=n_estimators)
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=7)
grid_search = GridSearchCV(model, param_grid, scoring="neg_log_loss", n_jobs=-1, cv=kfold, verbose=1)
grid_result = grid_search.fit(X, label_encoded_y)

scores = numpy.array(means).reshape(len(max_depth), len(n_estimators))
for i, value in enumerate(max_depth):
    pyplot.plot(n_estimators, scores[i], label='depth: ' + str(value))
pyplot.legend()
pyplot.xlabel('n_estimators')
pyplot.ylabel('Log Loss')
pyplot.savefig('n_estimators_vs_max_depth.png')

正如我提到的,如果我更改为XGBClassifier ...,除了底部的pyplot代码不返回任何内容(甚至没有错误)之外,此方法都很好!

0 个答案:

没有答案