如何使用编码特征预测sklearn中的值?

问题描述

我当前的数据框如下:

 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