Python 从文本文件中提取特征并将其训练到分类器

Python 从文本文件中提取特征并将其训练到分类器,python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,我需要将文本文件中的一些数据组织成分类器的特征。我有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_me

我需要将文本文件中的一些数据组织成分类器的特征。我有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-帖子数量(位置0=1434),专长2-追随者数量(位置1=4000000),专长3-追随者数量(位置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的新手,所以我真的需要一些建议。谢谢

您需要转置特征矩阵

这是因为所有的
scikit学习
函数都需要一个矩阵
X
作为输入,其中行是
主题(样本)
,列是“特征(变量)”

因此,使用
numpy
快速转置数据:

import numpy as np

features = np.array(features)
X = features.T

clf.fit(X,....)

如果我理解正确,文本文件中的每一行对应一个示例,即第一行是1个用户的所有功能,第二行是第2个用户的功能,依此类推。如果是这种情况,您读取数据的方式是不正确的。你应该得到(nx3)矩阵,其中N是用户的数量,3是功能的数量(帖子、关注者、关注者)。是的,数据是按照你描述的方式显示的。我会试试的,谢谢!成功了!再次感谢!