luk*_*ree 11 python svm libsvm scikit-learn
虽然libsvm提供了用于扩展数据的工具,但是使用Scikit-Learn(它应该基于用于SVC分类器的libSVM),我发现无法扩展我的数据.
基本上我想使用4个功能,其中3个范围从0到1,最后一个是"大"高度可变数字.
如果我在libSVM中包含第四个功能(使用自动扩展我的数据的easy.py脚本),我会得到一些非常好的结果(准确率为96%).如果我在Scikit-Learn中包含第四个变量,精度下降到~78% - 但如果我将其排除,我得到的结果与排除该功能时的libSVM相同.因此,我很确定这是一个缺少扩展的问题.
如何以编程方式(即不调用svm-scale)复制SVM的缩放过程?
您具有以下功能sklearn.preprocessing:
>>> from sklearn import preprocessing
>>> X = [[ 1., -1., 2.],
... [ 2., 0., 0.],
... [ 0., 1., -1.]]
>>> X_scaled = preprocessing.scale(X)
>>> X_scaled
array([[ 0. ..., -1.22..., 1.33...],
[ 1.22..., 0. ..., -0.26...],
[-1.22..., 1.22..., -1.06...]])
Run Code Online (Sandbox Code Playgroud)
然后,数据将具有零均值和单位方差.
| 归档时间: |
|
| 查看次数: |
9920 次 |
| 最近记录: |