Версия 0.21#

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

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

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

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

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

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

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

Версия 0.21.3#

30 июля 2019

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

Следующие оценщики и функции, при обучении на тех же данных и параметрах, могут создавать модели, отличные от предыдущей версии. Это часто происходит из-за изменений в логике моделирования (исправления ошибок или улучшения) или в процедурах случайной выборки.

  • В примечаниях к выпуску v0.20.0 не упоминалась обратная несовместимость в metrics.make_scorer когда needs_proba=True и y_true является бинарным. Теперь функция оценки должна принимать 1D y_pred (т.е., вероятность положительного класса, форма (n_samples,)), вместо 2D y_pred (т.е., форма (n_samples, 2)).

Журнал изменений#

sklearn.cluster#

sklearn.compose#

  • Исправление Исправлена проблема в compose.ColumnTransformer где использование DataFrame, порядок столбцов которых различается между fit и transform может привести к незаметной передаче некорректных столбцов в remainder преобразователь. #14237 by Andreas Schuderer .

sklearn.datasets#

sklearn.ensemble#

sklearn.impute#

  • Исправление Исправлена ошибка в impute.SimpleImputer и impute.IterativeImputer чтобы не возникало ошибок при наличии пропущенных значений в обучающих данных. #13974 by Frank Hoang .

sklearn.inspection#

  • Исправление Исправлена ошибка в inspection.plot_partial_dependence где target параметр не учитывался для многоклассовых задач. #14393 by Гильем Г. Субиес.

sklearn.linear_model#

  • Исправление Исправлена ошибка в linear_model.LogisticRegressionCV где refit=False будет зависеть от 'multiclass' и 'penalty' параметры (регрессия введена в версии 0.21). #14087 by Nicolas Hug.

  • Исправление Исправление совместимости для linear_model.ARDRegression и Scipy>=1.3.0. Адаптируется к изменениям в upstream по умолчанию pinvh пороговое значение отсечения, которое в противном случае приводит к низкой точности в некоторых случаях. #14067 by Тим Стэйли.

sklearn.neighbors#

sklearn.tree#

  • Исправление Исправлена ошибка в tree.export_text когда дерево имеет один признак и передано одно имя признака. #14053 by Thomas Fan.

  • Исправление Исправлена проблема с tree.plot_tree где отображались расчёты энтропии даже для gini критерий в DecisionTreeClassifiers. #13947 by Frank Hoang.

Версия 0.21.2#

24 мая 2019

Журнал изменений#

sklearn.decomposition#

sklearn.metrics#

sklearn.preprocessing#

sklearn.utils.sparsefuncs#

Версия 0.21.1#

17 мая 2019

Это выпуск с исправлением ошибок, в основном для решения некоторых проблем упаковки в версии 0.21.0. Он также включает незначительные улучшения документации и некоторые исправления ошибок.

Журнал изменений#

sklearn.inspection#

  • Исправление Исправлена ошибка в inspection.partial_dependence проверять только классификатор, а не регрессор для случая многоклассового многовариантного вывода. #14309 by Guillaume Lemaitre.

sklearn.metrics#

  • Исправление Исправлена ошибка в metrics.pairwise_distances где это вызвало бы AttributeError для булевых метрик, когда X имел логический тип данных и Y == None. #13864 by Paresh Mathur.

  • Исправление Исправлены две ошибки в metrics.pairwise_distances когда n_jobs > 1. Сначала он возвращал матрицу расстояний с тем же типом данных, что и входные данные, даже для целочисленного типа. Затем диагональ не была нулевой для евклидовой метрики, когда Y является X. #13877 by Жереми дю Буаберранже.

sklearn.neighbors#

  • Исправление Исправлена ошибка в neighbors.KernelDensity который не может быть восстановлен из pickle, если sample_weight использовался. #13772 by Aditya Vyas.

Версия 0.21.0#

Май 2019

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

Следующие оценщики и функции, при обучении на тех же данных и параметрах, могут создавать модели, отличные от предыдущей версии. Это часто происходит из-за изменений в логике моделирования (исправления ошибок или улучшения) или в процедурах случайной выборки.

Подробности перечислены в журнале изменений ниже.

(Хотя мы стараемся лучше информировать пользователей, предоставляя эту информацию, мы не можем гарантировать, что этот список полный.)

