Versión 0.19

Julio, 2018

Esta versión está destinada exclusivamente a soportar Python 3.7.

Versión 0.19.1

23 de octubre de 2017

Esta es una versión de corrección de errores con algunas mejoras menores de documentación y mejoras a las características publicadas en 0.19.0.

Tenga en cuenta que puede haber diferencias menores en la salida TSNE en esta versión (debido a #9623), en el caso en que múltiples muestras tengan la misma distancia a alguna muestra.

Registro de cambios

Cambios del API

  • Se revirtió la adición de metrics.ndcg_score y metrics.dcg_score que habían sido fusionados en la versión 0.19.0 por error. Las implementaciones tenían fallos y no estaban documentadas.

  • return_train_score que se añadió a model_selection.GridSearchCV, model_selection.RandomizedSearchCV y model_selection.cross_validate en la versión 0.19.0 cambiará su valor por defecto de True a False en la versión 0.21. Hemos descubierto que el cálculo de la puntuación de entrenamiento podría tener un gran efecto en el tiempo de ejecución de la validación cruzada en algunos casos. Los usuarios deben establecer explícitamente return_train_score a False si las funciones de predicción o puntuación son lentas, lo que tiene un efecto perjudicial en el tiempo de ejecución de la CV, o a True si desean utilizar las puntuaciones calculadas. #9677 por Kumar Ashutosh y Joel Nothman.

  • correlation_models y regression_models de anteriores implementaciones de procesos gaussianos han quedado obsoletos tardíamente. #9717 por Kumar Ashutosh.

Corrección de errores

Regresiones en 0.19.0 corregidas en 0.19.1:

Mejoras

Colaboradores de código y documentación

Con agradecimiento a:

Joel Nothman, Loic Esteve, Andreas Mueller, Kumar Ashutosh, Vrishank Bhardwaj, Hanmin Qin, Rasul Kerimov, James Bourbeau, Nagarjuna Kumar, Nathaniel Saul, Olivier Grisel, Roman Yurchak, Reiichiro Nakano, Sachin Kelkar, Sam Steingold, Yaroslav Halchenko, diegodlh, felix, goncalo-rodrigues, jkleint, oliblum90, pasbi, Anthony Gitter, Ben Lawson, Charlie Brummitt, Didi Bar-Zev, Gael Varoquaux, Joan Massich, Joris Van den Bossche, nielsenmarkus11

Versión 0.19

12 de agosto de 2017

Destacados

Estamos muy contentos de lanzar una serie de nuevas características, incluyendo neighbors.LocalOutlierFactor para la detección de anomalías, preprocessing.QuantileTransformer para la transformación robusta de características, y el metaestimador multioutput.ClassifierChain para tener en cuenta de forma sencilla las dependencias entre las clases en los problemas multietiqueta. Tenemos algunos algoritmos nuevos en los estimadores existentes, como la actualización multiplicativa en decomposition.NMF y la linear_model.LogisticRegression multinomial con pérdida L1 (utiliza solver='saga').

La validación cruzada es ahora capaz de devolver los resultados de múltiples evaluaciones métricas. La nueva model_selection.cross_validate puede devolver muchas puntuaciones en los datos de prueba, así como el rendimiento y los tiempos del conjunto de entrenamiento, y hemos ampliado los parámetros scoring y refit para la búsqueda en cuadrícula/aleatorizada para manejar métricas múltiples.

También puedes aprender más rápido. Por ejemplo, la nueva opción a las transformaciones de caché en pipeline.Pipeline hace la búsqueda en cuadrícula sobre pipelines incluyendo transformaciones lentas mucho más eficiente. Y puedes predecir más rápido: si estás seguro de lo que estás haciendo, puedes desactivar validando que la entrada es finita usando config_context.

También hemos realizado algunas correcciones importantes. Hemos solucionado un antiguo error de implementación en metrics.average_precision_score, así que tenga cuidado con los resultados anteriores reportados por esa función. Se han corregido varios errores en la implementación de manifold.TSNE, especialmente en la aproximación por defecto de Barnes-Hut. Se han corregido sustancialmente semi_supervised.LabelSpreading y semi_supervised.LabelPropagation. LabelPropagation no funcionaba antes. LabelSpreading debería ahora respetar correctamente su parámetro alfa.

Modelos modificados

Los siguientes estimadores y funciones, cuando ajustan a los mismos datos y parámetros, pueden producir diferentes modelos que en la versión anterior. Esto ocurre a menudo debido a cambios en la lógica de modelado (correcciones de errores o mejoras), o en procedimientos de muestreo aleatorio.

Los detalles están listados en el registro de cambios a continuación.

(Mientras intentamos informar mejor a los usuarios proporcionando esta información, no podemos asegurar que esta lista esté completa.)

Registro de cambios

Nuevas características

Clasificadores y regresores

Otros Estimadores

Selección y evaluación de modelos

Misceláneos

  • La validación de que los datos de entrada no contengan NaN o inf ahora puede ser suprimida usando config_context, bajo tu propio riesgo. Esto ahorrará en tiempo de ejecución, y puede ser particularmente útil para el tiempo de predicción. #7548 por Joel Nothman.

  • Se ha añadido una prueba para asegurar que la lista de parámetros en docstrings coincide con la firma de función/clase. #9206 por Alexandre Gramfort y Raghav RV.

Mejoras

Árboles y ensembles

Modelos lineales, kernelizados y relacionados

Otros predictores

  • Las métricas personalizadas para los árboles binarios vecinos ahora tienen menos restricciones: deben tomar dos arreglos 1d y devolver un float. #6288 por Jake Vanderplas.

  • algorithm='auto en estimadores de vecinos ahora eligen el algoritmo más apropiado para todos los tipos de entrada y métricas. #9145 por Herilalaina Rakotoarison y Reddy Chinthala.

Descomposición, aprendizaje múltiple y análisis de conglomerados

Preprocesamiento y selección de características

Evaluación del modelo y metaestimadores

Métricas

Misceláneos

Corrección de errores

Árboles y ensembles

Modelos lineales, kernelizados y relacionados

Otros predictores

Descomposición, aprendizaje múltiple y análisis de conglomerados

Preprocesamiento y selección de características

Evaluación del modelo y metaestimadores

Métricas

Misceláneos

  • Se ha corregido un error cuando datasets.make_classification falla al generar más de 30 características. #8159 por Herilalaina Rakotoarison.

  • Se ha corregido un error por el que datasets.make_moons da un resultado incorrecto cuando n_samples es impar. #8198 por Josh Levy.

  • Algunas funciones fetch_ en datasets ignoraban la palabra clave download_if_missing. #7944 por Ralf Gommers.

  • Se corrigen los estimadores para que acepten un parámetro sample_weight de tipo pandas.Series en su función fit. #7825 by Kathleen Chen.

  • Se corrige un error en los casos donde numpy.cumsum puede ser numéricamente inestable, lanzando una excepción si se identifica la inestabilidad. #7376 y #7331 por Joel Nothman y @yangarbiter.

  • Se corrige un error por el que base.BaseEstimator.__getstate__ obstruía las personalizaciones de pickling de las clases hijas, cuando se utilizaba en un contexto de herencia múltiple. #8316 por Holger Peters.

  • Se actualiza Sphinx-Gallery de 0.1.4 a 0.1.7 para resolver los enlaces en la construcción de la documentación con Sphinx>1.5 #8010, #7986 por Oscar Najera.

  • Se añade el parámetro data_home a sklearn.datasets.fetch_kddcup99. #9289 por Loic Esteve.

  • Se corrigen los cargadores de conjuntos de datos que utilizan la versión Python 3 de makedirs para que también funcionen en Python 2. #9284 por Sebastin Santy.

  • Se han corregido varios problemas menores gracias a las alertas de lgtm.com. #9278 por Jean Helie, entre otros.

Resumen de cambios en la API

Árboles y ensembles

  • Los modelos base de potenciación del gradiente ya no son estimadores. Por Andreas Müller.

  • Todos los estimadores basados en árboles ahora aceptan el parámetro min_impurity_decrease en lugar de min_impurity_split, que ya está obsoleto. El parámetro min_impurity_decrease ayuda a dejar de dividir los nodos en los que la disminución de impureza ponderada de la separación ya no es al menos min_impurity_decrease. #8449 por Raghav RV.

Modelos lineales, kernelizados y relacionados

Otros predictores

Descomposición, aprendizaje múltiple y análisis de conglomerados

Preprocesamiento y selección de características

Evaluación del modelo y metaestimadores

Misceláneos

  • Se hace obsoleto el parámetro y en transform e inverse_transform. El método no debería aceptar el parámetro y, ya que se utiliza en el momento de la predicción. #8174 por Tahar Zanouda, Alexandre Gramfort and Raghav RV.

  • SciPy >= 0.13.3 y NumPy >= 1.8.2 son ahora las versiones mínimas soportadas para scikit-learn. Las siguientes funciones respaldadas (backported) en utils han sido eliminadas o han quedado obsoletas en consecuencia. #8854 y #8874 por Naoya Kanai.

  • Los parámetros store_covariances y covariances_ de discriminant_analysis.QuadraticDiscriminantAnalysis han sido renombrados a store_covariance y covariance_ para ser coherentes con los nombres de los parámetros correspondientes de discriminant_analysis.LinearDiscriminantAnalysis. Se eliminarán en la versión 0.21. #7998 por Jiacheng.

    Eliminado en 0.19:

    • utils.fixes.argpartition

    • utils.fixes.array_equal

    • utils.fixes.astype

    • utils.fixes.bincount

    • utils.fixes.expit

    • utils.fixes.frombuffer_empty

    • utils.fixes.in1d

    • utils.fixes.norm

    • utils.fixes.rankdata

    • utils.fixes.safe_copy

    Obsoleto en 0.19, se eliminará en 0.21:

    • utils.arpack.eigs

    • utils.arpack.eigsh

    • utils.arpack.svds

    • utils.extmath.fast_dot

    • utils.extmath.logsumexp

    • utils.extmath.norm

    • utils.extmath.pinvh

    • utils.graph.graph_laplacian

    • utils.random.choice

    • utils.sparsetools.connected_components

    • utils.stats.rankdata

  • Los estimadores con ambos métodos decision_function y predict_proba ahora deben tener una relación monotónica entre ellos. Se ha añadido el método check_decision_proba_consistency en utils.estimator_checks para comprobar su consistencia. #7578 por Shubham Bhardwaj.

  • Todas las comprobaciones en utils.estimator_checks, en particular utils.estimator_checks.check_estimator` ahora aceptan instancias de estimadores. La mayoría de las demás comprobaciones ya no aceptan clases de estimadores. #9019 por Andreas Müller.

  • Se asegura que los atributos de los estimadores que terminan en _ no se establecen en el constructor, sino sólo en el método fit. En particular, los estimadores ensemble (derivados de ensemble.BaseEnsemble) ahora sólo tienen self.estimators_ disponible después de fit. #7464 por Lars Buitinck y Loic Esteve.

Colaboradores de código y documentación

Gracias a todos los que han contribuido al mantenimiento y la mejora del proyecto desde la versión 0.18, incluyendo:

Joel Nothman, Loic Esteve, Andreas Mueller, Guillaume Lemaitre, Olivier Grisel, Hanmin Qin, Raghav RV, Alexandre Gramfort, themrmax, Aman Dalmia, Gael Varoquaux, Naoya Kanai, Tom Dupré la Tour, Rishikesh, Nelson Liu, Taehoon Lee, Nelle Varoquaux, Aashil, Mikhail Korobov, Sebastin Santy, Joan Massich, Roman Yurchak, RAKOTOARISON Herilalaina, Thierry Guillemot, Alexandre Abadie, Carol Willing, Balakumaran Manoharan, Josh Karnofsky, Vlad Niculae, Utkarsh Upadhyay, Dmitry Petrov, Minghui Liu, Srivatsan, Vincent Pham, Albert Thomas, Jake VanderPlas, Attractadore, JC Liu, alexandercbooth, chkoar, Óscar Nájera, Aarshay Jain, Kyle Gilliam, Ramana Subramanyam, CJ Carey, Clement Joudet, David Robles, He Chen, Joris Van den Bossche, Karan Desai, Katie Luangkote, Leland McInnes, Maniteja Nandana, Michele Lacchia, Sergei Lebedev, Shubham Bhardwaj, akshay0724, omtcyfz, rickiepark, waterponey, Vathsala Achar, jbDelafosse, Ralf Gommers, Ekaterina Krivich, Vivek Kumar, Ishank Gulati, Dave Elliott, ldirer, Reiichiro Nakano, Levi John Wolf, Mathieu Blondel, Sid Kapur, Dougal J. Sutherland, midinas, mikebenfield, Sourav Singh, Aseem Bansal, Ibraim Ganiev, Stephen Hoover, AishwaryaRK, Steven C. Howell, Gary Foreman, Neeraj Gangwar, Tahar, Jon Crall, dokato, Kathy Chen, ferria, Thomas Moreau, Charlie Brummitt, Nicolas Goix, Adam Kleczewski, Sam Shleifer, Nikita Singh, Basil Beirouti, Giorgio Patrini, Manoj Kumar, Rafael Possas, James Bourbeau, James A. Bednar, Janine Harper, Jaye, Jean Helie, Jeremy Steward, Artsiom, John Wei, Jonathan LIgo, Jonathan Rahn, seanpwilliams, Arthur Mensch, Josh Levy, Julian Kuhlmann, Julien Aubert, Jörn Hees, Kai, shivamgargsya, Kat Hempstalk, Kaushik Lakshmikanth, Kennedy, Kenneth Lyons, Kenneth Myers, Kevin Yap, Kirill Bobyrev, Konstantin Podshumok, Arthur Imbert, Lee Murray, toastedcornflakes, Lera, Li Li, Arthur Douillard, Mainak Jas, tobycheese, Manraj Singh, Manvendra Singh, Marc Meketon, MarcoFalke, Matthew Brett, Matthias Gilch, Mehul Ahuja, Melanie Goetz, Meng, Peng, Michael Dezube, Michal Baumgartner, vibrantabhi19, Artem Golubin, Milen Paskov, Antonin Carette, Morikko, MrMjauh, NALEPA Emmanuel, Namiya, Antoine Wendlinger, Narine Kokhlikyan, NarineK, Nate Guerin, Angus Williams, Ang Lu, Nicole Vavrova, Nitish Pandey, Okhlopkov Daniil Olegovich, Andy Craze, Om Prakash, Parminder Singh, Patrick Carlson, Patrick Pei, Paul Ganssle, Paulo Haddad, Paweł Lorek, Peng Yu, Pete Bachant, Peter Bull, Peter Csizsek, Peter Wang, Pieter Arthur de Jong, Ping-Yao, Chang, Preston Parry, Puneet Mathur, Quentin Hibon, Andrew Smith, Andrew Jackson, 1kastner, Rameshwar Bhaskaran, Rebecca Bilbro, Remi Rampin, Andrea Esuli, Rob Hall, Robert Bradshaw, Romain Brault, Aman Pratik, Ruifeng Zheng, Russell Smith, Sachin Agarwal, Sailesh Choyal, Samson Tan, Samuël Weber, Sarah Brown, Sebastian Pölsterl, Sebastian Raschka, Sebastian Saeger, Alyssa Batula, Abhyuday Pratap Singh, Sergey Feldman, Sergul Aydore, Sharan Yalburgi, willduan, Siddharth Gupta, Sri Krishna, Almer, Stijn Tonk, Allen Riddell, Theofilos Papapanagiotou, Alison, Alexis Mignon, Tommy Boucher, Tommy Löfstedt, Toshihiro Kamishima, Tyler Folkman, Tyler Lanigan, Alexander Junge, Varun Shenoy, Victor Poughon, Vilhelm von Ehrenheim, Aleksandr Sandrovskii, Alan Yee, Vlasios Vasileiou, Warut Vijitbenjaronk, Yang Zhang, Yaroslav Halchenko, Yichuan Liu, Yuichi Fujikawa, affanv14, aivision2020, xor, andreh7, brady salz, campustrampus, Agamemnon Krasoulis, ditenberg, elena-sharova, filipj8, fukatani, gedeck, guiniol, guoci, hakaa1, hongkahjun, i-am-xhy, jakirkham, jaroslaw-weber, jayzed82, jeroko, jmontoyam, jonathan.striebel, josephsalmon, jschendel, leereeves, martin-hahn, mathurinm, mehak-sachdeva, mlewis1729, mlliou112, mthorrell, ndingwall, nuffe, yangarbiter, plagree, pldtc325, Breno Freitas, Brett Olsen, Brian A. Alfano, Brian Burns, polmauri, Brandon Carter, Charlton Austin, Chayant T15h, Chinmaya Pancholi, Christian Danielsen, Chung Yen, Chyi-Kwei Yau, pravarmahajan, DOHMATOB Elvis, Daniel LeJeune, Daniel Hnyk, Darius Morawiec, David DeTomaso, David Gasquez, David Haberthür, David Heryanto, David Kirkby, David Nicholson, rashchedrin, Deborah Gertrude Digges, Denis Engemann, Devansh D, Dickson, Bob Baxley, Don86, E. Lynch-Klarup, Ed Rogers, Elizabeth Ferriss, Ellen-Co2, Fabian Egli, Fang-Chieh Chou, Bing Tian Dai, Greg Stupp, Grzegorz Szpak, Bertrand Thirion, Hadrien Bertrand, Harizo Rajaona, zxcvbnius, Henry Lin, Holger Peters, Icyblade Dai, Igor Andriushchenko, Ilya, Isaac Laughlin, Iván Vallés, Aurélien Bellet, JPFrancoia, Jacob Schreiber, Asish Mahapatra