Я должен внедрить классификатор svm в более старую версию scikit-learn. Модель, которую я обучил на scikit-learn (0.20.3), похоже, не работает с версией, которая используется для моего проекта (0.15.2), она возвращает: AttributeError: у объекта 'SVC' нет атрибута '_imp1'. Чтобы решить эту проблему, я хотел бы установить более старую версию scikit-learn, чтобы переучить мою модель на этой версии. Я продолжаю получать следующие ошибки при попытке установить более старую версию scikit-learn для python 3.5 и 3.7 в Windows 10:
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
Setuptools,
токенизировать; файл = 'C: \ Users \ pat2 \ AppData \ Local \ Temp \ пип-установки-77bzkmyc \ scikit учиться \ setup.py', F = GetAttr (разбития,
'open', open) ( file ); code = f.read (). replace ('\ r \ n',
'\ n'); f.close (); exec (скомпилировать (код, file , 'exec')) "install
--record C: \ Users \ Pat2 \ AppData \ Local \ Temp \ pip-record-4hjlpz98 \ install-record.txt
--single-version-exte rnally-managed --compile --user --prefix = "не удалось с кодом ошибки 1 в
C: \ Users \ pat2 \ AppData \ Local \ Temp \ пип-установки-77bzkmyc \ scikit учиться \
Распечатанный журнал очень длинный, поэтому я не уверен, какую часть здесь скопировать. Следующая ошибка также печатается, но не останавливает процесс установки:
ошибка: команда "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 \ сайт-пакеты \ NumPy \ ядро \ включают
-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._msvccompiler' в numpy.distutils;
пытается от distutils
Пока я пробовал эти вещи:
- Установлен Cython 0.27.3
- Установленный атлас
- Установка Scikit-Learn 0.15.3 вручную через setup.py
- Получение scikit-learn 0.15.3 напрямую с Github
- Переустановка Microsoft visual studio C ++
- Попробовал на другом компьютере, что привело к той же проблеме
Но ни одно из этих действий не изменило результат установки scikit-learn 0.15.3
EDIT:
У меня такая же проблема при попытке установить scikit-learn 0.19.0
Добавлена дополнительная информация в первый журнал ошибок