не удается установить конкретную старую версию sklearn для устранения несовместимой "ошибки атрибута SVC" в библиотеке анализа pyadio

Этот код ниже предназначен для сегментации аудиофайлов.

from pyAudioAnalysis import audioSegmentation as aS
[flagsInd, classesAll, acc, CM] = aS.mtFileClassification("diarizationExample.wav", "svmSM", "svm", True, 'dar.segments.txt')

он дает мне это предупреждение:

C:\Users\Kenzhegaliyev_EK\AppData\Local\Continuum\anaconda3\lib\site-packages\pydub\utils.py:165: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
C:\Users\Kenzhegaliyev_EK\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\utils\deprecation.py:144: FutureWarning: The sklearn.svm.classes module is  deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.svm. Anything that cannot be imported from sklearn.svm is now part of the private API.
  warnings.warn(message, FutureWarning)
C:\Users\Kenzhegaliyev_EK\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\base.py:318: UserWarning: Trying to unpickle estimator SVC from version 0.19.1 when using version 0.22.1. This might lead to breaking code or invalid results. Use at your own risk.
  UserWarning)

и эта ошибка:

C:\Users\Kenzhegaliyev_EK\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\svm\_base.py in predict(self, X)
    583         """
    584         check_is_fitted(self)
--> 585         if self.break_ties and self.decision_function_shape == 'ovo':
    586             raise ValueError("break_ties must be False when "
    587                              "decision_function_shape is 'ovo'")

AttributeError: 'SVC' object has no attribute 'break_ties'

по-видимому, это конфликт между старыми и новыми версиями SVC в sklearn.

В предупреждении говорится, что я, вероятно, должен использовать sklearn version = 0.19.1

Я попытался установить текущий и обновить до более старого sklearn. Я не могу использовать оболочку, она ограничена, поэтому я запускаю весь код в jupyter:

!pip install sklearn
Installing collected packages: sklearn
Successfully installed sklearn-0.0

import sklearn
sklearn.__version__
'0.22.1'

!pip install --upgrade sklearn==0.19.1
ERROR: Could not find a version that satisfies the requirement sklearn==0.19.1 (from versions: 0.0)
ERROR: No matching distribution found for sklearn==0.19.1

на официальном сайте sklearn нет версии 0.19.1:

Веб-документация доступна для версий, перечисленных ниже:

Документация Scikit-learn 0.23.dev0 (dev) (PDF, 48,5 МБ)

Документация Scikit-learn 0.22.1 (стабильная) (PDF 48,5 МБ)

Документация Scikit-learn 0.21.3 (PDF 46,7 МБ)

Документация Scikit-learn 0.20.4 (PDF 45,2 МБ)

Документация Scikit-learn 0.19.2 (PDF, 42,2 МБ)

Документация Scikit-learn 0.18.2 (PDF 46,5 МБ)

Документация Scikit-learn 0.17.1 (PDF 46,0 МБ)

Документация Scikit-learn 0.16.1 (PDF 56,8 МБ)

Я пробовал установить любой другой старый склеарн, какой есть:

!pip install --upgrade sklearn==0.18.2
ERROR: Could not find a version that satisfies the requirement sklearn==0.18.2 (from versions: 0.0)
ERROR: No matching distribution found for sklearn==0.18.2

!pip install --upgrade sklearn==0.19.2
ERROR: Could not find a version that satisfies the requirement sklearn==0.19.2 (from versions: 0.0)
ERROR: No matching distribution found for sklearn==0.19.2

Как установить правильный старый sklearn, чтобы использовать более старый совместимый SVC, чтобы ошибка исчезла?

1 ответ

Релизов sklearn очень мало. Это потому, что правильное название являетсяscikit-learn: https://pypi.org/project/scikit-learn/

Так беги

!pip install --upgrade scikit-learn==0.19.1
Другие вопросы по тегам