невозможно установить указанную c более старую версию sklearn для решения несовместимой «ошибки атрибута SV C» в pyadio analysis lib - PullRequest
0 голосов
/ 15 января 2020

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

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'

очевидно Это конфликт между старыми и более новыми версиями SV C в 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 1022 *

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

Документация 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 МБ)

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

!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 использовать старый совместимый SV C, чтобы сделать ошибку go прочь?

1 Ответ

1 голос
/ 15 января 2020

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

Итак, запустите

!pip install --upgrade scikit-learn==0.19.1
...