在线性回归中,Sklearn中的Python中,维度不匹配解释不清晰

2024-04-24 09:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在sklearn中,我想用一维输入训练线性模型。但是当我把一个[100x1]输入向量和一个[100x1]输出向量输入到线性_模型.线性回归()的fit函数,我得到错误"ValueError: Found arrays with inconsistent numbers of samples: [ 1 100]"。它与[7791 x 39]维训练输入和[7791 x 1]训练输出一起工作良好。在

starting regression training
(7791, 39)
(7791,)
done with regression training; starting probabilities converter training
(100,)
(100,)
Traceback (most recent call last):
  File "makePickles.py", line 19, in <module>
    train_probabilities_converter(scoresToProbabilities[:,1], scoresToProbabilities[:,2])
  File "trainProbabilitiesConverter.py", line 18, in train_probabilities_converter
    regr.fit(rawScores, empiricalProbability)
  File "//anaconda/lib/python2.7/site-packages/sklearn/linear_model/base.py", line 376, in fit
    y_numeric=True, multi_output=True)
  File "//anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py", line 454, in check_X_y
    check_consistent_length(X, y)
  File "//anaconda/lib/python2.7/site-packages/sklearn/utils/validation.py", line 174, in check_consistent_length
    "%s" % str(uniques))
ValueError: Found arrays with inconsistent numbers of samples: [  1 100]

Tags: inpylibpackageswithlinetrainingsite
1条回答
网友
1楼 · 发布于 2024-04-24 09:27:03

你有没有试过让你的输入数据(100,1)而不是(100,)?我知道有时候sklearn有问题(因为它可能是维度1中的100个观察值,或者维度100中的1个观察值)。在

您可以执行X_test = X_test[:, None]来添加新轴。np.newaxis也可以工作,是一个较长但更显式的名称。顺便说一下,它只是None的别名(它们引用同一个对象):

>>> import numpy as np
>>> np.newaxis is None
True

相关问题 更多 >