Scikit SVM: 创建训练数据集

我正在使用这个网站 http://scikit-learn.org/stable/datasets/(副标题5.5)来创建我的自定义数据集,以便使用scikit进行SVM操作。今天的总结:我基本上不知道自己在做什么。

为了我的论文,我想预测股票回报方向,即SVM的输出应该是1(上涨)或-1(下跌)。目前,我正在尝试使用随机样本来理解SVM(因为我确实明白教程是如何工作的)。

正如网站上所述,每一行应采用<label> <feature-id>:<feature-value> <feature-id>:<feature-value>的形式,我认为我提供的训练集也应该采用相同的格式。因此,我在Notepad++中创建了以下训练样本:

<1> <1>:<0>, <1>:<19260800>, <1>:<77.83><1> <2>:<-1>, <2>:<20110000>, <2>:<75.78><-1> <3>:<1>, <3>:<53306400>, <3>:<76.24><1> <4>:<0>, <4>:<61293500>, <4>:<78.00><-1> <5>:<-1>, <5>:<42649500>, <5>:<75.91>

例如,第二行:

<1>表示股票自前一日以来上涨,<2>是第二行的数据,<-1>是当天特定公司的负面Twitter情绪,<20110000>是当天的股票交易量,<75.78>是当天的调整后收盘价。

我希望你能理解我在说什么。更希望有人能帮我解决这个问题。

提前感谢!


回答:

请查看文档中引用的相关链接:

svmlight / libsvm格式的公共数据集:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/

更快的API兼容实现:https://github.com/mblondel/svmlight-loader

如果你点击第一个链接,你会找到示例数据集,例如这个

-1 3:1 11:1 14:1 19:1 39:1 42:1 55:1 64:1 67:1 73:1 75:1 76:1 80:1 83:1 -1 3:1 6:1 17:1 27:1 35:1 40:1 57:1 63:1 69:1 73:1 74:1 76:1 81:1 103:1 -1 4:1 6:1 15:1 21:1 35:1 40:1 57:1 63:1 67:1 73:1 74:1 77:1 80:1 83:1 -1 5:1 6:1 15:1 22:1 36:1 41:1 47:1 66:1 67:1 72:1 74:1 76:1 80:1 83:1 -1 2:1 6:1 16:1 22:1 36:1 40:1 54:1 63:1 67:1 73:1 75:1 76:1 80:1 83:1 -1 2:1 6:1 14:1 20:1 37:1 41:1 47:1 64:1 67:1 73:1 74:1 76:1 82:1 83:1 

所以你不需要使用括号<>。只需在文件中填写一个数字标签,以及由冒号分隔的数字对。数字对之间没有逗号。

根据文档,你可以使用以下代码加载数据集:

>>> from sklearn.datasets import load_svmlight_file>>> X_train, y_train = load_svmlight_file("/path/to/train_dataset.txt")

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注