не удается установить конкретную старую версию 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