Известные серьезные ошибки#

  • По умолчанию max_iter для linear_model.LogisticRegression слишком мал для многих решателей при значении по умолчанию tol. В частности, мы случайно изменили значение по умолчанию max_iter для решателя liblinear с 1000 до 100 итераций в #3591 выпущен в версии 0.16. В будущем релизе мы надеемся выбрать лучшие значения по умолчанию max_iter и tol эвристически в зависимости от решателя (см. #13317).

Журнал изменений#

Поддержка Python 3.4 и ниже официально прекращена.

sklearn.base#

  • Изменение API Оценка R2, используемая при вызове score на регрессоре будет использовать multioutput='uniform_average' с версии 0.23 для поддержания согласованности с metrics.r2_score. Это повлияет на score метод всех многовыходных регрессоров (кроме multioutput.MultiOutputRegressor). #13157 by Hanmin Qin.

sklearn.calibration#

  • Улучшение Добавлена поддержка для бинирования данных, переданных в calibration.calibration_curve по квантилям вместо равномерного распределения между 0 и 1. #13086 by Scott Cole.

  • Улучшение Разрешить n-мерные массивы в качестве входных данных для calibration.CalibratedClassifierCV. #13485 by William de Vazelhes.

sklearn.cluster#

sklearn.compose#

sklearn.datasets#

sklearn.decomposition#

  • Улучшение decomposition.KernelPCA обратная совместимость #13241 by Aurélien Bellet.

  • Исправление Исправлена ошибка в decomposition.KernelPCA, fit().transform() теперь выдает правильный результат (такой же, как fit_transform()) в случае ненулевых собственных значений (remove_zero_eig=False). fit_inverse_transform также был ускорен с использованием того же трюка, что и fit_transform для вычисления преобразования X. #12143 by Sylvain Marié

  • Исправление Исправлена ошибка в decomposition.NMF где init = 'nndsvd', init = 'nndsvda', и init = 'nndsvdar' разрешены, когда n_components < n_features вместо n_components <= min(n_samples, n_features). #11650 by Hossein Pourbozorg и Zijie (ZJ) Poh.

  • Изменение API Значение по умолчанию для init аргумент в decomposition.non_negative_factorization изменится с random to None в версии 0.23, чтобы сделать его согласованным с decomposition.NMF. FutureWarning выводится, когда используется значение по умолчанию. #12988 by Zijie (ZJ) Poh.

sklearn.discriminant_analysis#

sklearn.dummy#

  • Исправление Исправлена ошибка в dummy.DummyClassifier где predict_proba метод возвращал массив int32 вместо float64 для stratified стратегия. #13266 by Christos Aridas.

  • Исправление Исправлена ошибка в dummy.DummyClassifier где возникала ошибка несоответствия размерности во время предсказания, если вектор-столбец y с shape=(n, 1) был предоставлен в fit time. #13545 by Nick Sorros и Адрин Джалали.

sklearn.ensemble#

sklearn.externals#

  • Изменение API Устаревший externals.six поскольку мы прекратили поддержку Python 2.7. #12916 by Hanmin Qin.

sklearn.feature_extraction#

sklearn.impute#

  • Основная функция Добавлен impute.IterativeImputer, что является стратегией для заполнения пропущенных значений путем моделирования каждого признака с пропущенными значениями как функции других признаков в циклическом порядке. #8478 и #12177 by Сергей Фельдман и Ben Lawson.

    API IterativeImputer является экспериментальным и может измениться без какого-либо цикла устаревания. Чтобы использовать его, необходимо явно импортировать enable_iterative_imputer:

    >>> from sklearn.experimental import enable_iterative_imputer  # noqa
    >>> # now you can import normally from sklearn.impute
    >>> from sklearn.impute import IterativeImputer
    
  • Функция The impute.SimpleImputer и impute.IterativeImputer имеют новый параметр 'add_indicator', которая просто объединяет impute.MissingIndicator преобразовать в выход преобразователя импутера. Это позволяет прогностическому оценщику учитывать пропуски. #12583, #13601 by Исчерпание доступных ресурсов.

  • Исправление В impute.MissingIndicator избегать неявного уплотнения путем вызова исключения, если вход разрежен и missing_values свойство установлено в 0. #13240 by Bartosz Telenczuk.

  • Исправление Исправлены две ошибки в impute.MissingIndicator. Во-первых, когда X является разреженным, все ненулевые ненапущенные значения, которые использовались, становятся явными False в преобразованных данных. Затем, когда features='missing-only', все признаки сохранялись, если не было пропущенных значений вообще. #13562 by Жереми дю Буаберранже.

sklearn.inspection#

