[scikit-learn] NuSVC and ValueError: specified nu is infeasible
Thomas Evangelidis
tevang3 at gmail.com
Thu Dec 8 04:49:51 EST 2016
Hi Piotr,
the SVC performs quite well, slightly better than random forests on the
same data. By training error do you mean this?
clf = svm.SVC(probability=True)
clf.fit(train_list_resampled3, train_activity_list_resampled3)
print "training error=", clf.score(train_list_resampled3,
train_activity_list_resampled3)
If this is what you mean by "skip the sample_weights":
clf = svm.NuSVC(probability=True)
clf.fit(train_list_resampled3, train_activity_list_resampled3,
sample_weight=None)
then no, it does not converge. After all "sample_weight=None" is the
default value.
I am out of ideas about what may be the problem.
Thomas
On 8 December 2016 at 08:56, Piotr Bialecki <piotr.bialecki at hotmail.de>
wrote:
> Hi Thomas,
>
> the doc says, that nu gives an upper bound on the fraction of training
> errors and a lower bound of the fractions
> of support vectors.
> http://scikit-learn.org/stable/modules/generated/sklearn.svm.NuSVC.html
>
> Therefore, it acts as a hard bound on the allowed misclassification on
> your dataset.
>
> To me it seems as if the error bound is not feasible.
> How well did the SVC perform? What was your training error there?
>
> Will the NuSVC converge when you skip the sample_weights?
>
>
> Greets,
> Piotr
>
>
> On 08.12.2016 00:07, Thomas Evangelidis wrote:
>
> Greetings,
>
> I want to use the Nu-Support Vector Classifier with the following input
> data:
>
> X= [
> array([ 3.90387012, 1.60732281, -0.33315799, 4.02770896,
> 1.82337731, -0.74007214, 6.75989219, 3.68538903,
> ..................
> 0. , 11.64276776, 0. , 0. ]),
> array([ 3.36856769e+00, 1.48705816e+00, 4.28566992e-01,
> 3.35622071e+00, 1.64046508e+00, 5.66879661e-01,
> .....................
> 4.25335335e+00, 1.96508829e+00, 8.63453394e-06]),
> array([ 3.74986249e+00, 1.69060713e+00, -5.09921270e-01,
> 3.76320781e+00, 1.67664455e+00, -6.21126735e-01,
> ..........................
> 4.16700259e+00, 1.88688784e+00, 7.34729942e-06]),
> .......
> ]
>
> and
>
> Y= [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, ............................
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0]
>
>
>> Each array of X contains 60 numbers and the dataset consists of 48
>> positive and 1230 negative observations. When I train an svm.SVC()
>> classifier I get quite good predictions, but wit the svm.NuSVC() I keep
>> getting the following error no matter which value of nu in [0.1, ..., 0.9,
>> 0.99, 0.999, 0.9999] I try:
>> /usr/local/lib/python2.7/dist-packages/sklearn/svm/base.pyc in fit(self,
>> X, y, sample_weight)
>> 187
>> 188 seed = rnd.randint(np.iinfo('i').max)
>> --> 189 fit(X, y, sample_weight, solver_type, kernel,
>> random_seed=seed)
>> 190 # see comment on the other call to np.iinfo in this file
>> 191
>> /usr/local/lib/python2.7/dist-packages/sklearn/svm/base.pyc in
>> _dense_fit(self, X, y, sample_weight, solver_type, kernel, random_seed)
>> 254 cache_size=self.cache_size, coef0=self.coef0,
>> 255 gamma=self._gamma, epsilon=self.epsilon,
>> --> 256 max_iter=self.max_iter, random_seed=random_seed)
>> 257
>> 258 self._warn_from_fit_status()
>> /usr/local/lib/python2.7/dist-packages/sklearn/svm/libsvm.so in
>> sklearn.svm.libsvm.fit (sklearn/svm/libsvm.c:2501)()
>> ValueError: specified nu is infeasible
>
>
>
> Does anyone know what might be wrong? Could it be the input data?
>
> thanks in advance for any advice
> Thomas
>
>
>
> --
>
> ======================================================================
>
> Thomas Evangelidis
>
> Research Specialist
> CEITEC - Central European Institute of Technology
> Masaryk University
> Kamenice 5/A35/1S081,
> 62500 Brno, Czech Republic
>
> email: tevang at pharm.uoa.gr
>
> tevang3 at gmail.com
>
>
> website: https://sites.google.com/site/thomasevangelidishomepage/
>
>
>
> _______________________________________________
> scikit-learn mailing listscikit-learn at python.orghttps://mail.python.org/mailman/listinfo/scikit-learn
>
>
>
> _______________________________________________
> scikit-learn mailing list
> scikit-learn at python.org
> https://mail.python.org/mailman/listinfo/scikit-learn
>
>
--
======================================================================
Thomas Evangelidis
Research Specialist
CEITEC - Central European Institute of Technology
Masaryk University
Kamenice 5/A35/1S081,
62500 Brno, Czech Republic
email: tevang at pharm.uoa.gr
tevang3 at gmail.com
website: https://sites.google.com/site/thomasevangelidishomepage/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-learn/attachments/20161208/48b5a07e/attachment.html>
More information about the scikit-learn
mailing list