我应该如何将sklearn LabelEncoder应用于y上以进行LinearRegression

时间:2019-05-21 02:52:53

标签: python scikit-learn

我有下面的数据库,我已经读入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进行预测。

0 个答案:

没有答案