Scikit SVM:创建训练数据集

时间:2015-03-03 18:51:47

标签: python machine-learning scikit-learn svm

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

对于我的论文,我想预测股票收益方向,即SVM的输出应该是1(UP)或-1(DOWN)。目前我正试图用随机样本来计算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>

例如,第二行:

&LT 1为卤素;意味着股票自前一天开始上涨,&lt; 2&gt;是第二行的数据,&lt; -1&gt;对于特定公司而言,当天是一种负面的Twitter情绪,&lt; 20110000&gt;是当天的库存量,&lt; 75.78&gt;是当天调整后的收盘价。

我希望你能理解我想说的话。我希望有更多的人可以帮助我。

提前致谢!

1 个答案:

答案 0 :(得分:0)

查看the docs中引用的相关链接:

  

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

     

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

如果您点击第一个链接,我会找到example data sets,例如this one

-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 

所以你不需要括号<>。只需用数字标签填充文件, 和由冒号分隔的数字对。对之间没有逗号。

Per the docs,然后您可以使用

加载数据集
>>> from sklearn.datasets import load_svmlight_file
>>> X_train, y_train = load_svmlight_file("/path/to/train_dataset.txt")