Версия 0.14#
Версия 0.14#
7 августа 2013
Журнал изменений#
Пропущенные значения в разреженных и плотных матрицах могут быть заполнены с помощью трансформатора
preprocessing.Imputerby Николя Трезеньи.Основная реализация деревьев решений была полностью переписана, что позволяет ускорить индукцию деревьев и снизить потребление памяти во всех оценщиках на основе деревьев. С помощью Gilles Louppe.
Добавлен
ensemble.AdaBoostClassifierиensemble.AdaBoostRegressor, от Noel Dawe и Gilles Louppe. См. AdaBoost раздел руководства пользователя для подробностей и примеров.Добавлен
grid_search.RandomizedSearchCVиgrid_search.ParameterSamplerдля рандомизированной оптимизации гиперпараметров. С помощью Андреас Мюллер.Добавлен бикластеризация алгоритмы (
sklearn.cluster.bicluster.SpectralCoclusteringиsklearn.cluster.bicluster.SpectralBiclustering), методы генерации данных (sklearn.datasets.make_biclustersиsklearn.datasets.make_checkerboard), и метрики оценки (sklearn.metrics.consensus_score). С помощью Kemal Eren.Добавлен Ограниченные машины Больцмана (
neural_network.BernoulliRBM). С помощью Янн Дофин.Поддержка Python 3 от Justin Vincent, Lars Buitinck, Subhodeep Moitra и Оливье Гризель. Все тесты теперь проходят под Python 3.3.
Возможность передавать одно значение штрафа (значение альфа) для каждой цели в
linear_model.Ridge, от @eickenberg и Мати́ Блондель.Исправлено
sklearn.linear_model.stochastic_gradient.pyПроблема L2-регуляризации (незначительная практическая важность). Автор Норберт Кромбах и Мати́ Блондель .Добавлена интерактивная версия Андреас Мюллер’s Шпаргалка по машинному обучению (для scikit-learn) в документацию. См. Выбор подходящего оценщика. Путем Jaques Grobler.
grid_search.GridSearchCVиcross_validation.cross_val_scoreтеперь поддерживают использование расширенных функций оценки, таких как площадь под ROC-кривой и f-бета оценки. См. Параметр scoring: определение правил оценки модели для деталей. С помощью Андреас Мюллер и Lars Buitinck. Передача функции изsklearn.metricsкакscore_funcустарело.Вывод многометочной классификации теперь поддерживается
metrics.accuracy_score,metrics.zero_one_loss,metrics.f1_score,metrics.fbeta_score,metrics.classification_report,metrics.precision_scoreиmetrics.recall_scoreby Arnaud Joly.Две новые метрики
metrics.hamming_lossиmetrics.jaccard_similarity_scoreдобавлены с поддержкой многометочности с помощью Arnaud Joly.Улучшения скорости и использования памяти в
feature_extraction.text.CountVectorizerиfeature_extraction.text.TfidfVectorizer, Йохена Версдёрфера и Романа Синаева.The
min_dfпараметр вfeature_extraction.text.CountVectorizerиfeature_extraction.text.TfidfVectorizer, который раньше был равен 2, был сброшен до 1, чтобы избежать неприятных сюрпризов (пустых словарей) для начинающих пользователей, которые пробуют его на крошечных коллекциях документов. Значение не менее 2 по-прежнему рекомендуется для практического использования.svm.LinearSVC,linear_model.SGDClassifierиlinear_model.SGDRegressorтеперь имеютsparsifyметод, который преобразует ихcoef_в разреженную матрицу, что означает, что сохраненные модели, обученные с использованием этих оценщиков, могут быть сделаны гораздо более компактными.linear_model.SGDClassifierтеперь выдает оценки вероятности многоклассовой классификации при обучении с логарифмическими потерями или модифицированными потерями Хубера.Гиперссылки на документацию в примерах кода на сайте от Martin Luessi.
Исправлена ошибка в
preprocessing.MinMaxScalerвызывая некорректное масштабирование признаков для нестандартныхfeature_rangeнастройки. Автор Andreas Müller.max_featuresвtree.DecisionTreeClassifier,tree.DecisionTreeRegressorи все производные ансамблевые оценщики теперь поддерживают процентные значения. С помощью Gilles Louppe.Улучшения производительности в
isotonic.IsotonicRegressionby Нель Варокво.metrics.accuracy_scoreимеет опцию normalize для возврата доли или количества правильно классифицированных образцов по Arnaud Joly.Добавлен
metrics.log_lossкоторый вычисляет логарифмическую потерю, также известную как кросс-энтропийная потеря. Авторы: Йохен Версдёрфер и Lars Buitinck.Ошибка, которая вызывала
ensemble.AdaBoostClassifierдля вывода неправильных вероятностей был исправлен.Селекторы признаков теперь используют общий миксин, обеспечивающий согласованность
transform,inverse_transformиget_supportметоды. С помощью Joel Nothman.Обученная
grid_search.GridSearchCVилиgrid_search.RandomizedSearchCVтеперь обычно можно сериализовать. С помощью Joel Nothman.Рефакторинг и векторизованная реализация
metrics.roc_curveиmetrics.precision_recall_curve. С помощью Joel Nothman.Новый оценщик
sklearn.decomposition.TruncatedSVDвыполняет уменьшение размерности с использованием SVD на разреженных матрицах и может использоваться для латентно-семантического анализа (LSA). С помощью Lars Buitinck.Добавлен самодостаточный пример обучения вне ядра на текстовых данных Классификация текстовых документов вне памяти. Путем Юсташ Дьемер.
Количество компонентов по умолчанию для
sklearn.decomposition.RandomizedPCAтеперь правильно задокументирован какn_features. Это было поведением по умолчанию, поэтому программы, использующие его, продолжат работать так же, как и раньше.sklearn.cluster.KMeansтеперь обучается на несколько порядков быстрее на разреженных данных (ускорение зависит от разреженности). С помощью Lars Buitinck.Уменьшить объем памяти FastICA путем Denis Engemann и Александр Грамфор.
Подробный вывод в
sklearn.ensemble.gradient_boostingтеперь использует столбцовый формат и выводит прогресс с уменьшающейся частотой. Также показывает оставшееся время. По Peter Prettenhofer.sklearn.ensemble.gradient_boostingпредоставляет улучшение out-of-bagoob_improvement_вместо OOB оценки для выбора модели. Добавлен пример, показывающий как использовать OOB оценки для выбора количества деревьев. По Peter Prettenhofer.Большинство метрик теперь поддерживают строковые метки для многоклассовой классификации с помощью Arnaud Joly и Lars Buitinck.
Новый класс OrthogonalMatchingPursuitCV от Александр Грамфор и Vlad Niculae.
Исправлена ошибка в
sklearn.covariance.GraphLassoCV: параметр ‘alphas’ теперь работает как ожидается при передаче списка значений. Автор: Philippe Gervais.Исправлена важная ошибка в
sklearn.covariance.GraphLassoCVчто предотвратило использование всех фолдов, предоставленных объектом CV (использовались только первые 3). При предоставлении объекта CV время выполнения может значительно увеличиться по сравнению с предыдущей версией (ошибка исправлена, результаты теперь корректны). Автор: Philippe Gervais.cross_validation.cross_val_scoreиgrid_searchмодуль теперь тестируется с многомерными выходными данными с помощью Arnaud Joly.datasets.make_multilabel_classificationтеперь может возвращать вывод в формате индикатора меток для многометочных данных, установив Arnaud Joly.K-ближайших соседей,
neighbors.KNeighborsRegressorиneighbors.RadiusNeighborsRegressorи соседи по радиусуneighbors.RadiusNeighborsRegressorиneighbors.RadiusNeighborsClassifierподдерживают многомерные выходные данные с помощью Arnaud Joly.Случайное состояние в оценщиках на основе LibSVM (
svm.SVC,svm.NuSVC,svm.OneClassSVM,svm.SVR,svm.NuSVR) теперь можно контролировать. Это полезно для обеспечения согласованности в оценках вероятностей для классификаторов, обученных сprobability=True. С помощью Vlad Niculae.Поддержка обучения вне ядра для дискретных наивных байесовских классификаторов
sklearn.naive_bayes.MultinomialNBиsklearn.naive_bayes.BernoulliNBдобавлениемpartial_fitметодом Оливье Гризель.Новый дизайн и навигация сайта от Gilles Louppe, Нель Варокво, Венсан Мишель и Андреас Мюллер.
Улучшенная документация по многоклассовая, многометочная и многовариантная классификация by Янник Шварц и Arnaud Joly.
Улучшенная обработка входных данных и ошибок в
sklearn.metricsмодуль от Arnaud Joly и Joel Nothman.Оптимизация скорости
hmmмодуль от Михаил КоробовЗначительное ускорение для
sklearn.cluster.DBSCANby cleverless
Сводка изменений API#
The
auc_scoreбыл переименован вmetrics.roc_auc_score.Тестирование scikit-learn с
sklearn.test()устарел. Используйтеnosetests sklearnиз командной строки.Важность признаков в
tree.DecisionTreeClassifier,tree.DecisionTreeRegressorи все производные ансамблевые оценщики теперь вычисляются на лету при доступе кfeature_importances_атрибут. Установкаcompute_importances=Trueбольше не требуется. С помощью Gilles Louppe.linear_model.lasso_pathиlinear_model.enet_pathможет возвращать свои результаты в том же формате, что иlinear_model.lars_path. Это делается путем установкиreturn_modelsпараметр дляFalse. С помощью Jaques Grobler и Александр Грамфорgrid_search.IterGridбыл переименован вgrid_search.ParameterGrid.Исправлена ошибка в
KFoldвызывая неидеальный баланс классов в некоторых случаях. Путем Александр Грамфор и Tadej Janež.sklearn.neighbors.BallTreeбыл рефакторизован, иsklearn.neighbors.KDTreeбыл добавлен, который имеет тот же интерфейс. Ball Tree теперь работает с широким спектром метрик расстояния. Оба класса имеют много новых методов, включая запросы по одному дереву и двойным деревьям, поиск в ширину и глубину, а также более сложные запросы, такие как оценка плотности ядра и функции двухточечной корреляции. Автор Jake VanderplasПоддержка scipy.spatial.cKDTree в запросах соседей была удалена, и функциональность заменена новой
sklearn.neighbors.KDTreeкласс.sklearn.neighbors.KernelDensityбыл добавлен, который выполняет эффективную оценку плотности ядра с различными ядрами.sklearn.decomposition.KernelPCAтеперь всегда возвращает вывод сn_componentsкомпонентов, если только новый параметрremove_zero_eigустановлено вTrue. Это новое поведение согласуется с тем, как ядровой PCA всегда документировался; ранее удаление компонентов с нулевыми собственными значениями молча выполнялось для всех данных.gcv_mode="auto"больше не пытается выполнить SVD на уплотненной разреженной матрице вsklearn.linear_model.RidgeCV.Поддержка разреженных матриц в
sklearn.decomposition.RandomizedPCAтеперь устарел в пользу новогоTruncatedSVD.cross_validation.KFoldиcross_validation.StratifiedKFoldтеперь применяютn_folds >= 2в противном случаеValueErrorвызывается. С помощью Оливье Гризель.datasets.load_files’scharsetиcharset_errorsпараметры были переименованыencodingиdecode_errors.Атрибут
oob_score_вsklearn.ensemble.GradientBoostingRegressorиsklearn.ensemble.GradientBoostingClassifierустарел и был заменён наoob_improvement_.Атрибуты в OrthogonalMatchingPursuit устарели (copy_X, Gram, …), а precompute_gram переименован в precompute для согласованности. См. #2224.
sklearn.preprocessing.StandardScalerтеперь преобразует целочисленный ввод в float и выдает предупреждение. Ранее он округлял для плотного целочисленного ввода.sklearn.multiclass.OneVsRestClassifierтеперь имеетdecision_functionметод. Это вернёт расстояние каждого образца от границы решения для каждого класса, при условии, что базовые оценщики реализуютdecision_functionметод. Путем Кайл Кастнер.Улучшенная проверка входных данных, предупреждение о неожиданных формах для y.
Люди#
Список участников для выпуска 0.14 по количеству коммитов.
277 Gilles Louppe
245 Lars Buitinck
187 Андреас Мюллер
124 Арно Жоли
112 Jaques Grobler
109 Gael Varoquaux
107 Оливье Гризель
102 Noel Dawe
99 Kemal Eren
79 Joel Nothman
75 Джейк ВандерПлас
73 Nelle Varoquaux
71 Vlad Niculae
65 Питер Преттенхофер
64 Александр Грамфор
54 Mathieu Blondel
38 Nicolas Trésegnie
35 eustache
27 Denis Engemann
25 Янн Н. Дофин
19 Джастин Винсент
17 Robert Layton
15 Doug Coleman
14 Michael Eickenberg
13 Robert Marchman
11 Fabian Pedregosa
11 Philippe Gervais
10 Джим Хольмстрём
10 Tadej Janež
10 syhw
9 Михаил Коробов
9 Steven De Gryze
8 sergeyf
7 Ben Root
7 Hrishikesh Huilgolkar
6 Kyle Kastner
6 Martin Luessi
6 Rob Speer
5 Federico Vaggi
5 Рауль Гаррета
5 Rob Zinkov
4 Ken Geis
3 А. Флаксман
3 Denton Cockburn
3 Dougal Sutherland
3 Ян Озсвальд
3 Johannes Schönberger
3 Robert McGibbon
3 Roman Sinayev
3 Сабо Роланд
2 Диего Молла
2 Imran Haque
2 Jochen Wersdörfer
2 Сергей Караев
2 Янник Шварц
2 jamestwebber
1 Абхиджит Колхе
1 Alexander Fabisch
1 Бастиан ван ден Берг
1 Benjamin Peterson
1 Daniel Velkov
1 Fazlul Shahriar
1 Felix Brockherde
1 Феликс-Антуан Фортен
1 Harikrishnan S
1 Jack Hale
1 JakeMick
1 James McDermott
1 Джон Бенедиктссон
1 John Zwinck
1 Joshua Vredevoogd
1 Justin Pati
1 Kevin Hughes
1 Kyle Kelley
1 Matthias Ekman
1 Мирослав Шубернецкий
1 Наоки Ории
1 Норберт Кромбах
1 Rafael Cunha de Almeida
1 Rolando Espinoza La fuente
1 Seamus Abshere
1 Сергей Фельдман
1 Sergio Medina
1 Stefano Lattarini
1 Steve Koch
1 Sturla Molden
1 Томас Ярош
1 Yaroslav Halchenko