sklearn import возвращает ошибку - PullRequest
0 голосов
/ 14 мая 2018

Я новичок в машинном обучении и пакете sklearn. при попытке импортировать sklearn я получаю сообщение о том, что не удается найти DLL. Я установил sklearn через pip, удалил все, включая python, и переустановил все это, и все еще имею ту же проблему. на этой машине установлена ​​только одна версия python. Я использую Python 3.6.1, и у меня также установлено сообщество visual studio 2017. Все пакеты актуальны. Обратный след выглядит следующим образом. (удалено имя пользователя из всех путей)

код запускается:

import numpy as np
from sklearn import cross_validation, neighbors
import pandas as pd

Traceback (most recent call last):
  File "C:/Users/Public/Documents/Machine learning project/Classification/KNN.py", line 2, in <module>
    from sklearn import cross_validation, neighbors
  File "C:\Users\\AppData\Roaming\Python\Python36\site-packages\sklearn\__init__.py", line 134, in <module>
    from .base import clone
  File "C:\Users\\AppData\Roaming\Python\Python36\site-packages\sklearn\base.py", line 11, in <module>
    from scipy import sparse
  File "C:\Users\\AppData\Roaming\Python\Python36\site-packages\scipy\sparse\__init__.py", line 229, in <module>
    from .csr import *
  File "C:\Users\\AppData\Roaming\Python\Python36\site-packages\scipy\sparse\csr.py", line 15, in <module>
    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, get_csr_submatrix, csr_sample_values
ImportError: DLL load failed: %1 is not a valid Win32 application.

Ответы [ 3 ]

0 голосов
/ 14 мая 2018

Хотя трудно догадаться о проблеме, с которой вы столкнулись, исходя из предоставленных данных, попробуйте следующее:

from sklearn.model_selection import cross_validate
from sklearn.neighbors import KNeighborsClassifier
0 голосов
/ 01 февраля 2019

Я полностью согласен с использованием из sklearn.model_selection import cross_validate , но процесс завершается неудачно, когда вы пытаетесь обучить набор данных. Я скорее рекомендую импортировать приведенную ниже библиотеку, поскольку ваша цель - выполнить функцию train_test_split:

from sklearn.model_selection import train_test_split as tts   
...
...
...
train_feats, test_feats, train_labels, test_labels = tts(features, labels, test_size=0.2)
0 голосов
/ 14 мая 2018

Проверьте версию Python, которую вы используете. Это 64-битный или 32-битный? Единственный раз, когда я видел эту ошибку, было несоответствие между типом пакета и версией Python.

Если там нет ничего плохого, вы можете попробовать следующее:

import imp
imp.find_module("sklearn")

Это точно скажет вам, что загружается, и путь, из которого оно загружается.

Если это загрузка правильного пакета, я бы сказал, попробуйте установить двоичный пакет вручную, а не через pip. Однако я только что проверил его и увидел, что он работает в моей системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...