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.Imputer
de 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.AdaBoostClassifier
yensemble.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.RandomizedSearchCV
ygrid_search.ParameterSampler
para la optimización aleatoria de hiperparámetros. Por Andreas Müller.Añadidos los algoritmos biclustering (
sklearn.cluster.bicluster.SpectralCoclustering
ysklearn.cluster.bicluster. SpectralBiclustering
), métodos de generación de datos (sklearn.datasets.make_biclusters
ysklearn.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.GridSearchCV
ycross_validation.cross_val_score
ahora 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.metrics
comoscore_func
está 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_score
ymetrics.recall_score
por Arnaud Joly.Se añaden dos nuevas métricas
metrics.hamming_loss
ymetrics.jaccard_similarity_score
con soporte multietiqueta por Arnaud Joly.Mejoras de velocidad y uso de memoria en
feature_extraction.text.CountVectorizer
yfeature_extraction.text.TfidfVectorizer
, por Jochen Wersdörfer y Roman Sinayev.El parámetro
min_df
enfeature_extraction.text.CountVectorizer
yfeature_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.SGDClassifier
ylinear_model.SGDRegressor
tienen ahora un métodosparsify
que 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.SGDClassifier
ahora 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.MinMaxScaler
que provocaba un escalado incorrecto de las características para los ajustes no predeterminados defeature_range
. Por Andreas Müller.max_features
entree.DecisionTreeClassifier
,tree.DecisionTreeRegressor
y todos los estimadores de conjuntos derivados soportan ahora valores porcentuales. Por Gilles Louppe.Mejoras de rendimiento en
isotonic.IsotonicRegression
por Nelle Varoquaux.metrics.accuracy_score
tiene una opción normalizada para devolver la fracción o el número de muestra correctamente clasificada por Arnaud Joly.Added
metrics.log_loss
that computes log loss, aka cross-entropy loss. By Jochen Wersdörfer and Lars Buitinck.Se ha corregido un error que provocaba que el
ensemble.AdaBoostClassifier
diera lugar a probabilidades incorrectas.Los selectores de características ahora comparten un mixin que proporciona métodos consistentes de
transform
,inverse_transform
yget_support
. Por Joel Nothman.Un
grid_search.GridSearchCV
ogrid_search.RandomizedSearchCV
ajustado ahora puede ser generalmente serializado (pickled). Por Joel Nothman.Implementación refactorizada y vectorizada de
metrics.roc_curve
ymetrics.precision_recall_curve
. Por Joel Nothman.El nuevo estimador
sklearn.decomposition.TruncatedSVD
realiza 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.RandomizedPCA
está 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.KMeans
ahora 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_boosting
ahora utiliza un formato de columna e imprime el progreso en frecuencia decreciente. También muestra el tiempo restante. Por Peter Prettenhofer.sklearn.ensemble.gradient_boosting
proporciona 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.GraphLassoCV
que 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_score
y el módulogrid_search
han sido probados con datos de múltiples salidas por Arnaud Joly.datasets.make_multilabel_classification
ahora puede devolver la salida en formato de indicador de etiqueta multietiqueta por Arnaud Joly.Los vecinos más cercanos a K,
neighbors.KNeighborsRegressor
yneighbors.RadiusNeighborsRegressor
, y los vecinos de radio,neighbors.RadiusNeighborsRegressor
yneighbors.RadiusNeighborsClassifier
soportan 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.MultinomialNB
ysklearn.naive_bayes.BernoulliNB
añadiendo el métodopartial_fit
de 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
metrics
por Arnaud Joly y Joel Nothman.Optimización de la velocidad del módulo
hmm
por Mikhail KorobovMejoras significativas en la velocidad de
sklearn.cluster.DBSCAN
por cleverless
Resumen de cambios en la API¶
La función
auc_score
ha pasado a llamarseroc_auc_score
.Realizar pruebas scikit-learn con
sklearn.test()
está obsoleto. Utilizanosetests sklearn
desde la línea de comandos.La importancia de las características en
tree.DecisionTreeClassifier
,tree.DecisionTreeRegressor
y 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_path
ylinear_model.enet_path
pueden devolver sus resultados en el mismo formato que el delinear_model.lars_path
. Esto se hace estableciendo el parámetroreturn_models
aFalse
. Por Jaques Grobler y Alexandre Gramfortgrid_search.IterGrid
fue renombrado agrid_search.ParameterGrid
.Se ha corregido un error en
KFold
que provocaba un equilibrio imperfecto de las clases en algunos casos. Por Alexandre Gramfort y Tadej Janež.Se ha refactorizado
sklearn.neighbors.BallTree
y se ha añadido unasklearn.neighbors.KDTree
que 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.KernelPCA
ahora siempre devuelve la salida conn_components
, a menos que el nuevo parámetroremove_zero_eig
se 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.RandomizedPCA
está ahora obsoleto en favor del nuevoTruncatedSVD
.cross_validation.KFold
ycross_validation.StratifiedKFold
ahora exigen quen_folds >= 2
de lo contrario se produce unValueError
. Por Olivier Grisel.Los parámetros
charset
ycharset_errors
dedatasets.load_files
fueron renombrados comoencoding
ydecode_errors
.El atributo
oob_score_
ensklearn.ensemble.GradientBoostingRegressor
ysklearn.ensemble.GradientBoostingClassifier
está obsoleto y ha sido sustituido poroob_improvement_
.Los atributos de OrthogonalMatchingPursuit han quedado obsoletos (copy_X, Gram, …) y
precompute_gram
ha pasado a llamarseprecompute_for_consistency
. Ver #2224.sklearn.preprocessing.StandardScaler
ahora convierte la entrada de enteros a flotantes, y lanza una advertencia. Anteriormente redondeaba para entradas de enteros densos.sklearn.multiclass.OneVsRestClassifier
tiene 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