我目前正在尝试使用scikit-learn python库进行机器学习,并试图以
格式使用一些。csv数据Date Name Average_Price_SA
1995-01-01 Barking And Dagenham 70885.331285935
1995-01-01 Barnet 99567.4268042005
1995-01-01 Barnsley 49608.33494746
....
....
....
2005-01-01 Barking And Dagenham 13294.12321312
我用熊猫用
一行读过它们。data = pd.read_csv('data.csv')
从我学到的到目前为止,我认为我应该把那些'Name'类别字符串转换成浮点数,这样它们就可以被接受为一个模型。
我不知道该怎么做。任何帮助都将非常感激。
谢谢
您可以使用scikit的LabelBinarizer
将字符串转换为一个热向量。它们有N个0(其中N是唯一字符串的数量),单个组件上有一个1。
from __future__ import print_function
from sklearn import preprocessing
names = ["Barking And Dagenham", "Barnet", "Barnsley"]
lb = preprocessing.LabelBinarizer()
vectors = lb.fit_transform(names)
for name, vector in zip(names, vectors):
print("%s => %s" % (name, str(vector)))
输出:Barking And Dagenham => [1 0 0]
Barnet => [0 1 0]
Barnsley => [0 0 1]