小编log*_*og0的帖子

如何训练只有正面和中性数据的分类器?

我的问题:如何训练只有正面和中性数据的分类器?

我正在建立一个用于教育目的的个性化文章推荐系统.我使用的数据来自Instapaper.

数据集

我只有积极的数据: - 我阅读和"喜欢"的文章,无论读/未读状态如何

和中性数据(因为我已经表达了对它的兴趣,但我以后可能不会喜欢它): - 未读的文章 - 我读过并标记为已阅读的文章,但我并不"喜欢"它

我没有的数据是负面数据: - 我没有发送给Instapaper以便稍后阅读的文章(我不感兴趣,虽然我浏览了那篇文章/文章) - 我可能没有点过的文章,但是我可能已经或可能没有存档它.

我的问题

在这样的问题中,基本上缺少负面数据.我已经想到了以下解决方案,但还没有解决它们:

1)将一些负数据输入分类器优点:立即负数据来教授分类器缺点:随着我喜欢的文章数增加,对分类器的负面数据影响变暗

2)将"中性"数据转换为负面数据优点:现在我得到了我需要的所有正面和(新)负面数据缺点:尽管中性数据对我很感兴趣,但我还是想得到关于这样的建议.文章,但也许​​作为一个价值较低的类.

nlp recommendation-engine machine-learning

25
推荐指数
3
解决办法
9099
查看次数

如何获取Scikit-learn的svm中的训练错误?

我的问题:如何在svm模块(SVC类)中获得训练错误?

我试图根据所使用的训练数据的数量(或其他特征,如C/gamma)来绘制火车组和测试组的错误图.但是,根据SVM文档,没有这样的公开属性或方法来返回此类数据.我确实发现RandomForestClassifier确实暴露了oob_score_.

python machine-learning svm scikit-learn

4
推荐指数
1
解决办法
1万
查看次数

如何在实践中使用TfidfVectorizer和元数据进行分类?

我正在尝试将一些文档分类为两个类,其中我使用TfidfVectorizer作为特征提取技术.

输入数据由包含大约十几个浮点数据字段,标签和文档正文的文本blob的数据行组成.为了使用正文,我应用了TfidfVectorizer并得到了一个稀疏矩阵(我可以通过toarray()转换为数组来检查).这个矩阵通常非常大,数千个维度 - 让我们称这个F的大小为1000 x 15000.

要在Scikit中使用分类器,我给它一个输入矩阵X,即(行数*特征数).如果我不使用身体,我可能有一个1000 x 15的X.

这是问题所在,假设我将这个F水平叠加到X,所以X将变成1000 x 15015,这会引入一些问题:1)前15个特征现在扮演的角色很小; 2)内存不足;

Scikit提供了一个仅使用TfidfVectorizer输入的示例,但没有说明如何在元数据旁边使用它.

我的问题是:你如何使用TfidfVectorizer输出和元数据来适应训练的分类器?

谢谢.

classification machine-learning tf-idf scikit-learn

4
推荐指数
2
解决办法
1923
查看次数