Я заметил разницу между установками Anaconda в Linux и MacOS. Каждый показывает разные значения по умолчанию для параметра cv
для validation_curve. Linux показывает cv=None
, но MacOS показывает нечетное cv="warn"
. Я не вижу объяснения cv="warn"
в документации scikit-learn я также не нашел ничего полезного из онлайн-поиска.
Что означает cv="warn"
? Это проблемно?
Я также вижу, что error_score=nan
в Linux, но error_score='raise-deprecating'
в MacOS.
Это изменение параметров происходит из-за разных номеров версий Anaconda или из-за ОС?
Я получаю такую же подпись от оператора ?
в записных книжках Jupyter.
-------------- Linux --------------
Python 3.7.6 (default, Jan 8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn.model_selection import validation_curve
>>> help(validation_curve)
Help on function validation_curve in module sklearn.model_selection._validation:
validation_curve(estimator, X, y, param_name, param_range, groups=None, cv=None, scoring=None, n_jobs=None, pre_dispatch='all', verbose=0, error_score=nan)
Validation curve. ...
-------------- MacOS --------------
Python 3.7.4 (default, Aug 13 2019, 15:17:50)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn.model_selection import validation_curve
>>> help(validation_curve)
Help on function validation_curve in module sklearn.model_selection._validation:
validation_curve(estimator, X, y, param_name, param_range, groups=None, cv='warn', scoring=None, n_jobs=None, pre_dispatch='all', verbose=0, error_score='raise-deprecating')
Validation curve. ...
1 ответ
Это потому, что две версии scikit-learn (в Linux и MacOS) разные. Согласно PR № 11557, CV по умолчанию (kfold cross- validation) значение было изменено с 3 на 5. warn
используется в scikit-learn для отображения предупреждения при изменении значения параметра по умолчанию. Узнайте больше от разработчика scikit-learn документация по взносам.
Например,
Если значение параметра по умолчанию необходимо изменить, замените значение по умолчанию на конкретное значение (например, предупреждение) и увеличьте
FutureWarning
, когда пользователи используют значение по умолчанию. В следующем примере мы меняем значение по умолчаниюn_clusters
с 5 на 10 (текущая версия - 0.20).
import warnings
def example_function(n_clusters='warn'):
if n_clusters == 'warn':
warnings.warn("The default value of n_clusters will change from "
"5 to 10 in 0.22.", FutureWarning)
n_clusters = 5
Похожие вопросы
Новые вопросы
linux
ВОПРОСЫ LINUX ДОЛЖНЫ БЫТЬ ПРОГРАММИРОВАНЫ. Используйте этот тег только в том случае, если ваш вопрос касается программирования с использованием API-интерфейсов Linux или специфичного для Linux поведения, а не только потому, что вы случайно запускаете свой код в Linux. Если вам нужна поддержка Linux, вы можете попробовать https://unix.stackexchange.com или сайт Stack Exchange конкретного дистрибутива Linux, например https://askubuntu.com или https://elementaryos.stackexchange.com/.