问题描述
我当前的数据框如下:
salary job title Raiting Company_Name Location Seniority Excel_needed
0 100 SE 5 apple sf vp 0
1 120 DS 4 Samsung la Jr 1
2 230 QA 5 google sd Sr 1
现在,在将sklearn的Onehotencoding应用于多个类别之后,我获得了令人满意的模型得分,并且希望根据其字符串值来预测结果,例如:model.predict('SE','5','apple','ca','vp','1')
而不是尝试输入1000的0和1是基于一键编码数据帧的。我将如何处理?
解决方法
您需要保存所有处理并编写函数以使用它。
这是一个基本示例:
title_encoder = LabelEncoder()
title_encoder.fit(train['job title'])
def predict(model,data,job_title_column,encoder):
data[job_title_column] = encoder.transform(data[job_title_column])
prediction = model.predict(data)
return prediction
predictions = predict(model,'job title',title_encoder)
您还可以尝试使用管道:https://scikit-learn.org/stable/modules/compose.html