Hi All, first thing I would like to say that I'm not so experienced with python therefore I might do something really stupid which I cannot see. Nevertheless I don't manege to understand why the following script throw an assertion error. Indeed, training the one class svm with a dataset or with a shuffled one seems to give two different results.
Thanks for your help print __doc__ import numpy as np import pylab as pl from sklearn import svm xx, yy = np.meshgrid(np.linspace(-7, 7, 500), np.linspace(-7, 7, 500)) X = 0.3 * np.random.randn(100, 2) X = np.r_[X + 2, X - 2] # Add 10 % of outliers (leads to nu=0.1) X = np.r_[X, np.random.uniform(low=-6, high=6, size=(20, 2))] # fit the model to the data for the first time clf = svm.OneClassSVM(nu=0.1, kernel="rbf", gamma=0.1) clf.fit(X) y_pred = clf.predict(X) #reshuffle the trainig set indexes=range(X.shape[0]) import random random.shuffle(indexes) X2=X.copy() X2=np.take(X2,indexes,axis=0) #fit the shuffled training set clf2 = svm.OneClassSVM(nu=0.1, kernel="rbf", gamma=0.1) clf2.fit(X2) #predict on the normal data y_pred2 = clf2.predict(X) np.testing.assert_array_equal(y_pred,y_pred2) ------------------------------------------------------------------------------ RSA(R) Conference 2012 Mar 27 - Feb 2 Save $400 by Jan. 27 Register now! http://p.sf.net/sfu/rsa-sfdev2dev2 _______________________________________________ Scikit-learn-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
