我是机器学习的新手。我正在研究文件分类。 为此,我试图在" 20新闻组"的一部分上训练SVM。数据集。 我正在使用scikit为此学习。 链接:SVM - Scikit Learn 作为一个训练集,我在每个类别中采用了3类新闻和40个文档。 对于每个文档,到目前为止我已完成以下操作: - 标记化 - 删除停用词(即''' on''' in'等) - 词义化(词干词)(即'运行''运行''运行' ='运行') - 计算剩余单词的tf-idf分数
(labels []:包含每个文档的类别标签的列表)
(final_list []:包含每个文档的单词列表及其tf-idf分数的列表
i.e. final_list=[
[['run',0.16544],['ground',0.1224]...]
[['disk',0.9677],['pc',0.8888]....]
.....
.....
])
=============================================== ======================== 与其他分类器一样,SVC,NuSVC和LinearSVC将两个数组作为输入: 一个大小为[n_samples,n_features]的数组X,其中包含训练样本, 和 类标签(字符串或整数)的数组y,size [n_samples]:
Scikit Learn网页的示例代码:(对于数字数据)
>>> from sklearn import svm
>>> X = [[0, 0], [1, 1]]
>>> y = [0, 1]
>>> clf = svm.SVC()
>>> clf.fit(X, y)
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
在拟合之后,该模型可用于预测新值:
>>> clf.predict([[2., 2.]])
array([1])
=============================================== ======================== 现在,当我使用以下行时:
>>> from sklearn import svm
>>> clf = svm.SVC()
>>> clf.fit(final_list, labels)
它正在给予,
ValueError:使用序列设置数组元素。
我不确定将什么参数传递给我的问题陈述的svm函数。