Python 从文本文件中提取特征并将其训练到分类器
我需要将文本文件中的一些数据组织成分类器的特征。我有3个特性需要训练,我在理解特性变量的正确格式时遇到了一些困难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
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是功能的数量(帖子、关注者、关注者)。是的,数据是按照你描述的方式显示的。我会试试的,谢谢!成功了!再次感谢!