将字符串列表转换为int列表以进行机器学习

时间:2017-11-17 20:32:16

标签: python machine-learning

我有一个表格,其中包含与教育程度相对应的列:0, 1, 2....等。

我想将这些功能更改为OPTIONS1: 'a'|'b'|'c'; OPTIONS2: 'c'|'d'|'e'; 。为了将数据用作机器学习算法的输入。

Python中有没有办法自动将这些字符串功能映射到整数?

3 个答案:

答案 0 :(得分:3)

如果您想拥有相同的序列号,可以使用enumerate

lista = [ "phd", "undergrad", "etc"]
>>> [i for i in enumerate(lista)]
[(0, 'phd'), (1, 'undergrad'), (2, 'etc')]

答案 1 :(得分:1)

它被称为dict(字典)。像这样:

edu_level = {
    "phd": 0;
    "master": 1;
    "undergrad":2, 
    ...
}

查找如何使用词典,也许使用键“Python词典教程”。

答案 2 :(得分:1)

您可能不希望将数据提供给机器学习算法 - 例如,如果phd是2且主人是1,这是否意味着phd是两倍好?您可以使用"一个热编码"并创建一个可以提供的二进制矩阵(即1& 0�)。

有多个库可以执行此操作,例如:http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html

祝你好运!

         BA MS PHD
Person A  0  0  0
Person B  1  0  0
Person C  0  0  1
...