我有一个数据框(data
),它的头部如下所示:
status datetime country amount city
601766 received 1.453916e+09 France 4.5 Paris
669244 received 1.454109e+09 Italy 6.9 Naples
我希望能够根据日期时间,国家,金额
和城市
来预测状态
由于状态,国家,城市
都是字符串,所以我对它们进行了独热编码:
one_hot = pd.get_dummies(data['country'])
data = data.drop(item, axis=1) # Drop the column as it is now one_hot_encoded
data = data.join(one_hot)
接下来,我创建了一个简单的LinearRegression模型并拟合了我的数据:
y_data = data['status']
classifier = LinearRegression(n_jobs = -1)
X_train, X_test, y_train, y_test = train_test_split(data, y_data, test_size=0.2)
columns = X_train.columns.tolist()
classifier.fit(X_train[columns], y_train)
但我收到了以下错误信息:
“无法将字符串转换为浮点数:'received'”
我有一种错过了什么的感觉,希望能得到一些如何继续的建议。感谢您读到这里!
y_data = data['status'] == 'received'
,我相信LinearRegression
在这里期望一个数值/布尔变量。 - m-dz