Версия 1.7#

Для краткого описания основных особенностей выпуска, пожалуйста, обратитесь к Основные новости выпуска scikit-learn 1.7.

Легенда для списков изменений

  • Основная функция что-то большое, что вы не могли сделать раньше.

  • Функция что-то, что вы не могли делать раньше.

  • Эффективность существующий признак теперь может не требовать столько вычислений или памяти.

  • Улучшение различные мелкие улучшения.

  • Исправление то, что ранее не работало, как задокументировано – или согласно разумным ожиданиям – теперь должно работать.

  • Изменение API вам потребуется изменить свой код, чтобы добиться того же эффекта в будущем; или функция будет удалена в будущем.

Версия 1.7.2#

Сентябрь 2025

sklearn.compose#

  • Исправление compose.TransformedTargetRegressor теперь передает преобразованную целевую переменную регрессору с тем же количеством измерений, что и исходная целевая переменная. С помощью kryggird. #31563

sklearn.feature_extraction#

sklearn.impute#

  • Исправление Исправлена ошибка в impute.SimpleImputer с strategy="most_frequent" когда есть ничья в наиболее частом значении и входные данные имеют смешанные типы. По Alexandre Abraham. #31820

sklearn.linear_model#

  • Исправление Исправлена ошибка с solver="newton-cholesky" в многоклассовых задачах в linear_model.LogisticRegressionCV и в linear_model.LogisticRegression при использовании с warm_start=True. Ошибка появлялась либо с fit_intercept=True или с penalty=None (оба приводят к нештрафуемым параметрам для решателя). Коэффициенты и пересечения последнего класса, предоставленные теплым стартом, были частично неправильно перезаписаны нулями. По Christian Lorentzen. #31866

sklearn.pipeline#

  • Исправление pipeline.FeatureUnion теперь проверяет, что все преобразователи возвращают 2D выходные данные, и вызывает информативную ошибку, когда преобразователи возвращают 1D выходные данные, предотвращая тихие сбои, которые ранее приводили к бессмысленным объединённым результатам. С помощью gguiomar. #31559

Версия 1.7.1#

Июль 2025

sklearn.base#

  • Исправление Исправление регрессии в HTML-представлении при обнаружении нестандартных параметров, которые были типами array-like. Автор Dea María Léon #31528

sklearn.compose#

  • Исправление compose.ColumnTransformer теперь корректно сохраняет нестандартный индекс при смешивании pandas Series и Dataframes. По Nicolas Bolle. #31079

sklearn.datasets#

sklearn.inspection#

  • Исправление Исправлены несколько проблем в многоклассовой настройке inspection.DecisionBoundaryDisplay:

    • contour построение графиков теперь корректно показывает границу решения.

    • cmap и colors теперь правильно игнорируются в пользу multiclass_colors.

    • Линейные сегментированные цветовые карты теперь полностью поддерживаются.

    По Yunjie Lin #31553

sklearn.naive_bayes#

  • Исправление naive_bayes.CategoricalNB теперь правильно указывает, что принимает категориальные признаки в тегах, возвращаемых его __sklearn_tags__ метод. Путем Оливье Гризель #31556

sklearn.utils#

  • Исправление Исправлено ложное предупреждение (о том, что количество уникальных классов превышает 50% от количества образцов), которое могло возникать при передаче classes utils.multiclass.type_of_target. Путем Sascha D. Krauss. #31584

Версия 1.7.0#

Июнь 2025

Измененные модели#

  • Исправление Изменить ConvergenceWarning сообщение оценщиков, которые полагаются на "lbfgs" оптимизатор внутренне, чтобы быть более информативным и избегать предложений увеличить максимальное количество итераций, когда оно не устанавливается пользователем или когда проблема сходимости возникает до его достижения. Путём Оливье Гризель. #31316

