Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python sklearn导入返回错误_Python_Python 3.x_Scikit Learn - Fatal编程技术网

Python sklearn导入返回错误

Python sklearn导入返回错误,python,python-3.x,scikit-learn,Python,Python 3.x,Scikit Learn,我不熟悉机器学习和sklearn软件包。当尝试导入sklearn时,我收到一个错误,说它找不到DLL。我通过pip安装了sklearn,卸载了包括python在内的所有内容,并重新安装了所有内容,但仍然存在相同的问题。此计算机上只安装了一个python版本。我正在运行python 3.6.1,并安装了visual studio 2017社区。所有包裹都是最新的。回溯如下。(已从所有路径中删除用户名) 正在运行的代码: import numpy as np from sklearn import

我不熟悉机器学习和sklearn软件包。当尝试导入sklearn时,我收到一个错误,说它找不到DLL。我通过pip安装了sklearn,卸载了包括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.
将numpy导入为np
从sklearn导入交叉验证,邻居
作为pd进口熊猫
回溯(最近一次呼叫最后一次):
文件“C:/Users/Public/Documents/Machine learning project/Classification/KNN.py”,第2行,在
从sklearn导入交叉验证,邻居
文件“C:\Users\\AppData\Roaming\Python\Python36\site packages\sklearn\\uuuu init\uuuu.py”,第134行,在
从.base导入克隆
文件“C:\Users\\AppData\Roaming\Python\Python36\site packages\sklearn\base.py”,第11行,在
从scipy导入稀疏
文件“C:\Users\\AppData\Roaming\Python\Python36\site packages\scipy\sparse\\uuuu init\uuuu.py”,第229行,在
从.csr导入*
文件“C:\Users\\AppData\Roaming\Python\Python36\site packages\scipy\sparse\csr.py”,第15行,在
从._sparsetools导入csr\u tocsc、csr\u tobsr、csr\u count\u块、获取csr\u子矩阵、csr\u采样值
ImportError:DLL加载失败:%1不是有效的Win32应用程序。

检查您正在使用的python版本。是64位还是32位?我唯一一次看到这个错误是当包类型和Python版本不匹配时

如果没有问题,您可以尝试以下方法:

import imp
imp.find_module("sklearn")
from sklearn.model_selection import cross_validate
from sklearn.neighbors import KNeighborsClassifier
这将准确地告诉您加载的内容和加载路径


如果加载的是正确的包,我会说尝试手动安装包二进制文件,而不是通过pip。不过,我只是测试了它,并看到它在我的系统上工作。

尽管根据提供的信息很难猜测您遇到的问题,但请尝试以下操作:

import imp
imp.find_module("sklearn")
from sklearn.model_selection import cross_validate
from sklearn.neighbors import KNeighborsClassifier

我完全同意使用sklearn.model_selection import cross_validate中的,但当您尝试训练数据集时,该过程失败。我建议导入以下库,因为您的目标是执行训练测试分割功能:

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)

使用64位版本的python更新SCIPY,我认为使用PIP可以安装正确版本的软件包。但至少就我而言,它似乎没有。我现在已经编译了二进制文件并以这种方式安装,世界上的一切又一次正常了!谢谢,请检查您的pip列表