我是机器学习和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.
答案 0 :(得分:0)
检查您正在使用的python版本。是64位还是32位?我唯一一次看到这个错误是在包类型和Python版本不匹配的时候。
如果没有任何错误,您可以尝试以下方法:
import imp
imp.find_module("sklearn")
这将告诉您正在加载的内容及其加载路径。
如果那是加载正确的包,我说试试手动安装包二进制而不是通过pip。但是我只是测试它并看到它在我的系统上工作。
答案 1 :(得分:0)
我完全同意使用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)
答案 2 :(得分:-1)
虽然很难根据提供的内容猜测您遇到的问题,但请尝试以下操作:
from sklearn.model_selection import cross_validate
from sklearn.neighbors import KNeighborsClassifier