[英]Converting a list of strings to a list of int for machine learning
我有一個表,該表的列與教育程度相對應: "phd", "undergrad"
等。
我想將這些功能更改為0, 1, 2....
為了將數據用作機器學習算法的輸入。
Python中有沒有一種方法可以將這些字符串特征自動映射為整數?
如果要具有相同的序列順序,可以使用enumerate
。
lista = [ "phd", "undergrad", "etc"]
>>> [i for i in enumerate(lista)]
[(0, 'phd'), (1, 'undergrad'), (2, 'etc')]
這就是字典(字典)。 像這樣:
edu_level = {
"phd": 0;
"master": 1;
"undergrad":2,
...
}
查找如何使用字典,也許使用“ Python字典教程”鍵。
您可能不希望將數據直接提供給機器學習算法-例如,如果phd是2,而master是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 ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.