Versión 0.17.1

18 de febrero de 2016

Registro de cambios

Corrección de errores

  • Actualiza joblib a la versión 0.9.4 provista que corrige un error importante en joblib.Parallel que puede producir resultados erróneos de forma silenciosa cuando se trabaja con conjuntos de datos de más de 1MB: https://github.com/joblib/joblib/blob/0.9.4/CHANGES.rst

  • Se ha corregido la lectura de los pickles de Bunch generados con la versión de scikit-learn <= 0.16. Esto puede afectar a los usuarios que ya han descargado un conjunto de datos con scikit-learn 0.16 y lo están cargando con scikit-learn 0.17. Ver #6196 para saber cómo afectaba esto a datasets.fetch_20newsgroups. Por Loic Esteve.

  • Se ha corregido un error que impedía utilizar la puntuación AUC de ROC para realizar la búsqueda en cuadrícula en varias CPU / núcleos (cores) en arreglos grandes. Ver #6147 Por Olivier Grisel.

  • Se ha corregido un error que impedía establecer correctamente el parámetro presort en ensemble.GradientBoostingRegressor. Ver #5857 Por Andrew McCulloh.

  • Se ha corregido un error de joblib al evaluar la perplejidad de un modelo decomposition.LatentDirichletAllocation. Ver #6258 Por Chyi-Kwei Yau.

Versión 0.17

5 de noviembre de 2015

Registro de cambios

Nuevas características

Mejoras