(новый подпакет)

  • Функция Графики частной зависимости (inspection.plot_partial_dependence) теперь поддерживаются для любого регрессора или классификатора (при условии, что у них есть predict_proba метод). #12599 by Тревор Стивенс и Nicolas Hug.

sklearn.isotonic#

sklearn.linear_model#

  • Улучшение linear_model.Ridge теперь сохраняет float32 и float64 dtypes. #8769 и #11000 by Guillaume Lemaitre, и Жоан Массич

  • Функция linear_model.LogisticRegression и linear_model.LogisticRegressionCV теперь поддерживает штраф Elastic-Net с решателем 'saga'. #11646 by Nicolas Hug.

  • Функция Добавлен linear_model.lars_path_gram, что является linear_model.lars_path в режиме достаточной статистики, позволяя пользователям вычислять linear_model.lars_path без предоставления X и y. #11699 by Kuai Yu.

  • Эффективность linear_model.make_dataset теперь сохраняет float32 и float64 dtypes, уменьшая потребление памяти в стохастическом градиенте, SAG и SAGA решателях. #8769 и #11000 by Нель Варокво, Arthur Imbert, Guillaume Lemaitre, и Жоан Массич

  • Улучшение linear_model.LogisticRegression теперь поддерживает нерегуляризованную целевую функцию, когда penalty='none' передается. Это эквивалентно установке C=np.inf с регуляризацией l2. Не поддерживается решателем liblinear. #12860 by Nicolas Hug.

  • Улучшение sparse_cg solver в linear_model.Ridge теперь поддерживает подгонку пересечения (т.е. fit_intercept=True) когда входные данные разрежены. #13336 by Bartosz Telenczuk.

  • Улучшение Решатель координатного спуска, используемый в Lasso, ElasticNet, и т.д. теперь выдает ConvergenceWarning когда он завершается без достижения желаемого допуска. #11754 и #13397 by Brent Fagan и Адрин Джалали.

  • Исправление Исправлена ошибка в linear_model.LogisticRegression и linear_model.LogisticRegressionCV с решателем 'saga', где веса могут некорректно обновляться в некоторых случаях. #11646 by Tom Dupre la Tour.

  • Исправление Исправлены апостериорное среднее, апостериорная ковариация и возвращённые регуляризационные параметры в linear_model.BayesianRidge. Среднее апостериорное значение и апостериорная ковариация не были вычислены с последним обновлением параметров регуляризации, и возвращенные параметры регуляризации не были окончательными. Также исправлена формула логарифмического маргинального правдоподобия, используемого для вычисления оценки, когда compute_score=True. #12174 by Альберт Томас.

  • Исправление Исправлена ошибка в linear_model.LassoLarsIC, где пользовательский ввод copy_X=False при создании экземпляра будет переопределено значением параметра по умолчанию copy_X=True в fit. #12972 by Лучио Фернандес-Архона

  • Исправление Исправлена ошибка в linear_model.LinearRegression которая не возвращала те же коэффициенты и пересечения с fit_intercept=True в разреженном и плотном случаях. #13279 by Александр Грамфор

  • Исправление Исправлена ошибка в linear_model.HuberRegressor который был нарушен, когда X имел тип bool. #13328 by Александр Грамфор.

  • Исправление Исправлена проблема производительности saga и sag солверы при вызове в joblib.Parallel настройка с n_jobs > 1 и backend="threading", заставляя их работать хуже, чем в последовательном случае. #13389 by Пьер Глазер.

  • Исправление Исправлена ошибка в linear_model.stochastic_gradient.BaseSGDClassifier который не был детерминированным при обучении в многоклассовой настройке на нескольких потоках. #13422 by Клеман Думоро.

  • Исправление Исправлена ошибка в linear_model.ridge_regression, linear_model.Ridge и linear_model.RidgeClassifier который вызывал необработанное исключение для аргументов return_intercept=True и solver=auto (по умолчанию) или любой другой решатель, отличный от sag. #13363 by Bartosz Telenczuk

  • Исправление linear_model.ridge_regression теперь будет вызывать исключение, если return_intercept=True и решатель отличается от sagРанее выдавалось только предупреждение. #13363 by Bartosz Telenczuk

  • Исправление linear_model.ridge_regression выберет sparse_cg решатель для разреженных входных данных, когда solver=auto и sample_weight предоставляется (ранее cholesky был выбран решатель). #13363 by Bartosz Telenczuk

  • Изменение API Использование linear_model.lars_path с X=None при передаче Gram устарел в версии 0.21 и будет удален в версии 0.23. Используйте linear_model.lars_path_gram вместо этого. #11699 by Kuai Yu.

  • Изменение API linear_model.logistic_regression_path устарела в версии 0.21 и будет удалена в версии 0.23. #12821 by Nicolas Hug.

  • Исправление linear_model.RidgeCV с перекрёстной проверкой по одному наблюдению теперь корректно подгоняет свободный член, когда fit_intercept=True и матрица плана разрежена. #19888 by Жером Докес

