2015-04-13 13 views
17

Sto cercando di utilizzare una funzione SVM dal scikit imparare pacchetto per python ma ottengo il messaggio di errore:check_arrays di importazione dalla sklearn

from sklearn.utils.validation import check_arrays 

ImportError: cannot import name 'check_arrays'

sto usando python 3.4. Qualcuno può darmi un consiglio? Grazie in anticipo.

risposta

19

Questo metodo è stato rimosso in 0.16, sostituito da una (molto diversa) funzione check_array. È probabile che si verifichi questo errore perché non è stato eseguito l'aggiornamento da 0.15 a 0.16 correttamente. [O perché hai fatto affidamento su una funzione non proprio pubblica in sklearn]. Vedi http://scikit-learn.org/dev/install.html#canopy-and-anaconda-for-all-supported-platforms. Se si è installato utilizzando anaconda/conda, è necessario utilizzare il meccanismo di conda per aggiornare, non pip. In caso contrario, i vecchi file .pyc potrebbero rimanere nella cartella.

+0

Stavo usando la versione 0.16. Quindi ho effettivamente dovuto aggiornare correttamente da 0.15 a 0.16. Il comando conda install scikit-learn ha funzionato abbastanza bene e ha risolto il mio problema! Grazie mille;) – rado

+0

Allora dovresti probabilmente accettare la risposta;) –

+0

grazie per aver menzionato i file .pyc, hanno fatto la differenza nel mio caso – Pafnucy

4

Per me ...

questo ha funzionato:

from sklearn.utils import check_array 

anche questo:

from sklearn.utils.validation import check_array 

Sto usando la versione 0.16.0

>>> sklearn.__version__

'0.16.0'

Fate questo:

import sklearn 

print sklearn.__version__ 

Raccontaci i risultati.

+0

Funziona ancora per te? Mi sembra di avere un problema con la versione recente e sarei grato se potessi dare un'occhiata a questo: https://stackoverflow.com/questions/45172561/scikit-learn-valueerror-not-enough-values-to-unpack -expected-2-got-1 –

8

Sembra che "check_arrays" non esista (più). ho riparato con:

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

cambiamento questo: da sklearn.utils.validation check_arrays importazione a: da sklearn.utils.validation importazione check_array come check_arrays

una specie di hack, ma funziona per me.

Problemi correlati