Python 在sklearn.linear和sklearn.ensemble中使用某些sklearn模型但不使用其他模型的输入
我有上面这样的值数组。我正在用_train_weather.values X和_train_train traffic['walkin_in']进行训练。我正在用_test_weather.values进行预测 数据帧如上图所示 我可以使用这些输入在sklearn中使用某些模型进行预测,例如MLP、RANSAC、Lasso、Ridge、Lassolas、RandomForestRegregator等,但有些模型不起作用 以下是不起作用的列表: 校董 阿达布斯特雷瑟 装袋回归器 拉尔斯 梯度增强回归器 回归 贝叶斯海脊 HuberRegressor 同样,ElasticNet起作用,但ElasticNetCV不起作用,这也适用于Lasso,而LassoCV不起作用 它们提供了以下错误:Python 在sklearn.linear和sklearn.ensemble中使用某些sklearn模型但不使用其他模型的输入,python,machine-learning,scikit-learn,regression,Python,Machine Learning,Scikit Learn,Regression,我有上面这样的值数组。我正在用_train_weather.values X和_train_train traffic['walkin_in']进行训练。我正在用_test_weather.values进行预测 数据帧如上图所示 我可以使用这些输入在sklearn中使用某些模型进行预测,例如MLP、RANSAC、Lasso、Ridge、Lassolas、RandomForestRegregator等,但有些模型不起作用 以下是不起作用的列表: 校董 阿达布斯特雷瑟 装袋回归器 拉尔斯 梯度增强回
_train_weather.values : [[ 0.61818182 0.81645199 0.6679803 ..., 0. 0. 1. ]
[ 0.61664841 0.80064403 0.65073892 ..., 0. 0. 0. ]
[ 0.58291347 0.80679157 0.62783251 ..., 0. 0. 0. ]
...,
[ 0.65914567 0.52019906 0.59975369 ..., 1. 0. 0. ]
[ 0.56232202 0.37558548 0.47980296 ..., 0. 1. 0. ]
[ 0.51829135 0.35626464 0.42832512 ..., 0. 0. 1. ]]
_train_traffic['walkin_in'].values : [[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
_test_weather.values : [[ 0.3388828 0.50497658 0.341133 ..., 0. 0. 0. ]
[ 0.27426068 0.4809719 0.30591133 ..., 0. 0. 0. ]
[ 0.28368018 0.42681499 0.26600985 ..., 0. 0. 0. ]
...,
[ 0.732092 0.71516393 0.69482759 ..., 1. 0. 0. ]
[ 0.74348302 0.70257611 0.6817734 ..., 0. 1. 0. ]
[ 0.75465498 0.69642857 0.70862069 ..., 0. 0. 1. ]]
有人能解释一下,为什么只有某些模型提供上述错误,而其他模型工作完全正常?您的依赖变量是多变量的,并非所有模型都能够对这些进行建模。如果你阅读了RANSAC、Lasso、Ridge、Lassolas、RandomforestRegressionor等的文档,那么你会在fit函数下看到类似的内容
Traceback (most recent call last):
File "run_seq_predictor.py", line 519, in <module>
run(args.conf, train, test_model, test_MLP_reg, offset, verbose, weeks, daily, write_to_isio, filter_abnormal, threshold)
File "run_seq_predictor.py", line 420, in run
clf.fit(_train_weather.values, _train_traffic['walkin_in'].values)
File "/usr/local/lib/python2.7/site-packages/sklearn/ensemble/bagging.py", line 248, in fit
return self._fit(X, y, self.max_samples, sample_weight=sample_weight)
File "/usr/local/lib/python2.7/site-packages/sklearn/ensemble/bagging.py", line 284, in _fit
X, y = check_X_y(X, y, ['csr', 'csc'])
File "/usr/local/lib/python2.7/site-packages/sklearn/utils/validation.py", line 526, in check_X_y
y = column_or_1d(y, warn=True)
File "/usr/local/lib/python2.7/site-packages/sklearn/utils/validation.py", line 562, in column_or_1d
raise ValueError("bad input shape {0}".format(shape))
ValueError: bad input shape (253, 56)
其中,对于您列出的其他对象,例如GradientBoostingRegressor
这就是为什么你会出错。如果您提供更多有关依亲变量的详细信息,我很乐意编辑答案。您的数据看起来可能是一个热编码的…您能发布完整的代码和数据吗,这样我们就可以在我们的机器上进行测试了。另外,对于上面列出的每个非工作估计器,您是否得到相同的堆栈跟踪错误?
y : array-like, shape = [n_samples] or [n_samples, n_targets]
y : array-like, shape = [n_samples]