sklearn.manifold#

  • Эффективность Сделать manifold.trustworthiness использовать инвертированный индекс вместо np.where поиск для определения ранга соседей во входном пространстве. Это повышает эффективность, особенно при вычислении с большим количеством соседей и/или небольшими наборами данных. #9907 by William de Vazelhes.

sklearn.metrics#

sklearn.mixture#

sklearn.model_selection#

sklearn.multiclass#

  • Исправление Исправлена проблема в multiclass.OneVsOneClassifier.decision_function где значение decision_function для данного образца различалось в зависимости от того, вычислялась ли decision_function на отдельном образце или на пакете, содержащем этот же образец, из-за масштабирования, используемого в decision_function. #10440 by Jonathan Ohayon.

sklearn.multioutput#

sklearn.neighbors#

sklearn.neural_network#

sklearn.pipeline#

  • Функция pipeline.Pipeline теперь может использовать нотацию индексации (например, my_pipeline[0:-1]) для извлечения подпоследовательности шагов как другого экземпляра Pipeline. Pipeline также может быть проиндексирован напрямую для извлечения конкретного шага (например, my_pipeline['svc']), а не обращаясь к named_steps. #2568 by Joel Nothman.

  • Функция Добавлен необязательный параметр verbose в pipeline.Pipeline, compose.ColumnTransformer и pipeline.FeatureUnion и соответствующие make_ вспомогательные средства для отображения прогресса и времени каждого шага. #11364 by Базе Петрушев, Каран Десаи, Joel Nothman, и Томас Фан.

  • Улучшение pipeline.Pipeline теперь поддерживает использование 'passthrough' как трансформер, с тем же эффектом, что и None. #11144 by Томас Фан.

  • Улучшение pipeline.Pipeline реализует __len__ и следовательно len(pipeline) возвращает количество шагов в конвейере. #13439 by Lakshya KD.

sklearn.preprocessing#

  • Функция preprocessing.OneHotEncoder теперь поддерживает удаление одного признака на категорию с новым параметром drop. #12908 by Drew Johnston.

  • Эффективность preprocessing.OneHotEncoder и preprocessing.OrdinalEncoder теперь обрабатывает pandas DataFrames более эффективно. #13253 by @maikia.

  • Эффективность Сделать preprocessing.MultiLabelBinarizer кэшировать сопоставления классов вместо вычисления их каждый раз на лету. #12116 by Екатерина Кривич и Joel Nothman.

  • Эффективность preprocessing.PolynomialFeatures теперь поддерживает сжатые разреженные строковые (CSR) матрицы в качестве входных данных для степеней 2 и 3. Это обычно намного быстрее, чем плотный случай, так как масштабируется с плотностью матрицы и степенью расширения (порядка density^degree), и намного, намного быстрее, чем случай сжатых разреженных столбцовых (CSC) матриц. #12197 by Эндрю Нистром.

  • Эффективность Ускорение в preprocessing.PolynomialFeatures, в плотном случае. Также добавлен новый параметр order который управляет порядком вывода для дальнейшего повышения производительности. #12251 by Tom Dupre la Tour.

  • Исправление Исправлено переполнение вычислений при использовании типа данных float16 с preprocessing.StandardScaler. #13007 by Раффаэлло Балуйот

  • Исправление Исправлена ошибка в preprocessing.QuantileTransformer и preprocessing.quantile_transform чтобы принудительно установить n_quantiles не более равным n_samples. Значения n_quantiles больше n_samples были либо бесполезны, либо приводили к неправильной аппроксимации оценщика функции кумулятивного распределения. #13333 by Альберт Томас.

  • Изменение API Значение по умолчанию для copy в preprocessing.quantile_transform изменится с False на True в версии 0.23, чтобы сделать его более согласованным с настройкой по умолчанию copy значения других функций в sklearn.preprocessing и предотвратить неожиданные побочные эффекты, изменяя значение X на месте. #13459 by Хантер МакГашион.

