我需要将文本文件中的一些数据组织成分类器的功能。我有3个功能需要训练,我在理解功能变量的正确格式方面遇到了一些麻烦。
from sklearn import tree
import os
import re
os.chdir(r"C:\ig_automation")
metrics_to_train = open('metrics_to_train.txt', 'r')
labels_to_train = open('labels_to_train.txt', 'r')
validation_metrics = open('validation_metrics.txt', 'r')
validation_labels = open('validation_labels.txt', 'r')
clf = tree.DecisionTreeClassifier()
features = metrics_to_train.read().replace("\n","").replace(" ","
").split(" ")
print(features)
输出:
['1434.0', '4000000.0', '33.0', '82.0', '39.0', '219.0', '634.0', '5506.0', '58.0', '106.0', '783.0', '332.0', '222.0', '413.0', '197.0', '112.0'......
数据如下:专长1 - 帖子数量(pos 0 = 1434),专长2 - 追随者(pos 1 = 4000000),专长3 - 跟随数量(pos 2 = 33)并且重复直到列表的最后一个值。
我必须使用此功能训练分类器并获得一个标签。
如果我导入数据的方式有任何问题,以下是文本文件中的一些行:
1434.0 4000000.0 33.0
82.0 39.0 219.0
634.0 5506.0 58.0
106.0 783.0 332.0
222.0 413.0 197.0
我是ML的新人,所以我真的需要一些建议。谢谢!
答案 0 :(得分:0)
您需要移调特征矩阵。
这样做的原因是所有scikit-learn
函数都期望矩阵X
作为输入,其中行是subjects(samples)
而列是`特征(变量)?< / p>
因此,使用numpy
作为快速方式转置数据:
import numpy as np
features = np.array(features)
X = features.T
clf.fit(X,....)