Corrección de errores

  • Se corrigió el no determinismo en dummy.DummyClassifier con salida multietiqueta dispersa. Por Andreas Müller.

  • Se corrigió la forma de salida de linear_model.RANSACRegressor a (n_samples, ). Por Andreas Müller.

  • Se corrigió el error en decomposition.DictLearning cuando n_jobs < 0. Por Andreas Müller.

  • Se corrigió el error donde grid_search.RandomizedSearchCV podía consumir mucha memoria para cuadrículas discretas de gran tamaño. Por Joel Nothman.

  • Se corrigió un error en linear_model.LogisticRegressionCV donde penalty fue ignorado en el ajuste final. Por Manoj Kumar.

  • Se corrigió un error en ensemble.forest.ForestClassifier al calcular oob_score y X es una sparse.csc_matrix. Por Ankur Ankan.

  • Todos los regresores ahora manejan y advierten consistentemente cuando se les da y que es de la forma (n_samples, 1). Por Andreas Müller y Henry Lin. (#5431)

  • Corrección en cluster.KMeans reasignación de conglomerados para entradas dispersas por Lars Buitinck.

  • Se corrigió un error en lda.LDA que podía provocar matrices de covarianza asimétricas al utilizar la reducción(shrinkage). Por Martin Billinger.

  • Se corrigió cross_validation.cross_val_predict para estimadores con predicciones dispersas. Por Buddha Prakash.

  • Se corregió el método predict_proba de linear_model.LogisticRegression para que utilice soft-max en lugar de la normalización uno contra el resto(one-vs-rest). Por Manoj Kumar. (#5182)

  • Se corrigió el método partial_fit de linear_model.SGDClassifier cuando se llama con average=True. Por Andrew Lamb. (#5282)

  • Los buscadores de conjuntos de datos utilizan nombres de archivo diferentes en Python 2 y Python 3 para evitar incidencias de compatibilidad al realizar pickling. Por Olivier Grisel. (#5355)

  • Se corrigió un error en naive_bayes.GaussianNB que causaba que los resultados de la clasificación dependieran de la escala. Por Jake Vanderplas.

  • Se corrigió temporalmente linear_model.Ridge, que era incorrecto al ajustar el intercepto en el caso de datos dispersos. La corrección cambia automáticamente el solucionador a “sag” en este caso. #5360 por Tom Dupre la Tour.

  • Se corrigió un error de rendimiento en decomposition.RandomizedPCA en datos con un gran número de características y menos muestras. (#4478) Por Andreas Müller, Loic Esteve y Giorgio Patrini.

  • Se corrigió un error en cross_decomposition.PLS que producía una salida inestable y dependiente de la plataforma, y fallaba en fit_transform. Por Arthur Mensch.

  • Correcciones en la clase Bunch utilizada para almacenar conjuntos de datos.

  • Se corrigió ensemble.plot_partial_dependence ignorando el parámetro percentiles.

  • Proporciona un set como vocabulario en CountVectorizer que ya no conduce a resultados inconsistentes en el pickling.

  • Se corrigieron las condiciones sobre cuándo es necesario volver a calcular una matriz Gram precalculada en linear_model.LinearRegression, linear_model.OrthogonalMatchingPursuit, linear_model.Lasso y linear_model.ElasticNet.

  • Se corrigió el diseño inconsistente de la memoria en el solucionador de descenso de coordenadas que afectaba a linear_model.DictionaryLearning y covariance.GraphLasso. (#5337) Por Olivier Grisel.

  • manifold.LocallyLinearEmbedding ya no ignora el parámetro reg.

  • Los estimadores de vecinos más cercanos con métricas de distancia personalizadas ahora se pueden serializar. (#4362)

  • Se corrigió un error en pipeline.FeatureUnion donde transformer_weights no se manejaba correctamente al realizar búsquedas en cuadrícula.

  • Se corrigió un error en linear_model.LogisticRegression y linear_model.LogisticRegressionCV al utilizar class_weight='balanced' o class_weight='auto'. Por Tom Dupre la Tour.

  • Se corrigió el error #5495 al hacer OVR(SVC(decision_function_shape=»ovr»)). Corregido por Elvis Dohmatob.

Resumen de cambios en la API

  • Los atributos data_min, data_max y data_range de preprocessing.MinMaxScaler están obsoletos y no estarán disponibles a partir de la versión 0.19. En su lugar, la clase presenta ahora data_min_, data_max_ y data_range_. Por Giorgio Patrini.

  • Todas las clases Scaler tienen ahora un atributo scale_, el reescalado de características aplicado por sus métodos transform. El antiguo atributo std_ en preprocessing.StandardScaler está obsoleto y es sustituido por scale_; no estará disponible en 0.19. Por Giorgio Patrini.

  • svm.SVC` y svm.NuSVC tienen ahora un parámetro decision_function_shape para que su función de decisión tenga la forma (n_samples, n_classes) estableciendo decision_function_shape='ovr'. Este será el comportamiento por defecto a partir de 0.19. Por Andreas Müller.

  • Pasar arreglos de datos 1D como entrada a los estimadores está ahora obsoleto, ya que causaba confusión en cómo los elementos del arreglo debían ser interpretados como características o como muestras. Ahora se espera que todos los arreglos de datos tengan una forma explícita (n_samples, n_features). Por Vighnesh Birodkar.

  • lda.LDA y qda.QDA se han movido a discriminant_analysis.LinearDiscriminantAnalysis y discriminant_analysis.QuadraticDiscriminantAnalysis.

  • Los parámetros store_covariance y tol se han movido del método fit al constructor en discriminant_analysis.LinearDiscriminantAnalysis y los parámetros store_covariances y tol se han movido del método fit al constructor en discriminant_analysis.QuadraticDiscriminantAnalysis.

  • Los modelos que heredan de LearntSelectorMixin ya no soportan los métodos de transformación. (es decir, RandomForests, GradientBoosting, LogisticRegression, DecisionTrees, SVMs y modelos relacionados con SGD). Envuelve estos modelos en el metatransformador feature_selection.SelectFromModel para eliminar las características (según coefs_ o feature_importances_) que estén por debajo de un determinado valor umbral.

  • cluster.KMeans vuelve a ejecutar las asignaciones de conglomerado(cluster) en caso de no convergencia, para asegurar la consistencia de predict(X) y labels_. Por Vighnesh Birodkar.

  • Los modelos clasificadores y regresores se etiquetan ahora como tales utilizando el atributo _estimator_type.

  • Los iteradores de validación cruzada siempre proporcionan índices en el conjunto de entrenamiento y de prueba, no máscaras booleanas.

  • La función decision_function en todos los regresores ha quedado obsoleta y se eliminará en la versión 0.19. Utiliza predict en su lugar.

  • datasets.load_lfw_pairs está obsoleto y se eliminará en la versión 0.19. Utiliza datasets.fetch_lfw_pairs en su lugar.

  • Se eliminó el módulo obsoleto ``hmm`.

  • Se eliminó el iterador de validación cruzada Bootstrap obsoleto.

  • Las clases obsoletas Ward y WardAgglomerative han sido eliminadas. Utiliza en su lugar clustering.AgglomerativeClustering.

  • cross_validation.check_cv es ahora una función pública.

  • La propiedad residues_ de linear_model.LinearRegression está obsoleta y se eliminará en la versión 0.19.

  • El parámetro obsoleto n_jobs de linear_model.LinearRegression ha sido movido al constructor.

  • Se eliminó el parámetro obsoleto class_weight del método fit de linear_model.SGDClassifier. Utiliza el parámetro de construcción en su lugar.

  • Se eliminó el soporte obsoleto para el formato multietiqueta de secuencia de secuencias (o lista de listas). Para convertir hacia y desde el formato de matriz indicatriz binaria soportada, utiliza MultiLabelBinarizer.

  • El comportamiento de la llamada al método inverse_transform de Pipeline.pipeline cambiará en 0.19. Ya no se transformará la entrada unidimensional en una entrada bidimensional.

  • Se eliminaron los atributos obsoletos indicator_matrix_, multilabel_ y classes_ de preprocessing.LabelBinarizer.

  • El uso de gamma=0 en svm.SVC y svm.SVR para establecer automáticamente la gamma a 1. / n_features está obsoleto y se eliminará en la versión 0.19. Utiliza gamma="auto" en su lugar.

Contribuyentes de código

Aaron Schumacher, Adithya Ganesh, akitty, Alexandre Gramfort, Alexey Grigorev, Ali Baharev, Allen Riddell, Ando Saabas, Andreas Mueller, Andrew Lamb, Anish Shah, Ankur Ankan, Anthony Erlinger, Ari Rouvinen, Arnaud Joly, Arnaud Rachez, Arthur Mensch, banilo, Barmaley.exe, benjaminirving, Boyuan Deng, Brett Naul, Brian McFee, Buddha Prakash, Chi Zhang, Chih-Wei Chang, Christof Angermueller, Christoph Gohlke, Christophe Bourguignat, Christopher Erick Moody, Chyi-Kwei Yau, Cindy Sridharan, CJ Carey, Clyde-fare, Cory Lorenz, Dan Blanchard, Daniel Galvez, Daniel Kronovet, Danny Sullivan, Data1010, David, David D Lowe, David Dotson, djipey, Dmitry Spikhalskiy, Donne Martin, Dougal J. Sutherland, Dougal Sutherland, edson duarte, Eduardo Caro, Eric Larson, Eric Martin, Erich Schubert, Fernando Carrillo, Frank C. Eckert, Frank Zalkow, Gael Varoquaux, Ganiev Ibraim, Gilles Louppe, Giorgio Patrini, giorgiop, Graham Clenaghan, Gryllos Prokopis, gwulfs, Henry Lin, Hsuan-Tien Lin, Immanuel Bayer, Ishank Gulati, Jack Martin, Jacob Schreiber, Jaidev Deshpande, Jake Vanderplas, Jan Hendrik Metzen, Jean Kossaifi, Jeffrey04, Jeremy, jfraj, Jiali Mei, Joe Jevnik, Joel Nothman, John Kirkham, John Wittenauer, Joseph, Joshua Loyal, Jungkook Park, KamalakerDadi, Kashif Rasul, Keith Goodman, Kian Ho, Konstantin Shmelkov, Kyler Brown, Lars Buitinck, Lilian Besson, Loic Esteve, Louis Tiao, maheshakya, Maheshakya Wijewardena, Manoj Kumar, MarkTab marktab.net, Martin Ku, Martin Spacek, MartinBpr, martinosorb, MaryanMorel, Masafumi Oyamada, Mathieu Blondel, Matt Krump, Matti Lyra, Maxim Kolganov, mbillinger, mhg, Michael Heilman, Michael Patterson, Miroslav Batchkarov, Nelle Varoquaux, Nicolas, Nikolay Mayorov, Olivier Grisel, Omer Katz, Óscar Nájera, Pauli Virtanen, Peter Fischer, Peter Prettenhofer, Phil Roth, pianomania, Preston Parry, Raghav RV, Rob Zinkov, Robert Layton, Rohan Ramanath, Saket Choudhary, Sam Zhang, santi, saurabh.bansod, scls19fr, Sebastian Raschka, Sebastian Saeger, Shivan Sornarajah, SimonPL, sinhrks, Skipper Seabold, Sonny Hu, sseg, Stephen Hoover, Steven De Gryze, Steven Seguin, Theodore Vasiloudis, Thomas Unterthiner, Tiago Freitas Pereira, Tian Wang, Tim Head, Timothy Hopper, tokoroten, Tom Dupré la Tour, Trevor Stephens, Valentin Stolbunov, Vighnesh Birodkar, Vinayak Mehta, Vincent, Vincent Michel, vstolbunov, wangz10, Wei Xue, Yucheng Low, Yury Zhauniarovich, Zac Stewart, zhai_pro, Zichen Wang