如何告诉 SciKit 线性回归模型预测值不能小于零?

本田少校

我有以下代码尝试根据非价格特征评估股票。

price = df.loc[:,'regularMarketPrice']
features = df.loc[:,feature_list]

# 
X_train, X_test, y_train, y_test = train_test_split(features, price, test_size = 0.15, random_state = 1)

if len(X_train.shape) < 2:
    X_train = np.array(X_train).reshape(-1,1)
    X_test = np.array(X_test).reshape(-1,1)

# 
model = LinearRegression()
model.fit(X_train,y_train)

# 
print('Train Score:', model.score(X_train,y_train))
print('Test Score:', model.score(X_test,y_test))


# 
y_predicted = model.predict(X_test)

在我的 df(非常大)中,从来没有“regularMarketPrice”小于 0 的实例。但是,对于 y_predicted 中的某些点,我偶尔会收到小于 0 的值。

Scikit 中有没有办法说小于 0 的任何内容都是无效预测?我希望这能让我的模型更准确。

如果需要进一步解释,请发表评论。

杰森黄

为了使更多的预测大于 0,您不应该使用线性回归。您应该考虑广义线性回归 (glm),例如泊松回归。

from sklearn.linear_model import PoissonRegressor

price = df.loc[:,'regularMarketPrice']
features = df.loc[:,feature_list]

# 
X_train, X_test, y_train, y_test = train_test_split(features, price, test_size = 0.15, random_state = 1)

if len(X_train.shape) < 2:
    X_train = np.array(X_train).reshape(-1,1)
    X_test = np.array(X_test).reshape(-1,1)

# 
model = PoissonRegressor()
model.fit(X_train,y_train)

# 
print('Train Score:', model.score(X_train,y_train))
print('Test Score:', model.score(X_test,y_test))


# 
y_predicted = model.predict(X_test)

所有预测大于或等于0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用python中的scikit Learn使用线性回归预测来填充大熊猫数据框中的NA值?

如何在多元线性回归模型中预测y值?

如何使用线性回归模型产生单个预测值?

约束线性回归-scikit如何学习?

使用 scikit-learn 训练线性回归模型后,如何对原始数据集中不存在的新数据点进行预测?

总结 Scikit-Learn 的线性回归的预测

如何使用线性回归模型进行预测?

如何使用线性回归预测模型?

如何使用scikit线性回归模型同时求解几个独立的时间序列

如何在新的x值上使用线性回归模型预测y值

如何使用scikit-learn执行多元线性回归?

Spark(1.6)ML线性回归-如何使用模型进行预测

如何使用 scikit learn 预测目标标签

如何使用scikit的Surprise做出预测?

scikit-learn线性回归模型执行中的问题

为scikit线性回归模型生成numpy数组

如何从C#使用scikit学习模型

如何在Python scikit-learn中从随机森林中的每棵树输出回归预测?

使用scikit-learn(sklearn),如何处理缺失数据以进行线性回归?

如何使用Python和Scikit通过一种热编码学习线性回归?

如何使用scikit-learn在Python中打印简单线性回归的截距和斜率?

使用scikit-learn(sklearn),如何处理缺失数据(因变量y)进行线性回归?

sklearn中的线性回归模型如何在以下代码中进行非线性预测?

Python / Scikit学习/回归-从熊猫数据框到Scikit预测

如何告诉MVVMLight创建新的视图模型?

scikit svm回归预测恒定结果

如何使用python和scikit结合两个逻辑回归模型?

维度问题线性回归Python scikit学习

Scikit-线性回归-提取指标