Изменения, затрагивающие многие модули#

  • Разреженное обновление: В рамках изменения SciPy с spmatrix на sparray все внутреннее использование разреженных объектов теперь поддерживает как sparray, так и spmatrix. Все манипуляции с разреженными объектами должны работать как для spmatrix, так и для sparray. Это первый этап миграции к sparray (см. Миграция SciPy на sparray По Дэн Шульт #30858

Поддержка Array API#

Дополнительные оценщики и функции были обновлены для включения поддержки всех Array API соответствующие входные данные.

См. Поддержка Array API (экспериментальная) для получения дополнительной информации.

при использовании парсера pandas. Параметр#

См. Руководство по маршрутизации метаданных для более подробной информации.

  • Функция ensemble.BaggingClassifier и ensemble.BaggingRegressor теперь поддерживают маршрутизацию метаданных через свои predict, predict_proba, predict_log_proba и decision_function методы и передают **params к базовым оценщикам. С помощью Stefanie Senger. #30833

sklearn.base#

  • Улучшение base.BaseEstimator теперь имеет параметр table, добавленный к HTML-представлению оценщиков, которое можно визуализировать с помощью jupyter. С помощью Guillaume Lemaitre и Dea María Léon #30763

sklearn.calibration#

  • Исправление CalibratedClassifierCV теперь вызывает FutureWarning вместо UserWarning при передаче cv="prefit”. С помощью Оливье Гризель

  • CalibratedClassifierCV с method="sigmoid" больше не приводит к сбоям при передаче float64-dtyped sample_weight вместе с базовым оценщиком, который выводит float32-типизированные предсказания. Путем Olivier Grisel #30873

sklearn.compose#

sklearn.covariance#

  • Исправление Поддержка n_samples == n_features в sklearn.covariance.MinCovDet был восстановлен. С помощью Antony Lee. #30483

sklearn.datasets#

sklearn.decomposition#

sklearn.ensemble#

sklearn.feature_selection#

  • Улучшение feature_selection.RFECV теперь предоставляет доступ к ранжированию и поддержке на каждой итерации и шаге кросс-валидации при выборе признаков. Автор Marie S. #30179

  • Исправление feature_selection.SelectFromModel теперь корректно работает, когда оценщик является экземпляром linear_model.ElasticNetCV raw_covariance_ l1_ratio параметр является array-like. Путем Vasco Pereira. #31107

sklearn.gaussian_process#

sklearn.inspection#

  • Улучшение Добавить custom_values параметр в inspection.partial_dependence. Это позволяет пользователям передавать собственную сетку значений, для которой следует вычислить частичную зависимость. Freddy A. Boulton и Stephen Pardy #26202

  • Улучшение inspection.DecisionBoundaryDisplay теперь поддерживает построение графиков всех классов для многоклассовых задач, когда response_method является 'decision_function', 'predict_proba' или 'auto'. По Lucy Liu #29797

  • Исправление inspection.partial_dependence теперь выдает информативную ошибку при передаче пустого списка в качестве categorical_features параметр. None следует использовать вместо этого, чтобы указать, что категориальные признаки отсутствуют. По Pedro Lopes. #31146

  • Изменение API inspection.partial_dependence больше не принимает целочисленный dtype для числовых столбцов признаков. Теперь требуется явное преобразование в значения с плавающей точкой перед вызовом этого инструмента (и предпочтительно даже перед обучением модели для инспекции). По Оливье Гризель #30409

sklearn.linear_model#

sklearn.manifold#

  • Улучшение manifold.MDS переключится на использование n_init=1 по умолчанию, начиная с версии 1.9. С помощью Dmitry Kobak #31117

  • Исправление manifold.MDS теперь корректно обрабатывает неметрическое MDS. Кроме того, возвращаемое значение стресса теперь соответствует возвращаемому вложению и нормализованный стресс теперь разрешен для метрического MDS. Автор Dmitry Kobak #30514

  • Исправление manifold.MDS теперь использует eps=1e-6 по умолчанию, и критерий сходимости был скорректирован, чтобы иметь смысл как для метрического, так и для неметрического MDS и следовать эталонной реализации на R. Формула для нормализованного стресса была скорректирована, чтобы следовать исходному определению Крускала. Автор Dmitry Kobak #31117

sklearn.metrics#

sklearn.mixture#

  • Функция Добавлен атрибут lower_bounds_ в mixture.BaseMixture класс для сохранения списка нижних границ для каждой итерации, тем самым предоставляя инсайты в поведение сходимости моделей смесей, таких как mixture.GaussianMixture. Путем Манидип Йенугула #28559

  • Эффективность Упрощённое избыточное вычисление при оценке ковариаций в GaussianMixture с covariance_type="spherical" или covariance_type="diag". Путем Leonce Mekinda и Оливье Гризель #30414

  • Эффективность GaussianMixture теперь последовательно работает на float32 точность при обучении с float32 данные для повышения скорости обучения и эффективности использования памяти. Ранее часть вычислений неявно преобразовывалась в float64. С помощью Оливье Гризель и Omar Salman. #30415

sklearn.model_selection#

  • Исправление Оптимизаторы гиперпараметров, такие как model_selection.GridSearchCV теперь перенаправляет sample_weight в оценщик, даже когда маршрутизация метаданных не включена. По Antoine Baker #30743

sklearn.multiclass#

sklearn.multioutput#

sklearn.neural_network#

sklearn.pipeline#

sklearn.preprocessing#

  • Улучшение preprocessing.KBinsDiscretizer с strategy="uniform" теперь принимает sample_weight. Дополнительно с strategy="quantile" the quantile_method теперь может быть указан (в будущем quantile_method="averaged_inverted_cdf" станет значением по умолчанию). С помощью Шрути Нат и Оливье Гризель #29907

  • Исправление preprocessing.KBinsDiscretizer теперь использует взвешенную повторную выборку, когда заданы веса образцов и используется субдискретизация. Это может изменить результаты даже при неиспользовании весов образцов, хотя в абсолютных, а не в статистических свойствах. По Шрути Нат и Жереми дю Буаберранже #29907

  • Исправление Теперь используя scipy.stats.yeojohnson вместо нашей собственной реализации преобразования Йео-Джонсона. Исправлена численная устойчивость (в основном переполнения) преобразования Йео-Джонсона с PowerTransformer(method="yeo-johnson") когда версия scipy >= 1.12. Начальный PR от Xuefeng Xu завершено Mohamed Yaich, Oussama Er-rabie, Мохаммед Яслам Длими, Hamza Zaroual, Амин Ханнун и Sylvain Marié. #31227

sklearn.svm#

sklearn.utils#

  • Улучшение utils.multiclass.type_of_target вызывает предупреждение, когда количество уникальных классов превышает 50% от количества образцов. Это предупреждение выводится только если y имеет более 20 образцов. По Rahil Parikh. #26335

  • Улучшение :func: resample теперь обрабатывает веса выборок, что позволяет взвешенное повторное сэмплирование. По Шрути Нат и Оливье Гризель #29907

  • Улучшение utils.class_weight.compute_class_weight теперь правильно учитывает веса образцов при использовании стратегии "balanced" для расчета весов классов. С помощью Шрути Нат #30057

  • Улучшение Фильтры предупреждений из основного процесса передаются воркерам joblib. По Томас Фан #30380

  • Улучшение Вспомогательная приватная функция utils._safe_indexing теперь официально поддерживает data pyarrow. Например, передача pyarrow Table как X в compose.ColumnTransformer теперь возможно. Путем Christian Lorentzen #31040

  • Исправление В utils.estimator_checks мы теперь применяем для бинарных классификаторов бинарный y путем взятия минимума в качестве отрицательного класса вместо первого элемента, что делает его устойчивым к y перемешивание. Это предотвращает ошибочное срабатывание двух проверок для бинарных классификаторов. Путем Antoine Baker. #30775

  • Исправление utils.extmath.randomized_svd и utils.extmath.randomized_range_finder теперь проверяют входной массив, чтобы раньше завершаться с информативным сообщением об ошибке при недопустимом вводе. По Connor Lane. #30819

Участники кода и документации

Спасибо всем, кто внес вклад в поддержку и улучшение проекта с версии 1.6, включая:

4hm3d, Aaron Schumacher, Abhijeetsingh Meena, Acciaro Gennaro Daniele, Achraf Tasfaout, Adriano Leão, Adrien Linares, Adrin Jalali, Agriya Khetarpal, Aiden Frank, Aitsaid Azzedine Idir, ajay-sentry, Akanksha Mhadolkar, Alexandre Abraham, Alfredo Saucedo, Anderson Chaves, Andres Guzman-Ballen, Aniruddha Saha, antoinebaker, Antony Lee, Arjun S, ArthurDbrn, Arturo, Arturo Amor, ash, Ashton Powell, ayoub.agouzoul, Ayrat, Bagus Tris Atmaja, Benjamin Danek, Boney Patel, Camille Troillard, Chems Ben, Christian Lorentzen, Christian Veenhuis, Christine P. Chai, claudio, Code_Blooded, Colas, Colin Coe, Connor Lane, Corey Farwell, Daniel Agyapong, Dan Schult, Dea María Léon, Deepak Saldanha, dependabot[bot], Dhyey Findoriya, Dimitri Papadopoulos Orfanos, Dmitry Kobak, Domenico, elenafillo, Elham Babaei, emelia-hdz, EmilyXinyi, Emma Carballal, Eric Larson, Eugen-Bleck, Evgeni Burovski, fabianhenning, Gael Varoquaux, GaetandeCast, Gil Ramot, Gonçalo Guiomar, Gordon Grey, Goutam, G Sreeja, Guillaume Lemaitre, Haesun Park, hakan çanakçı, Hanjun Kim, Helder Geovane Gomes de Lima, Henri Bonamy, Hleb Levitski, Hugo Boulenger, IlyaSolomatin, Irene, Jérémie du Boisberranger, Jérôme Dockès, JoaoRodriguesIST, Joel Nothman, Joris Van den Bossche, Josh, jshn9515, KALLA GANASEKHAR, Kevin Klein, Krishnan Vignesh, kryggird, Loic Esteve, Lucas Colley, Luc Rocher, Lucy Liu, Luis M. B. Varona, lunovian, Mamduh Zabidi, Marc Bresson, Marco Edward Gorelli, Marco Maggi, Marek Pokropiński, Maren Westermann, Marie Sacksick, Marija Vlajic, Martin Jurča, Mayank Raj, Michael Burkhart, Miguel González Duque, Mihir Waknis, Miro Hrončok, Mohamed Ali SRIR, Mohamed DHIFALLAH, mohammed benyamna, Mohit Singh Thakur, Mounir Lbath, myenugula, Natalia Mokeeva, Nicolas Bolle, Olivier Grisel, omahs, Omar Salman, Pedro Lopes, Pedro Olivares, Peter Holzer, Prashant Bansal, Preyas Shah, Radovenchyk, Rahil Parikh, Rémi Flamary, Reshama Shaikh, Richard Harris, Rishab Saini, rolandrmgservices, SanchitD, Santiago Castro, Santiago Víquez, saskra, scikit-learn-bot, Scott Huberty, Shashank S, Shaurya Bisht, Shivam, Shruti Nath, Siddharth Bansal, SIKAI ZHANG, Simarjot Sidhu, sisird864, SiyuJin-1, Somdutta Banerjee, Sortofamudkip, sotagg, Sourabh Kumar, Stefan, Stefanie Senger, Stefano Gaspari, Steffen Rehberg, Stephen Pardy, Success Moses, Sylvain Combettes, Tahar Allouche, Thomas J. Fan, Thomas Li, ThorbenMaa, Tim Head, Tingwei Zhu, TJ Norred, Umberto Fasci, UV, Vasco Pereira, Vassilis Margonis, Velislav Babatchev, Victoria Shevchenko, viktor765, Vipsa Kamani, VirenPassi, Virgil Chan, vpz, Xiao Yuan, Yaich Mohamed, Yair Shimony, Yao Xiao, Yaroslav Halchenko, Yulia Vilensky, Yuvi Panda