簡體   English   中英

將字符串列表轉換為int列表以進行機器學習

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM