gpt4 book ai didi

python - Python中sklearn的线性回归中,莫名其妙的维度不匹配错误

转载 作者:太空宇宙 更新时间:2023-11-03 17:27:54 25 4
gpt4 key购买 nike

在 sklearn 中,我想用一维输入训练线性模型。但是,当我将 [100 x 1] 输入向量和 [100 x 1] 输出向量输入到 Linear_model.LinearRegression() 的拟合函数中时,我收到错误 “ValueError: 发现样本数量不一致的数组:[1100]“。它适用于 [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]

最佳答案

您是否尝试过将输入数据设为 (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

关于python - Python中sklearn的线性回归中,莫名其妙的维度不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32316336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com