我必须在旧版本的scikit-learn中实现svm分类器。我在scikit-learn(0.20.3)上训练的模型似乎不适用于我的项目(0.15.2)所使用的版本,它返回:AttributeError:'SVC'对象没有属性'_imp1'。为了解决此问题,我想安装scikit-learn的旧版本,以便在该版本上重新训练我的模型。尝试在Windows 10上同时为python 3.5和3.7安装较旧版本的scikit-learn时,出现以下错误:
c:\program files (x86)\python37-32\include\pystate.h(209): note:
请参阅“ _ts”的声明 sklearn \ cluster_dbscan_inner.cpp(5971):错误C2039:'exc_type':不是'_ts'的成员 c:\ program files(x86)\ python37-32 \ include \ pystate.h(209):注意:请参见“ _ts”的声明 sklearn \ cluster_dbscan_inner.cpp(5972):错误C2039:'exc_value':不是'_ts'的成员 c:\ program files(x86)\ python37-32 \ include \ pystate.h(209):注意:请参见“ _ts”的声明 sklearn \ cluster_dbscan_inner.cpp(5973):错误C2039:'exc_traceback':不是'_ts'的成员 c:\ program files(x86)\ python37-32 \ include \ pystate.h(209):注意:请参见“ _ts”的声明
----------------------------------------
命令““ c:\ program files(x86)\ python37-32 \ python.exe” -u -c“ import 设置工具 标记化; 文件 ='C:\ Users \ Pat2 \ AppData \ Local \ Temp \ pip-install-77bzkmyc \ scikit-learn \ setup.py'; f = getattr(标记化, 'open',open)(文件); code = f.read()。replace('\ r \ n', '\ n'); f.close(); exec(compile(code, file ,'exec')))“安装 --record C:\ Users \ Pat2 \ AppData \ Local \ Temp \ pip-record-4hjlpz98 \ install-record.txt --single-version-exte一般管理的--compile --user --prefix =“失败,错误代码为1 C:\ Users \ Pat2 \ AppData \ Local \ Temp \ pip-install-77bzkmyc \ scikit-learn \
打印出来的日志很长,所以我不确定要在此处复制哪一部分。还会显示以下错误,但不会停止安装过程:
错误:命令“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.15.26726 \ bin \ HostX86 \ x86 \ cl.exe / c / nologo / Ox / W3 / GL / DNDEBUG / MD -IC:\ Users \ Pat2 \ AppData \ Roaming \ Python \ Python3 7 \ site-packages \ numpy \ core \ include -Isklearn \ svm \ src \ libsvm -IC:\ Users \ Pat2 \ AppData \ Roaming \ Python \ Python37 \ site-packages \ numpy \ core \ include -I“ c:\ program files(x86)\ python37-32 \ include” -I“ c:\ program files(x86)\ python37-32 \ include” -I“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ VC \ Tools \ MSVC \ 14.15.26726 \ include“ -I” C:\ Program 文件(x86)\ Windows Kits \ 10 \ include \ 10.0.16299.0 \ ucrt“ -I” C:\ Program 文件(x 86)\ Windows Kits \ 10 \ include \ 10.0.16299.0 \ shared“ -I“ C:\ Program Files(x86)\ Windows Kits \ 10 \ include \ 10.0.16299.0 \ um” -I“ C:\ Program Files(x86)\ Windows Kits \ 10 \ include \ 10.0.16299.0 \ winrt” -I“ C:\ Program Files(x86)\ W indows Kits \ 10 \ include \ 10.0.16299.0 \ cppwinrt” /Tcsklearn\svm\libsvm.c /Fobuild\temp.win32-3.7\Release\sklearn\svm\libsvm.obj”失败, 退出状态2
以下消息也经常出现:
在numpy.distutils中没有名为“ numpy.distutils._msvccompiler”的模块; 从distutils尝试
到目前为止,我已经尝试过这些事情:
但是这些操作都没有改变安装scikit-learn 0.15.3的结果
编辑:
尝试安装scikit-learn 0.19.0时遇到相同的问题
在第一个错误日志中添加了更多信息