我正在 Kaggle 中解决一个标签为正数的知识问题。我尝试在 scikit-learn 中使用 SGDRegressor 来训练和测试模型。然而,学习模型的一些预测是否定的。
因此,我想知道是否有一种方法可以限制像 SGD(在 scikit learn 中)这样的回归器的预测仅具有正值。我知道在获得预测后可以使用强力技术来限制值,但我不热衷于遵循这种方法,因为它不能代表真实的模型。
最佳答案
您可能希望适应 z = np.log(y)
而不是 y
:model = SGDRegressor(**params).fit(X_train ,np.log(y_train))
,然后y_predicted = np.exp(model.predict(X_test))
。
如果您希望能够,您可以子类化 SGDRegressor
来重载 fit
和 predict
方法,以便在内部执行目标变量的更改在此类模型上使用 sklearn 的 cross_val_score
和 GridSearchCV
工具
关于scikit-learn - 将 scikit-learn 中 SGDRegressor 的预测限制为正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897981/