【发布时间】:2018-08-02 23:33:43
【问题描述】:
我在机器学习项目中使用来自 sklearn 的 LabelEncoder 和 OneHotEncoder 来编码标签(国家名称)在数据集中。一切正常,我的模型运行完美。该项目是根据包括客户所在国家/地区在内的许多特征(数据)来对银行客户是继续留在银行还是离开银行进行分类。
当我想预测(分类)一个新客户(仅限一个)时,我的问题就出现了。新客户的数据仍未经过预处理(即国家名称未编码)。类似于以下内容:
new_customer = np.array([['France', 600, 'Male', 40, 3, 60000, 2, 1,1, 50000]])
在我学习机器学习的在线课程中,讲师打开了包含编码数据的预处理数据集,手动检查了法国的代码并更新在new_customer,如下:
new_customer = np.array([[0, 0, 600, 'Male', 40, 3, 60000, 2, 1,1, 50000]])
我认为这是不切实际的,必须有一种方法可以将法国自动编码为原始数据集中使用的相同代码,或者至少有一种方法可以返回国家列表及其编码值。手动编码标签似乎很乏味且容易出错。那么我怎样才能使这个过程自动化,或者为标签生成代码呢?提前致谢。
【问题讨论】:
-
你可能想检查this answer
标签: python machine-learning scikit-learn one-hot-encoding