Python 2.7 将哪些参数传递给scikit学习库的svm函数进行文档分类
我是机器学习新手。我正在研究文件分类。 为此,我尝试在“20新闻组”数据集的子集上训练SVM。 我正在使用scikit学习。 链接: 作为一个训练集,我学习了3类新闻,每类40篇文档。 到目前为止,我已经为每个文档做了以下工作:Python 2.7 将哪些参数传递给scikit学习库的svm函数进行文档分类,python-2.7,scikit-learn,svm,text-classification,document-classification,Python 2.7,Scikit Learn,Svm,Text Classification,Document Classification,我是机器学习新手。我正在研究文件分类。 为此,我尝试在“20新闻组”数据集的子集上训练SVM。 我正在使用scikit学习。 链接: 作为一个训练集,我学习了3类新闻,每类40篇文档。 到目前为止,我已经为每个文档做了以下工作: 标记化 删除停止词(即“the”、“on”、“in”等) 柠檬化(词干词)(即'runs','running','ran'='run') 计算剩余单词的tf idf分数 (标签[]:包含每个文档的类别标签的列表) (最终列表[]:包含每个文档的单词列表及其tf id
- 标记化
- 删除停止词(即“the”、“on”、“in”等)
- 柠檬化(词干词)(即'runs','running','ran'='run')
- 计算剩余单词的tf idf分数
标签[]
:包含每个文档的类别标签的列表)
(最终列表[]
:包含每个文档的单词列表及其tf idf分数的列表
final_list=[
[['run',0.16544],['ground',0.1224]...]
[['disk',0.9677],['pc',0.8888]....]
.....
.....
])
与其他分类器一样,SVC、NuSVC和LinearSVC将两个数组作为输入:
包含训练样本的大小为[n_样本,n_特征]的数组X,
和类标签(字符串或整数)的数组y,大小[n_samples]:
Scikit学习网页中的示例代码:(用于数字数据)
拟合后,模型可用于预测新值:
>>> clf.predict([[2., 2.]])
array([1])
现在,当我使用以下行时:
>>> from sklearn import svm
>>> clf = svm.SVC()
>>> clf.fit(final_list, labels)
它是给予
ValueError:使用序列设置数组元素
我不确定要为我的问题陈述传递给svm函数的参数。
final_list
包含不同大小的列表。您的示例具有不同的功能。请尝试清理测试集并设置其格式。您可以在原始文本输入上使用tfidfvectorier
final_list
包含不同大小的列表。您的示例具有不同的功能。请尝试清理测试集并设置其格式您可以在原始文本输入上使用TFiDFVectorizer
>>> from sklearn import svm
>>> clf = svm.SVC()
>>> clf.fit(final_list, labels)