我一直在尝试使用我清理过的数据集开发一个线性回归模型。以下是我的数据集:https://docs.google.com/spreadsheets/d/1G7URct9yPAxEETLrb_F1McN-bgKp_r8cykmCOmojhT0/edit?usp=sharing
我已经使用标签编码器处理了数据,并只需使用TRAIN_TEST_SPLIT进行拆分
cols = ['nama_pasar','komoditas']
for col in cols:
df_test[col] = LE.fit_transform(df_test[col])
print(LE.classes_)
X = df_test[['tanggal','nama_pasar','komoditas']]
y = df_test[['harga']]
from sklearn.model_selection import train_test_split
X_train, y_train, X_test, y_test = train_test_split(X, y, test_size = 0.5)
当我尝试拟合数据时,没有出现任何问题。
LR.fit(X_train, y_train)
但是当我尝试使用我的线性回归模型中的预测时,它总是显示这个错误
LR.predict([1, 10, 4])
ValueError: Expected 2D array, got 1D array instead:
array=[ 1 10 4].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
我尝试将测试大小的数量更改为0.2,但它显示的错误与第一个不同。
ValueError: Found input variables with inconsistent numbers of samples: [37936, 9484]
我该怎么解决这个问题?
我还在学习数据科学的基础知识,如果能给我解释一下,我将不胜感激
谢谢你
2条答案
按热度按时间odopli941#
您的
x
是2d array
,并且经过了这样的训练,因此当您想要预测时,您需要通过2d array
,尝试下面的方法。332nm8kg2#
至于你的第二个问题(和你的评论):你搞错了列车测试拆分的顺序。
它必须正确无误:
尝试并检查数组/ Dataframe 的维度以进行健全性检查始终是一种良好的做法。