【发布时间】:2019-01-14 04:31:14
【问题描述】:
我是机器学习的新手,我正在尝试处理 SVM。我有一个包含近 3000 个数据的语料库,其中包含大约 47 个主题,我计划对其进行 10 倍交叉验证。但是在交叉验证期间,我如何确保所有 47 个受试者都在 10 个组中的每个组中?
例如,一些主题是“apple”、“blackberry”、“sony”、“canon”、“htc”。我想确保交叉验证中的所有组都包含“apple”、“blackberry”、“sony”、“canon”、“htc”等,这意味着第 1 组 - 第 10 组有它们。
那么我如何确保这一点?我应该先将数据按主题分开,然后只将它们分成10组,然后再将它们全部合并在一起吗?
但是如果是这样,这是否意味着我已经手动将 10 组数据分成训练和测试集,10 次(手动交叉验证)然后只传递给 libSVM?或者我只需要准备 10 个包含所有主题的组,然后让 libSVM 进行自动交叉验证 -v 10?
回到主题,我如何用 Python 编程来分割数据?我的数据有 2 列(标签),一列用于主题,一列用于内容/文本。
【问题讨论】:
标签: python-2.7 svm cross-validation libsvm