当我使用model.predict()
时,发生以下错误,
我的代码中使用了ValueError:无法将字符串转换为float:
一次性编码,
features_df = pd.get_dummies(df, columns=['garage_type', 'city'])
下面给出了预测代码。
sample = [["attached"], ["Richardport"]]
predictedvalue = model.predict(sample)'
是否有解决此错误的建议?谢谢。
答案 0 :(得分:1)
出现错误的原因是因为您正在向模型发送字符串,而模型期望的是浮点向量,该向量的形状应与训练数据的形状相同。
从代码中可以明显看出,在使用数据进行训练之前,您正在使用一种热编码。您还需要将样本转换为相同的一种热编码矢量格式,以获得答案。
答案 1 :(得分:1)
您还需要将样本转换为单独的列,这意味着,您必须检查新的虚拟列,并将样本转换为布尔列表L,其中L [i] = True if column [i]在调用.predict(L)方法之前,对所有其他列表元素=='attached'或column [i] =='Richardport'和False。
此回复可能会有所帮助: