Version 0.14¶
7 de agosto de 2013
Registro de cambios¶
Los valores faltantes con matrices dispersas y densas pueden ser imputados con el transformador
preprocessing.Imputerde Nicolas Trésegnie.La implementación central de los árboles de decisiones se ha reescrito desde cero, lo que permite una inducción de árboles más rápida y un menor consumo de memoria en todos los estimadores basados en árboles. Por Gilles Louppe.
Añadido
ensemble.AdaBoostClassifieryensemble.AdaBoostRegressor, por Noel Dawe y Gilles Louppe. Consulte la sección AdaBoost de la guía del usuario para obtener detalles y ejemplos.Añadido
grid_search.RandomizedSearchCVygrid_search.ParameterSamplerpara la optimización aleatoria de hiperparámetros. Por Andreas Müller.Añadidos los algoritmos biclustering (
sklearn.cluster.bicluster.SpectralCoclusteringysklearn.cluster.bicluster. SpectralBiclustering), métodos de generación de datos (sklearn.datasets.make_biclustersysklearn.datasets.make_checkerboard), y métricas de puntuación (sklearn.metrics.consensus_score). Por Kemal Eren.Añadido Restricted Boltzmann Machines (
neural_network.BernoulliRBM). Por Yann Dauphin.Soporte de Python 3 por Justin Vincent, Lars Buitinck, Subhodeep Moitra y Olivier Grisel. Todas las pruebas cumplen con Python 3.3.
Posibilidad de pasar una penalización (valor alfa) por objetivo en
linear_model.Ridge, por @eickenberg y Mathieu Blondel.Corregido el problema de regularización L2 de
sklearn.linear_model.stochastic_gradient.py(menor importancia práctica). Por Norbert Crombach y Mathieu Blondel .Añadida una versión interactiva de Andreas Müller’s Machine Learning Cheat Sheet (for scikit-learn) a la documentación. Ver Choosing the right estimator. Por Jaques Grobler.
grid_search.GridSearchCVycross_validation.cross_val_scoreahora soportan el uso de la función de puntuación avanzada como el área bajo la curva ROC y las puntuaciones f-beta. Ver El parámetro scoring: definir las reglas de evaluación del modelo para más detalles. Por Andreas Müller y Lars Buitinck. Pasar una función desklearn.metricscomoscore_funcestá obsoleto.La salida de la clasificación multietiqueta es ahora compatible con
metrics.accuracy_score,metrics.zero_one_loss,metrics.f1_score,metrics.fbeta_score,metrics.classification_report,metrics.precision_scoreymetrics.recall_scorepor Arnaud Joly.Se añaden dos nuevas métricas
metrics.hamming_lossymetrics.jaccard_similarity_scorecon soporte multietiqueta por Arnaud Joly.Mejoras de velocidad y uso de memoria en
feature_extraction.text.CountVectorizeryfeature_extraction.text.TfidfVectorizer, por Jochen Wersdörfer y Roman Sinayev.El parámetro
min_dfenfeature_extraction.text.CountVectorizeryfeature_extraction.text.TfidfVectorizer, que solía ser 2, se ha reajustado a 1 para evitar sorpresas desagradables (vocabularios vacíos) a los usuarios novatos que lo prueben en pequeñas colecciones de documentos. Se sigue recomendando un valor de al menos 2 para el uso práctico.svm.LinearSVC,linear_model.SGDClassifierylinear_model.SGDRegressortienen ahora un métodosparsifyque convierte sucoef_en una matriz dispersa, lo que significa que los modelos almacenados entrenados con estos estimadores pueden hacerse mucho más compactos.linear_model.SGDClassifierahora produce estimaciones de probabilidad multiclase cuando se entrena bajo pérdida logarítmica o pérdida de Huber modificada.Hipervínculos a la documentación en el código de ejemplo en el sitio web por Martin Luessi.
Se ha corregido un error en
preprocessing.MinMaxScalerque provocaba un escalado incorrecto de las características para los ajustes no predeterminados defeature_range. Por Andreas Müller.max_featuresentree.DecisionTreeClassifier,tree.DecisionTreeRegressory todos los estimadores de conjuntos derivados soportan ahora valores porcentuales. Por Gilles Louppe.Mejoras de rendimiento en
isotonic.IsotonicRegressionpor Nelle Varoquaux.metrics.accuracy_scoretiene una opción normalizada para devolver la fracción o el número de muestra correctamente clasificada por Arnaud Joly.Added
metrics.log_lossthat computes log loss, aka cross-entropy loss. By Jochen Wersdörfer and Lars Buitinck.Se ha corregido un error que provocaba que el
ensemble.AdaBoostClassifierdiera lugar a probabilidades incorrectas.Los selectores de características ahora comparten un mixin que proporciona métodos consistentes de
transform,inverse_transformyget_support. Por Joel Nothman.Un
grid_search.GridSearchCVogrid_search.RandomizedSearchCVajustado ahora puede ser generalmente serializado (pickled). Por Joel Nothman.Implementación refactorizada y vectorizada de
metrics.roc_curveymetrics.precision_recall_curve. Por Joel Nothman.El nuevo estimador
sklearn.decomposition.TruncatedSVDrealiza una reducción de la dimensionalidad mediante SVD en matrices dispersas, y puede utilizarse para el análisis semántico latente (LSA). Por Lars Buitinck.Añadido un ejemplo autocontenido de aprendizaje fuera del núcleo en datos de texto Clasificación de documentos de texto fuera del núcleo. Por Eustache Diemert.
El número de componentes por defecto para
sklearn.decomposition.RandomizedPCAestá ahora correctamente documentado para sern_features. Este era el comportamiento por defecto, por lo que los programas que lo utilizan seguirán funcionando como lo hacían.sklearn.cluster.KMeansahora se ajusta varios órdenes de magnitud más rápido en datos dispersos (el aumento de velocidad depende de la dispersidad). Por Lars Buitinck.Reducir la huella de memoria de FastICA por Denis Engemann y Alexandre Gramfort.
La salida detallada en
sklearn.ensemble.gradient_boostingahora utiliza un formato de columna e imprime el progreso en frecuencia decreciente. También muestra el tiempo restante. Por Peter Prettenhofer.sklearn.ensemble.gradient_boostingproporciona la mejora out-of-bagoob_improvement_en lugar de la puntuación OOB para la selección del modelo. Se ha añadido un ejemplo que muestra cómo utilizar las estimaciones OOB para seleccionar el número de árboles. Por Peter Prettenhofer.La mayoría de las métricas ahora soportan etiquetas de cadena para clasificación multiclase por Arnaud Joly y Lars Buitinck.
Nueva clase OrthogonalMatchingPursuitCV por Alexandre Gramfort y Vlad Niculae.
Se ha corregido un error en
sklearn.covariance.GraphLassoCV: el parámetro “alphas” ahora funciona como se esperaba cuando se le da una lista de valores. Por Philippe Gervais.Se ha corregido un error importante en
sklearn.covariance.GraphLassoCVque impedía utilizar todos los pliegues (folds) proporcionados por un objeto CV (sólo se utilizaban los 3 primeros). Por lo tanto, al proporcionar un objeto CV, el tiempo de ejecución puede aumentar significativamente en comparación con la versión anterior (los resultados del error son correctos ahora). Por Philippe Gervais.cross_validation.cross_val_scorey el módulogrid_searchhan sido probados con datos de múltiples salidas por Arnaud Joly.datasets.make_multilabel_classificationahora puede devolver la salida en formato de indicador de etiqueta multietiqueta por Arnaud Joly.Los vecinos más cercanos a K,
neighbors.KNeighborsRegressoryneighbors.RadiusNeighborsRegressor, y los vecinos de radio,neighbors.RadiusNeighborsRegressoryneighbors.RadiusNeighborsClassifiersoportan datos de múltiples salidas por Arnaud Joly.El estado aleatorio en los estimadores basados en LibSVM (
svm.SVC,NuSVC,OneClassSVM,svm.SVR,svm.NuSVR) puede ahora ser controlado. Esto es útil para asegurar la consistencia en las estimaciones de probabilidad para los clasificadores entrenados conprobability=True. Por Vlad Niculae.Soporte de aprendizaje fuera del núcleo para los clasificadores naive Bayes discretos
sklearn.naive_bayes.MultinomialNBysklearn.naive_bayes.BernoulliNBañadiendo el métodopartial_fitde Olivier Grisel.Nuevo diseño y navegación del sitio web por Gilles Louppe, Nelle Varoquaux, Vincent Michel y Andreas Müller.
Documentación mejorada de multi-class, multi-label and multi-output classification por Yannick Schwartz y Arnaud Joly.
Mejora de la gestión de entradas y errores en el módulo
metricspor Arnaud Joly y Joel Nothman.Optimización de la velocidad del módulo
hmmpor Mikhail KorobovMejoras significativas en la velocidad de
sklearn.cluster.DBSCANpor cleverless
Resumen de cambios en la API¶
La función
auc_scoreha pasado a llamarseroc_auc_score.Realizar pruebas scikit-learn con
sklearn.test()está obsoleto. Utilizanosetests sklearndesde la línea de comandos.La importancia de las características en
tree.DecisionTreeClassifier,tree.DecisionTreeRegressory todos los estimadores de conjuntos derivados se calculan ahora sobre la marcha cuando se accede al atributofeature_importances_. Ya no es necesario establecercompute_importances=True. Por Gilles Louppe.linear_model.lasso_pathylinear_model.enet_pathpueden devolver sus resultados en el mismo formato que el delinear_model.lars_path. Esto se hace estableciendo el parámetroreturn_modelsaFalse. Por Jaques Grobler y Alexandre Gramfortgrid_search.IterGridfue renombrado agrid_search.ParameterGrid.Se ha corregido un error en
KFoldque provocaba un equilibrio imperfecto de las clases en algunos casos. Por Alexandre Gramfort y Tadej Janež.Se ha refactorizado
sklearn.neighbors.BallTreey se ha añadido unasklearn.neighbors.KDTreeque comparte la misma interfaz. El Ball Tree ahora funciona con una amplia variedad de métricas de distancia. Ambas clases tienen muchos métodos nuevos, entre los que se incluyen las consultas de árbol único y de árbol doble, las búsquedas de amplitud y profundidad, y las consultas más avanzadas, como la estimación de la densidad del núcleo y las funciones de correlación de 2 puntos. Por Jake VanderplasSe ha eliminado el soporte para scipy.spatial.cKDTree dentro de las consultas de vecinos, y se ha sustituido la funcionalidad por la nueva clase
KDTree.Se ha añadido
sklearn.neighbors.KernelDensity, que realiza una estimación eficiente de la densidad del núcleo con una variedad de núcleos.sklearn.decomposition.KernelPCAahora siempre devuelve la salida conn_components, a menos que el nuevo parámetroremove_zero_eigse establezca enTrue. Este nuevo comportamiento es consistente con la forma en que el núcleo PCA siempre fue documentado; anteriormente, la eliminación de componentes con valores propios cero se realizaba tácitamente en todos los datos.gcv_mode="auto"ya no intenta realizar la SVD en una matriz dispersa densificada ensklearn.linear_model.RidgeCV.El soporte de matrices dispersas en
sklearn.decomposition.RandomizedPCAestá ahora obsoleto en favor del nuevoTruncatedSVD.cross_validation.KFoldycross_validation.StratifiedKFoldahora exigen quen_folds >= 2de lo contrario se produce unValueError. Por Olivier Grisel.Los parámetros
charsetycharset_errorsdedatasets.load_filesfueron renombrados comoencodingydecode_errors.El atributo
oob_score_ensklearn.ensemble.GradientBoostingRegressorysklearn.ensemble.GradientBoostingClassifierestá obsoleto y ha sido sustituido poroob_improvement_.Los atributos de OrthogonalMatchingPursuit han quedado obsoletos (copy_X, Gram, …) y
precompute_gramha pasado a llamarseprecompute_for_consistency. Ver #2224.sklearn.preprocessing.StandardScalerahora convierte la entrada de enteros a flotantes, y lanza una advertencia. Anteriormente redondeaba para entradas de enteros densos.sklearn.multiclass.OneVsRestClassifiertiene ahora un métododecision_function. Esto devolverá la distancia de cada muestra desde el límite de decisión para cada clase, siempre que los estimadores subyacentes implementen el métododecision_function. Por Kyle Kastner.Mejor validación de entrada, advertencia sobre formas inesperadas para y.
Personas¶
Lista de colaboradores de la versión 0.14.1 por número de commits.
277 Gilles Louppe
245 Lars Buitinck
187 Andreas Mueller
124 Arnaud Joly
112 Jaques Grobler
109 Gael Varoquaux
107 Olivier Grisel
102 Noel Dawe
99 Kemal Eren
79 Joel Nothman
75 Jake VanderPlas
73 Nelle Varoquaux
71 Vlad Niculae
65 Peter Prettenhofer
64 Alexandre Gramfort
54 Mathieu Blondel
38 Nicolas Trésegnie
35 eustache
27 Denis Engemann
25 Yann N. Dauphin
19 Justin Vincent
17 Robert Layton
15 Doug Coleman
14 Michael Eickenberg
13 Robert Marchman
11 Fabian Pedregosa
11 Philippe Gervais
10 Jim Holmström
10 Tadej Janež
10 syhw
9 Mikhail Korobov
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 Raul Garreta
5 Rob Zinkov
4 Ken Geis
3 A. Flaxman
3 Denton Cockburn
3 Dougal Sutherland
3 Ian Ozsvald
3 Johannes Schönberger
3 Robert McGibbon
3 Roman Sinayev
3 Szabo Roland
2 Diego Molla
2 Imran Haque
2 Jochen Wersdörfer
2 Sergey Karayev
2 Yannick Schwartz
2 jamestwebber
1 Abhijeet Kolhe
1 Alexander Fabisch
1 Bastiaan van den Berg
1 Benjamin Peterson
1 Daniel Velkov
1 Fazlul Shahriar
1 Felix Brockherde
1 Félix-Antoine Fortin
1 Harikrishnan S
1 Jack Hale
1 JakeMick
1 James McDermott
1 John Benediktsson
1 John Zwinck
1 Joshua Vredevoogd
1 Justin Pati
1 Kevin Hughes
1 Kyle Kelley
1 Matthias Ekman
1 Miroslav Shubernetskiy
1 Naoki Orii
1 Norbert Crombach
1 Rafael Cunha de Almeida
1 Rolando Espinoza La fuente
1 Seamus Abshere
1 Sergey Feldman
1 Sergio Medina
1 Stefano Lattarini
1 Steve Koch
1 Sturla Molden
1 Thomas Jarosch
1 Yaroslav Halchenko