寻找预处理字符串功能的方法

Lea*_*ner 2 python machine-learning scikit-learn

对于机器学习问题,我为每个样本都有一个位置特征(美国的一个州),它看起来像这样:整个特征向量看起来像这样:

array(['oklahoma', 'florida', 'idaho', ..., 'pennsylvania', 'alabama',
   'washington'], dtype=object)
Run Code Online (Sandbox Code Playgroud)

我不能直接用sklearn算法提供这个,因此我必须以某种方式将其转换为数字特征,但我不知道如何做到这一点.它们是转换这些字符串功能的最佳方法是什么?ASCII转换会起作用吗?

编辑:我希望我的每个州都有自己独特的数值.

alk*_*lko 6

您可以参考标签预处理:

from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(['oklahoma', 'florida', 'idaho', 'pennsylvania', 'alabama',
     'washington'])
le.classes_
# array(['alabama', 'florida', 'idaho', 'oklahoma', 'pennsylvania',
#         'washington'],
#       dtype='|S12')
le.transform(["oklahoma"])
# array([3])
Run Code Online (Sandbox Code Playgroud)