ValueError: 发现输入变量的样本数量不一致:[2750, 1095]

这个错误是什么,我该如何修复它?我无法更改我的数据。

 X = train[['id', 'listing_type', 'floor', 'latitude', 'longitude',              'beds', 'baths','total_rooms','square_feet','group','grades']]    Y = test['price']    n = pd.get_dummies(train.group)  

这是训练数据的外观:

id  listing_type    floor   latitude    longitude   beds    baths   total_rooms square_feet grades  high_price_high_freq    high_price_low_freq low_price265183  10  4   40.756224   -73.962506  1   1   3   790 2   1   0   0   0270356  10  7   40.778010   -73.962547  5   5   9   4825    2   1   0   0176718  10  25  40.764955   -73.963483  2   2   4   1645    2   1   0   0234589  10  5   40.741448   -73.994216  3   3   5   2989    2   1   0   0270372  10  5   40.837000   -73.947787  1   1   3   1045    2   0   0   1

错误代码是:

from sklearn.cross_validation import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0)from sklearn.linear_model import LinearRegressionregressor = LinearRegression()regressor.fit(X_train, y_train)

错误信息:

---------------------------------------------------------------------------ValueError                                Traceback (most recent call last)<ipython-input-479-ca78b7b5f096> in <module>()      1 from sklearn.cross_validation import train_test_split----> 2 X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0)      3 from sklearn.linear_model import LinearRegression      4 regressor = LinearRegression()      5 regressor.fit(X_train, y_train)~\Anaconda3\lib\site-packages\sklearn\cross_validation.py in train_test_split(*arrays, **options)   2057     if test_size is None and train_size is None:   2058         test_size = 0.25-> 2059     arrays = indexable(*arrays)   2060     if stratify is not None:   2061         cv = StratifiedShuffleSplit(stratify, test_size=test_size,~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in indexable(*iterables)    227         else:    228             result.append(np.array(X))--> 229     check_consistent_length(*result)    230     return result    231 ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_consistent_length(*arrays)    202     if len(uniques) > 1:    203         raise ValueError("Found input variables with inconsistent numbers of"--> 204                          " samples: %r" % [int(l) for l in lengths])    205     206 ValueError: Found input variables with inconsistent numbers of samples: [2750, 1095]

回答:

Y = test['price'] 可能应该改为 Y = train['price'](或其他特征的名称)。

异常是因为你的 X 和 Y 的样本数量(行数)不同,而 train_test_split 不喜欢这样。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注