2016-08-13 157 views
1

我有两个数据集,trainig和测试。他们有标签“1”和“0”。我需要在scikit学习中使用带有“rbf”内核的“oneClassSVM”算法评估这些数据集。我加载了训练数据集,但我不知道如何使用测试数据集来评估这些数据集。以下是我的代码,OneClassSVM scikit学习

from sklearn import svm 
import numpy as np 

input_file_data = "/home/anuradha/TrainData.csv" 
dataset = np.loadtxt(input_file_iris, delimiter=",") 

X = dataset[:,0:4] 
y = dataset[:,4] 

estimator= svm.OneClassSVM(nu=0.1, kernel="rbf", gamma=0.1) 

请有人可以帮我解决这个问题吗?

回答

3

这是因为添加的代码下面两行脚本的结尾一样简单:第一行会告诉SVN

estimator.fit(X_train) 
y_pred_test = estimator.predict(X_test) 

要使用的训练数据,第二个做的测试集预测(一定要加载两个数据集并相应地更改变量名称)。

Here有一个关于如何使用OneClassSVMhere的类引用的完整示例。

+0

感谢您的回答,是否可以设置标签与训练和测试数据集?怎么样? – Anuradha

+0

@Prabhath与OneClassSVM你不需要标签,因为只有一个类。看看这个[链接](http://rvlasveld.github.io/blog/2013/07/12/introduction-to-one-class-support-vector-machines/)了解更多详情。如果你想要更多的类,你可以考虑使用''svm.SVC'''或它的一些变体(参见[这里](http://scikit-learn.org/stable/modules/classes.html#module- sklearn.svm))。 – SimoV8

+0

谢谢,我明白了 – Anuradha