我有下面的数据库,我已经读入pandas df
column1 column2 column3 Date XNumber
3276 3100 5040 11 May 2016 No. 3949
2922 173 1914 14 May 2016 No. 3950
5868 6961 3723 15 May 2016 No. 3951
7528 8240 3640 18 May 2016 No. 3952
8764 7648 1591 21 May 2016 No. 3953
...
...
...
...
...
# shape of dataframe is (472, 5)
我想做的是用LinearRegression
执行sklearn
以获取该数据集的预测值。最初使用以下代码,我得到以下错误:ValueError: could not convert string to float: 'No. 4372'
def linear_regression(self):
dataset = self._load_data()
x = dataset.drop(['Date', 'XNumber'], axis=1)
y = dataset['XNumber']
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
reg_all = LinearRegression()
reg_all.fit(x_train, y_train)
y_pred = reg_all.predict(x_test)
print(y_pred)
我已经读到这是因为我的labels
的{{1}}必须采用数字格式。如果不是,我应该使用y
对其进行编码。
这是我不确定的。我应该如何将preprocessing
应用于preprocessing.LabelEncoder
进行预测。