sklearn.svm#

  • Исправление Исправлена проблема в svm.SVC.decision_function когда decision_function_shape='ovr'. Значение decision_function для данного образца различалось в зависимости от того, вычислялось ли decision_function на одном образце или на пакете, содержащем этот же образец, из-за масштабирования, используемого в decision_function. #10440 by Jonathan Ohayon.

sklearn.tree#

  • Функция Деревья решений теперь можно визуализировать с помощью matplotlib, используя tree.plot_tree без использования dot библиотека, удаление сложно устанавливаемой зависимости. #8508 by Андреас Мюллер.

  • Функция Деревья решений теперь можно экспортировать в удобочитаемом текстовом формате с помощью tree.export_text. #6261 by Giuseppe Vettigli .

  • Функция get_n_leaves() и get_depth() были добавлены в tree.BaseDecisionTree и, следовательно, все оценщики на его основе, включая tree.DecisionTreeClassifier, tree.DecisionTreeRegressor, tree.ExtraTreeClassifier, и tree.ExtraTreeRegressor. #12300 by Адрин Джалали.

  • Исправление Деревья и леса ранее не predict многомерные целевые переменные классификации со строковыми метками, несмотря на их принятие в fit. #11458 by Митар Милутинович.

  • Исправление Исправлена проблема с tree.BaseDecisionTree и, следовательно, все оценщики на его основе, включая tree.DecisionTreeClassifier, tree.DecisionTreeRegressor, tree.ExtraTreeClassifier, и tree.ExtraTreeRegressor, где они раньше превышали заданное max_depth на 1 при расширении дерева, если max_leaf_nodes и max_depth были указаны пользователем. Обратите внимание, что это также влияет на все ансамблевые методы, использующие деревья решений. #12344 by Адрин Джалали.

sklearn.utils#

  • Функция utils.resample теперь принимает stratify параметр для выборки в соответствии с распределениями классов. #13549 by Nicolas Hug.

  • Изменение API Устаревший warn_on_dtype параметр из utils.check_array и utils.check_X_y. Добавлено явное предупреждение для преобразования типа данных в check_pairwise_arrays если metric передаваемый является попарной булевой метрикой. #13382 by Prathmesh Savale.

Несколько модулей#

  • Основная функция The __repr__() метод всех оценщиков (используется при вызове print(estimator)) был полностью переписан, основываясь на стандартной библиотеке Python для красивого вывода. Все параметры выводятся по умолчанию, но это можно изменить с помощью print_changed_only опция в sklearn.set_config. #11705 by Nicolas Hug.

  • Основная функция Добавлены теги оценщиков: это аннотации оценщиков, которые позволяют программно проверять их возможности, такие как поддержка разреженных матриц, поддерживаемые типы выходных данных и поддерживаемые методы. Теги оценщиков также определяют тесты, которые выполняются на оценщике, когда check_estimator вызывается. Подробнее в Руководство пользователя. #8022 by Андреас Мюллер.

  • Эффективность Копирование памяти избегается при приведении массивов к другому dtype в нескольких оценщиках. #11973 by Roman Yurchak.

  • Исправление Исправлена ошибка в реализации our_rand_r вспомогательной функции, которая вела себя непоследовательно на разных платформах. #13422 by Мадхура Парих и Клеман Думоро.

Разное#

  • Улучшение Joblib больше не поставляется в составе scikit-learn и становится зависимостью. Минимальная поддерживаемая версия — joblib 0.11, однако настоятельно рекомендуется использовать версию >= 0.13. #13531 by Roman Yurchak.

Изменения в проверках оценщика#

Эти изменения в основном затрагивают разработчиков библиотек.

  • Добавить check_fit_idempotent to check_estimator, которая проверяет, что когда fit вызывается дважды с одними и теми же данными, вывод predict, predict_proba, transform, и decision_function не изменяется. #12328 by Nicolas Hug

  • Многие проверки теперь могут быть отключены или настроены с помощью Теги оценщиков. #8022 by Андреас Мюллер.

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

Благодарим всех, кто внес вклад в поддержку и улучшение проекта с версии 0.20, включая:

