Scikit学习-将存储为字符串的特征转换为数字



我目前正在尝试使用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]

相关内容

  • 没有找到相关文章

最新更新