scikit-learn - 将 scikit-learn 中 SGDRegressor 的预测限制为正值

标签 scikit-learn

我正在 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 来重载 fitpredict 方法,以便在内部执行目标变量的更改在此类模型上使用 sklearn 的 cross_val_scoreGridSearchCV 工具

关于scikit-learn - 将 scikit-learn 中 SGDRegressor 的预测限制为正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897981/

相关文章:

python - 使用 sklearn IterativeImputer 时,出现 ValueError : Input contains NaN, 无穷大或值对于 dtype ('float64' 来说太大

python - 如何使用 pandas/sklearn 删除停止短语/停止 ngram(多词字符串)?

python - scikit-learn 中的机器学习算法是否必须将 pandas 数据帧转换为 numpy 数组

machine-learning - 随机森林机器学习支持字符串字符吗?

python - 如何正确合并模型中模型的输出?

python - Pickle Tfidfvectorizer 以及自定义分词器

python - Dask分布式计算反序列化错误

python-2.7 - 在 Windows 中更新/安装 Python scikit 学习最新的开发版本

python - Scikit-learn 随机森林占用内存过多

python - 逻辑回归系数在Python中编写函数