2016-08-13 238 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