2015-04-13 11 views
17

Ich versuche, eine SVM-Funktion aus dem scikit zu verwenden Paket für Python lernen, aber ich erhalte die Fehlermeldung:Import check_arrays von sklearn

from sklearn.utils.validation import check_arrays 

ImportError: cannot import name 'check_arrays'

Ich verwende Python 3.4. Kann mir jemand einen Rat geben? Danke im Voraus.

Antwort

19

Diese Methode wurde in 0,16 entfernt, ersetzt durch eine (sehr unterschiedliche) check_array Funktion. Sie erhalten diesen Fehler wahrscheinlich, weil Sie nicht ordnungsgemäß von 0,15 auf 0,16 aktualisiert haben. [Oder weil du dich in sklearn auf eine nicht wirklich öffentliche Funktion verlassen hast]. Siehe http://scikit-learn.org/dev/install.html#canopy-and-anaconda-for-all-supported-platforms. Wenn Sie mit Anaconda/Conda installiert haben, sollten Sie den Conda-Mechanismus verwenden, um zu aktualisieren, nicht pip. Sonst verbleiben alte .pyc-Dateien in Ihrem Ordner.

+0

Ich verwendete die Version 0.16. Also musste ich effektiv von 0,15 auf 0,16 aktualisieren. Der Befehl conda install scikit-learn hat ziemlich gut funktioniert und mein Problem gelöst! Vielen Dank;) – rado

+0

Dann sollten Sie wahrscheinlich die Antwort akzeptieren;) –

+0

danke für die Erwähnung von .pyc-Dateien, sie machten den Unterschied in meinem Fall – Pafnucy

4

Für mich ...

Das funktionierte:

from sklearn.utils import check_array 

Auch dies:

from sklearn.utils.validation import check_array 

Ich bin mit Version 0.16.0

>>> sklearn.__version__

'0.16.0'

dies tun:

import sklearn 

print sklearn.__version__ 

Teilen Sie uns die Ergebnisse mit.

+0

Funktioniert es immer noch für Sie? Ich habe ein Problem mit der aktuellen Version und ich würde mich freuen, wenn Sie sich das einmal ansehen könnten: https://stackoverflow.com/questions/45172561/scikit-learn-valueerror-not-enough-values-to-unpack -erwartete-2-bekam-1 –

8

Es scheint, als ob "check_arrays" nicht existiert (mehr). Ich reparierte es mit:

sudo vi /usr/lib64/python2.7/site-packages/sklearn/metrics/cluster/bicluster/bicluster_metrics.py

Änderung folgt aus: von sklearn.utils.validation import check_arrays bis: von sklearn.utils.validation import check_array als check_arrays

Art von einem Hack, aber es funktioniert für mich.

Verwandte Themen