Python “错误”;将字符串转换为浮点;使用model.predict()时

Python “错误”;将字符串转换为浮点;使用model.predict()时,python,pandas,dataframe,scikit-learn,Python,Pandas,Dataframe,Scikit Learn,当我使用model.predict()时,会出现以下错误: ValueError:无法将字符串转换为浮点: 我的代码中使用了一个热编码,如下所示: features_df = pd.get_dummies(df, columns=['garage_type', 'city']) 使用的预测代码如下所示 sample = [["attached"], ["Richardport"]] predictedvalue = model.predict(sample)' 有什么建议可以解决这个错误吗?

当我使用
model.predict()
时,会出现以下错误:

ValueError:无法将字符串转换为浮点:

我的代码中使用了一个热编码,如下所示:

features_df = pd.get_dummies(df, columns=['garage_type', 'city'])
使用的预测代码如下所示

sample = [["attached"], ["Richardport"]]
predictedvalue = model.predict(sample)'

有什么建议可以解决这个错误吗?谢谢。

出现错误的原因是,您正在向模型发送字符串,而模型希望浮点向量的形状与训练数据的形状相同


从代码中可以清楚地看出,在使用数据进行培训之前,您正在使用一种热编码。您还需要将样本转换为相同的热编码向量格式才能得到答案。

您还需要将样本转换为单独的列,这意味着,您必须检查新的伪列,并将样本转换为布尔列表L,其中,如果列[i]='attached'或列[i],则L[i]=True在调用.predict(L)方法之前,为所有其他列表元素设置为'Richardport'和False。

这个回答可能会有帮助:


什么是
模型
?使用梯度增强回归和一个热编码。谢谢,你能帮我修改一下建议的代码吗?我有这种方法,但仍然返回错误:Sample=X_train[['attached','Richardport']]。value和X.astype('str'))