adanhawth, Aditya Vyas, Adrin Jalali, Agamemnon Krasoulis, Albert Thomas, Alberto Torres, Alexandre Gramfort, amourav, Andrea Navarrete, Andreas Mueller, Andrew Nystrom, assiaben, Aurélien Bellet, Bartosz Michałowski, Bartosz Telenczuk, bauks, BenjaStudio, bertrandhaut, Bharat Raghunathan, brentfagan, Bryan Woods, Cat Chenal, Cheuk Ting Ho, Chris Choe, Christos Aridas, Clément Doumouro, Cole Smith, Connossor, Corey Levinson, Dan Ellis, Dan Stine, Danylo Baibak, daten-kieker, Denis Kataev, Didi Bar-Zev, Dillon Gardner, Dmitry Mottl, Dmitry Vukolov, Dougal J. Sutherland, Dowon, drewmjohnston, Dror Atariah, Edward J Brown, Ekaterina Krivich, Elizabeth Sander, Emmanuel Arias, Eric Chang, Eric Larson, Erich Schubert, esvhd, Falak, Feda Curic, Federico Caselli, Frank Hoang, Fibinse Xavier`, Finn O’Shea, Gabriel Marzinotto, Gabriel Vacaliuc, Gabriele Calvo, Gael Varoquaux, GauravAhlawat, Giuseppe Vettigli, Greg Gandenberger, Guillaume Fournier, Guillaume Lemaitre, Gustavo De Mari Pereira, Hanmin Qin, haroldfox, hhu-luqi, Hunter McGushion, Ian Sanders, JackLangerman, Jacopo Notarstefano, jakirkham, James Bourbeau, Jan Koch, Jan S, janvanrijn, Jarrod Millman, jdethurens, jeremiedbb, JF, joaak, Joan Massich, Joel Nothman, Jonathan Ohayon, Joris Van den Bossche, josephsalmon, Jérémie Méhault, Katrin Leinweber, ken, kms15, Koen, Kossori Aruku, Krishna Sangeeth, Kuai Yu, Kulbear, Kushal Chauhan, Kyle Jackson, Lakshya KD, Leandro Hermida, Lee Yi Jie Joel, Lily Xiong, Lisa Sarah Thomas, Loic Esteve, louib, luk-f-a, maikia, mail-liam, Manimaran, Manuel López-Ibáñez, Marc Torrellas, Marco Gaido, Marco Gorelli, MarcoGorelli, marineLM, Mark Hannel, Martin Gubri, Masstran, mathurinm, Matthew Roeschke, Max Copeland, melsyt, mferrari3, Mickaël Schoentgen, Ming Li, Mitar, Mohammad Aftab, Mohammed AbdelAal, Mohammed Ibraheem, Muhammad Hassaan Rafique, mwestt, Naoya Iijima, Nicholas Smith, Nicolas Goix, Nicolas Hug, Nikolay Shebanov, Oleksandr Pavlyk, Oliver Rausch, Olivier Grisel, Orestis, Osman, Owen Flanagan, Paul Paczuski, Pavel Soriano, pavlos kallis, Pawel Sendyk, peay, Peter, Peter Cock, Peter Hausamann, Peter Marko, Pierre Glaser, pierretallotte, Pim de Haan, Piotr Szymański, Prabakaran Kumaresshan, Pradeep Reddy Raamana, Prathmesh Savale, Pulkit Maloo, Quentin Batista, Radostin Stoyanov, Raf Baluyot, Rajdeep Dua, Ramil Nugmanov, Raúl García Calvo, Rebekah Kim, Reshama Shaikh, Rohan Lekhwani, Rohan Singh, Rohan Varma, Rohit Kapoor, Roman Feldbauer, Roman Yurchak, Romuald M, Roopam Sharma, Ryan, Rüdiger Busche, Sam Waterbury, Samuel O. Ronsin, SandroCasagrande, Scott Cole, Scott Lowe, Sebastian Raschka, Shangwu Yao, Shivam Kotwalia, Shiyu Duan, smarie, Sriharsha Hatwar, Stephen Hoover, Stephen Tierney, Stéphane Couvreur, surgan12, SylvainLan, TakingItCasual, Tashay Green, thibsej, Thomas Fan, Thomas J Fan, Thomas Moreau, Tom Dupré la Tour, Tommy, Tulio Casagrande, Umar Farouk Umar, Utkarsh Upadhyay, Vinayak Mehta, Vishaal Kapoor, Vivek Kumar, Vlad Niculae, vqean3, Wenhao Zhang, William de Vazelhes, xhan, Xing Han Lu, xinyuliu12, Yaroslav Halchenko, Zach Griffith, Zach Miller, Zayd Hammoudeh, Zhuyi Xue, Zijie (ZJ) Poh, ^__^