橙色线性回归和 scikit-learn 线性回归给出不同的结果

数据挖掘 Python scikit-学习 线性回归
2022-03-15 06:36:44

我正在尝试通过 Orange3 交叉验证我的 scikit-learn 脚本,从而获得一个很好的视觉表示。

一步一步做,为了简单起见,我只是尝试交叉验证一个简单的线性回归。

在此处输入图像描述

以下是线性回归的简单脚本python/scikit-learn

lr=LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)
lm=lr.fit(X_train, y_train)
lmscore_train=lm.score(X_train,y_train)  ## R2 = 0.6264021467338086
lmscore_test=lm.score(X_test,y_test)     ## R2 = -12.344747578839215

虽然我期望得到相同的结果,但事实并非如此。

在 Orange 中,我得到 R2=-10.792,而在 Python 中,我得到 R2=-12.344747578839215。

在这两种情况下,训练和测试拆分是相同的。

你知道这是为什么吗?

1个回答

OrangeScikit以不同的方式处理异常值。如果您的数据中有异常值,请将其删除并检查。那么答案是相似的。