首页 > 解决方案 > 使用 sklearn LinearRegression 时有没有办法约束预测值?

问题描述

我正在使用 sklearn 线性回归来预测变量的百分比值。目前,预测输出给出低于 0% 和高于 100% 的值。有没有办法将这些值限制在 0 到 100 之间?我看到另一篇文章建议对分类变量使用多重逻辑回归,但这在这里没有用,因为百分比值是连续的。

此外,这是一个可以接受的约束吗?例如,所有低于 0 和高于 100 的预测值是否会分别设置为 0 和 100,在这种情况下,R 平方统计数据会发生变化,或者应用约束保持统计数据相同而丢弃任何超出范围的点?

我目前的代码是:

from sklearn.linear_model import LinearRegression
model = LinearRegression(fit_intercept=True)

x = df.loc[:,np.concatenate((["independent var 1","independent var 2"],categorical variable))]
y = df.dependent_%_var

# fit the model to the data
model.fit(x, y)

# and plotting what this relationship looks like 
visualizer = ResidualsPlot(model)
visualizer.fit(x, y)  # Fit the training data to the model
visualizer.poof()  

标签: pythonmachine-learningscikit-learnstatisticslinear-regression

解决方案


推荐阅读