Versión 0.15¶
4 de septiembre de 2014
Corrección de errores¶
Solucionado el manejo del parámetro
p
de la distancia de Minkowski que fue previamente ignorado en los modelos de vecinos más cercanos. Por Nikolay Mayorov.Se han corregido alphas duplicadas en
linear_model.LassoLars
con una parada temprana en Python de 32 bits. Por Olivier Grisel y Fabian Pedregosa.Se corrigió la compilación bajo Windows cuando scikit-learn se compila con MSVC, mientras que NumPy se construye con MinGW. De Olivier Grisel y Federico Vaggi.
Se ha corregido un error de overflow de índice del arreglo en el solucionador de descenso de coordenadas. Por Gael Varoquaux.
Mejor manejo de advertencias de obsolescencia de numpy 1.9. Por Gael Varoquaux.
Se ha eliminado una copia de datos innecesaria en
cluster.KTechns
. De Gael Varoquaux.Cierra explícitamente los archivos abiertos para evitar
ResourceWarnings
bajo Python 3. Por Calvin Giles.La
transform
dediscriminant_analysis.LinearDiscriminantAnalysis
ahora proyecta la entrada en las direcciones más discriminantes. Por Martin Billinger.Corregido overflow potencial en
_tree.safe_realloc
por Lars Buitinck.Optimización de rendimiento en
isotonic.IsotonicRegression
. Por Robert Bradshaw.nose
ya no es una dependencia al tiempo de ejecución para importarsklearn
, solo para ejecutar las pruebas. Por Joel Nothman.Muchas correcciones de la documentación y del sitio web por Joel Nothman, Lars Buitinck Matt Pico, y otros.
Versión 0.15.1¶
1 de agosto de 2014
Corrección de errores¶
Se hizo que
cross_validation.cross_val_score
usaracross_validation.KFold
en lugar decross_validation.StratifiedKFold
en problemas de clasificación de múltiples salidas. Por Nikolay Mayorov.Soporte para etiquetas no vistas
preprocessing.LabelBinarizer
para restaurar el comportamiento predeterminado de 0.14.1 para compatibilidad con versiones anteriores. Por Hamzeh Alsalhi.Se ha corregido el criterio de parada de
cluster.KTechns
que evitó la detección temprana de convergencia. Por Edward Row y Gael Varoquaux.Corregido el comportamiento de
multiclass.OneVsOneClassifier
. en el caso de vínculos en el nivel de voto por clase para calcular la suma por clase correcta del puntaje de las predicciones. Por Andreas Müller.Se hizo que
cross_validation.cross_val_score
ygrid_search.GridSearchCV
aceptaran listas de Python como datos de entrada. Esto es especialmente útil para la validación cruzada y para la selección de modelos de pipelines de procesamiento de texto. Por Andreas Müller.Se corrigieron las comprobaciones de los datos de entrada de la mayoría de los estimadores para aceptar datos de entrada que implementen el protocolo de NumPy
__array__
. Esto es el caso parapandas.Series
ypandas.DataFrame
en las versiones más recientes de pandas. Por Gael Varoquaux.Se ha corregido una regresión para
linear_model.SGDClassifier
conclass_weight="auto"
en datos con etiquetas no contiguas. Por Olivier Grisel.
Versión 0.15¶
15 de julio de 2014
Destacados¶
Muchas mejoras de velocidad y memoria en todo el código
Grandes mejoras de velocidad y de memoria en bosques aleatorios (y árboles adicionales) que también se benefician mejor de la computación paralela.
Ajuste incremental a
BernoulliRBM
Añadido
cluster.AgglomerativeClustering
para análisis de conglomerados aglomerativo jerárquico con enlazamiento promedio, enlazamiento completo y estrategias Ward.Añadido
linear_model.RANSACRegressor
para modelos de regresión robustos.Añadido reducción de dimensionalidad con
manifold.TSNE
el cual puede utilizarse para visualizar datos de alta dimensión.
Registro de cambios¶
Nuevas características¶
Se añadieron los metaestimadores
ensemble.BaggingClassifier
yensemble.BaggingRegressor
para empaquetar cualquier tipo de estimador base. Ver la sección Bagging del manual de usuario para detalles y ejemplos. Por Gilles Louppe.Nuevo algoritmo de selección de características no supervisado
feature_selection.VarianceThreshold
, por Lars Buitinck.Se añadió el metaestimador
linear_model.RANSACRegressor
para el ajuste robusto de modelos de regresión. Por Johannes Schönberger.Añadido
cluster.AgglomerativeClustering
para análisis de conglomerados aglomerativo jerárquico con enlazamiento promedio, enlazamiento completo y estrategias Ward, por Nelle Varoquaux y Gael Varoquaux.Los constructores de Shorthand
pipeline.make_pipeline
ypipeline.make_union
fueron añadidos por Lars Buitinck.Opción aleatoria para
cross_validation.StratifiedKFold
. De Jeffrey Blackburne.Aprendizaje incremental (
partial_fit
) para Bayes ingenuo Gaussiano por Imran Haque.Se añadió
partial_fit
aBernoulliRBM
Por Danny Sullivan.Se añadió la utilidad
learning_curve
para graficar el rendimiento con respecto al tamaño del entrenamiento. Ver Graficando curvas de aprendizaje. De Alexander Fabisch.Añade una opción positiva en
LassoCV
yElasticNetCV
. Por Brian Wignall y Alexandre Gramfort.Se añadieron
linear_model.MultiTaskElasticNetCV
ylinear_model.MultiTaskLassoCV
. Por Manoj Kumar.Añadido
manifold.TSNE
. Por Alexander Fabisch.
Mejoras (Enhancements)¶
Añade soporte de entrada dispersa a los metaestimadores
ensemble.AdaBoostClassifier
yensemble.AdaBoostRegressor
. Por Hamzeh Alsalhi.Mejoras de memoria para los árboles de decisión, por Arnaud Joly.
Los árboles de decisión pueden construirse ahora de la mejor manera posible utilizando
max_leaf_nodes
como criterio de parada. Refactorizado el código del árbol para usar o una pila o una cola de prioridad para la construcción de árboles. Por Peter Prettenhofer y Gilles Louppe.Los árboles de decisiones se pueden ajustar ahora en matrices de estilo fortrano y c, y arreglos no-continuos sin la necesidad de hacer una copia. Si la matriz de entrada tiene un dtype diferente a
np.float32
, se hará una copia de estilo fortran ya que el diseño de memoria de estilo fortran tiene ventajas de velocidad. Por Peter Prettenhofer y Gilles Louppe.Mejora de velocidad de los árboles de regresión mediante la optimización del cálculo del criterio de error cuadrado medio. Esto llevo a la mejora de velocidad de los módulos de árbol, bosques y árboles de potenciación de gradiente. Por Arnaud Joly
Las funciones
img_to_graph
ygrid_tograph
ensklearn.feature_extraction.image
ahora devuelvennp.ndarray
en lugar denp.matrix
cuandoreturn_as=np.ndarray
. Consulta la sección de Notas para más información sobre la compatibilidad.Se ha cambiado el almacenamiento interno de los árboles de decisión para usar un arreglo struct. Esto arregló algunos pequeños errores, mientras mejoraba el código y proporcionaba una pequeña ganancia de velocidad. Por Joel Nothman.
Reduce el uso de memoria y sobrecarga cuando se ajusta y predice con bosques de árboles aleatorizados en paralelo con
n_jobs ! 1
aprovechando el nuevo backend de hilos de joblib 0.8 y liberando el GIL en el código de Cython que ajusta árboles.. Por Olivier Grisel y Gilles Louppe.Mejora de velocidad del módulo
sklearn.ensemble.gradient_boosting
. Por Gilles Louppe y Peter Prettenhofer.Varias mejoras al módulo
sklearn.ensemble.gradient_boosting
, un argumentowarm_start
para ajustar árboles adicionales, un argumentomax_leaf_nodes
para ajustar a árboles de estilo GBM, un argumento de ajustemonitor
para inspeccionar el estimador durante la capacitación, y una refactorización del código verboso. Por Peter Prettenhofer.sklearn.ensemble.ExtraTrees
más rapido mediante el cacheo de valores de característica. Por Arnaud Joly.Algoritmo de construcción de árboles basado en profundidades más rápido, como el árbol de decisiones, bosque aleatorio, árboles extra o la potenciación de árboles degradados (con estrategia de crecimiento basado en profundidad) evitando dividir las constantes características encontradas en el subconjunto de la muestra. Por Arnaud Joly.
Agrega el parámetro pre-podando
min_weight_fraction_leaf
a métodos basados en árboles: la fracción mínima ponderada de las muestras de entrada requeridas para estar en un nodo de hoja. Por Noel Dawe.Añadido
metrics.pairwise_distances_argmin_min
, por Philippe Gervais.Se añadió el método predict a
cluster.AffinityPropagation
ycluster.mediumShift
, por Mathieu Blondel.Las multiplicaciones de vector y matriz han sido optimizadas en toda la biblioteca por Denis Engemann, y Alexandre Gramfort. En particular, deberían tomar menos memoria con versiones anteriores de NumPy (anteriores a 1.7.2).
Los ejemplos de precision-exhaustividad y ROC ahora usan train_test_split, y tienen más explicación de por qué estas métricas son útiles. Por Kyle Kastner
El algoritmo de entrenamiento para
decomposition.NMF
es más rápido para las matrices dispersas y tiene una complejidad de memoria mucho menos, lo que significa que aumentará su escala hasta los conjuntos de datos grandes. Por Lars Buitinck.Se añadió la opción svd_method con valor predeterminado de «randomized» a
decomposition.FactorAnalysis
para ahorrar memoria y acelerar significativamente el cálculo por Denis Engemann, y Alexandre Gramfort.Cambiado
cross_validation. tratifiedKFold
para tratar de preservar tanto del orden original de muestras como sea posible para no ocultar la sobrecapacidad en los conjuntos de datos con un nivel no despreciable de dependencia en las muestras. Por Daniel Nouri y Olivier Grisel.Añade soporte de salida múltiple a
gaussian_process.GaussianProcess
por John Novak.Soporte para matrices de distancia precalculadas en estimadores de vecinos más cercanos por Robert Layton y Joel Nothman.
Cálculos de norm optimizados para NumPy 1.6 y versiones posteriores por Lars Buitinck. En particular, el algoritmo k-medias ya no necesita una estructura temporal de datos del tamaño de su entrada.
dummy.DummyClassifier
ahora puede utilizarse para predecir un valor de salida constante. Por Manoj Kumar.dummy.DummyRegressor
ahora tiene un parámetro de estrategia que permite predecir la media, la mediana del conjunto de entrenamiento o un valor de salida constante. De Maheshakya Wijewardena.La salida de clasificación multi-etiqueta en el formato de indicador multietiqueta ahora está soportada por
metrics.roc_auc_score
ymetrics.average_precision_score
por Arnaud Joly.Mejoras significativas de rendimiento (más de 100x de velocidad para grandes problemas) en
isotonic.IsotonicRegression
por Andrew Tulloch.Mejoras de velocidad y uso de memoria en el algoritmo SGD para modelos lineales: ahora usa hilos, no procesos separados, cuando
n_jobs>1
. Por Lars Buitinck.La búsqueda en cuadrícula y la validación cruzada permiten NaNs en los arreglos de entrada para que preprocesadores como
preprocessing.Imputer
puedan ser entrenados dentro del bucle de validación cruzada, evitando posibles resultados sesgados.La regresión de cresta ahora puede tratar con ponderados de la muestra en el espacio de características (solo espacio de muestras hasta entonces). Por Michael Eickenberg Ambas soluciones son proporcionadas por el solucionador Cholesky.
Varías métricas de clasificación y regresión ahora soportan muestras ponderadas con el nuevo argumento
sample_weight
:metrics.accuracy_score
,metrics.zero_one_loss
,metrics.precision_score
,metrics.average_precision_score
,metrics.f1_score
,metrics.fbeta_score
,metrics.recall_score
,metrics.roc_auc_score
,metrics.explained_variance_score
,metrics.mean_squared_error
,metrics.mean_absolute_error
,metrics.r2_score
. Por Noel Dawe.Aceleración del generador de muestras
datasets.make_multilabel_classification
. Por Joel Nothman.
Mejoras de documentación¶
El tutorial Trabajando con Datos de Texto ahora ha sido trabajado en la sección de tutoriales de la documentación principal. Incluye ejercicios y esqueletos para la presentación del tutorial. Tutorial original creado por varios autores incluidos Olivier Grisel., Lars Buitinck y muchos otros. Integración del tutorial dentro de la documentación scikit-learn por Jaques Grobler
Añadida documentación del Rendimiento Computacional. Discusión y ejemplos de la latencia de predicción / producción y diferentes factores que tienen influencia sobre la velocidad. Tips adicionales para la construcción de modelos mas rápidos y elección de un compromiso relevante entre la velocidad y el poder predictivo. Por Eustache Diemert.
Corrección de errores¶
Corregido error en
decomposition.MiniBatchDictionaryLearning
:partial_fit
no funcionaba correctamente.Corregido error en
linear_model.stochastic_gradient
:l1_ratio
fue usado como(1.0 - l1_ratio)
.Corregido error en
multiclass.OneVsOneClassifier
con etiquetas de cadenaSe ha corregido un error en
LassoCV
yElasticNetCV
: no pre-calculaban la matriz de Gram conprecompute=True
oprecompute="auto"
yn_samples > n_features
. Por Manoj Kumar.Se ha corregido la estimación incorrecta de los grados de libertad en
feature_selection.f_regression
cuando las variantes no están centradas. Por Virgile Fritsch.Se ha corregido una condición de carrera en el procesamiento paralelo con
pre_dispatch != "all"
(por ejemplo, encross_val_score
). Por Olivier Grisel.Se plantea un error en
cluster.FeatureAgglomeration
ycluster.WardAgglomeration
cuando no se dan muestras, en lugar de devolver un análisis de conglomerados sin sentido.Corregido error en
gradient_boosting.GradientBoostingRegressor
conloss='huber'
:gamma
podría no haber sido inicializado.Corregidas importancias de características calculadas con un bosque de árboles aleatorios cuando se ajustan con
sample_weight != None
y/o conbootstrap=True
. Por Gilles Louppe.
Resumen de cambios en la API¶
sklearn.hmm
está obsoleto. Su eliminación está prevista para la versión 0.17.El uso de
covariance.EllipticEnvelop
se ha eliminado después de su obsolescencia. Por favor, utilizacovariance.EllipticEnvelope
en su lugar.cluster.Ward
está obsoleto. En su lugar, usacluster.AgglomerativeClustering
.cluster.WardClustering
está obsoleto. Usacluster.AgglomerativeClustering
en su lugar.cross_validation.Bootstrap
está obsoleto.cross_validation.KFold
ocross_validation.ShuffleSplit
son recomendados en su lugar.El apoyo directo para el formato de multietiquetas secuencia de secuencias (o lista de listas) está obsoleto. Para convertir a y desde el formato soportado de matriz de indicador binario, utiliza
MultiLabelBinarizer
. Por Joel Nothman.Añade el método de puntuación a
PCA
siguiendo el modelo de PCA probabilístico y obsoleta el modeloProbabilisticPCA
cuya implementación de puntuación no es correcta. La computación ahora explota también el lemma de inversión de matriz para cálculos más rápidos. Por Alexandre Gramfort.El método de puntuación de
FactorAnalysis
ahora devuelve el logaritmo de la verosimilitud promedio de las muestras. Utiliza score_samples para obtener el logaritmo de la verosimilitud de cada muestra. Por Alexandre Gramfort.La generación de máscaras booleanas (el ajuste
indices=False
) desde generadores de validación cruzada está obsoleto. El soporte para las máscaras se eliminará en 0.17. Los generadores han producido arreglos de índices por defecto desde 0.10. Por Joel Nothman.Los arreglos 1-d que contienen cadenas con
dtype=object
(como se usa en Pandas) ahora se consideran objetivos de clasificación válidos. Esto corrige una regresión de la versión 0.13 en algunos clasificadores. Por Joel Nothman.Corregir el atributo incorrecto
explained_variance_ratio_
enRandomizedPCA
. Por Alexandre Gramfort.Ajuste de alfas para cada
l1_ratio
en lugar demean_l1_ratio
enlinear_model.ElasticNetCV
ylinear_model.LassoCV
. Esto cambia la forma dealphas_
de(n_alphas,)
a(n_l1_ratio, n_alphas)
si ell1_ratio
proporcionado es una matriz 1-D como un objeto de longitud mayor que uno. Por Manoj Kumar.Corrección de
linear_model.ElasticNetCV
ylinear_model.LassoCV
cuando se ajusta el intercepto y los datos de entrada son dispersos. La rejilla automática de alphas no se calculaba correctamente y la escala con normalización era incorrecta.Por Manoj Kumar.Corrección del número máximo incorrecto de características escogidas (
max_features
) en cada división para árboles de división, bosques aleatorios y potenciación de árboles degradados. Previamente, el conteo para el número de características escogidas empezaba solo después de una característica no constante en la división. Esta corrección de errores afectará el rendimiento computacional y de generalización de aquellos algoritmos en la presencia de características constantes. Para obtener generalizaciones previas debería modificar el valor demax_features
. Por Arnaud Joly.Corrección del número máximo incorrecto de características escogidas (
max_features
) en cada división porensemble.ExtraTreesClassifier
yensemble.ExtraTreesRegressor
. Previamente, solo características no constantes en la división se contarán como escogidas. Ahora las características constantes se cuentan como escogidas. Además, al menos una característica debe ser no constante para hacer una división válida. Esta corrección de errores afectará el rendimiento de cálculo y generalización para árboles adicionales en la presencía de características constantes. Para obtener el rendimiento de generalización previo, deberías modifícar el valor demax_features
Por Arnaud Joly.Corrección de
utils.compute_class_weight
cuandoclass_weight=="auto"
. Previamente se rompió para la entrada de``dtype`` no entero y el arreglo ponderado que se devolvía estaba equivocado. Por Manoj Kumar.Corregir
cross_validation.Bootstrap
para devolverValueError
cuandon_train + n_test > n
. Por Ronald Phlypo.
Personas¶
Lista de colaboradores de la versión 0.15.1 por número de commits.
312 Olivier Grisel
275 Lars Buitinck
221 Gael Varoquaux
148 Arnaud Joly
134 Johannes Schönberger
119 Gilles Louppe
113 Joel Nothman
111 Alexandre Gramfort
95 Jaques Grobler
89 Denis Engemann
83 Peter Prettenhofer
83 Alexander Fabisch
62 Mathieu Blondel
60 Eustache Diemert
60 Nelle Varoquaux
49 Michael Bommarito
45 Manoj-Kumar-S
28 Kyle Kastner
26 Andreas Mueller
22 Noel Dawe
21 Maheshakya Wijewardena
21 Brooke Osborn
21 Hamzeh Alsalhi
21 Jake VanderPlas
21 Philippe Gervais
19 Bala Subrahmanyam Varanasi
12 Ronald Phlypo
10 Mikhail Korobov
8 Thomas Unterthiner
8 Jeffrey Blackburne
8 eltermann
8 bwignall
7 Ankit Agrawal
7 CJ Carey
6 Daniel Nouri
6 Chen Liu
6 Michael Eickenberg
6 ugurthemaster
5 Aaron Schumacher
5 Baptiste Lagarde
5 Rajat Khanduja
5 Robert McGibbon
5 Sergio Pascual
4 Alexis Metaireau
4 Ignacio Rossi
4 Virgile Fritsch
4 Sebastian Säger
4 Ilambharathi Kanniah
4 sdenton4
4 Robert Layton
4 Alyssa
4 Amos Waterland
3 Andrew Tulloch
3 murad
3 Steven Maude
3 Karol Pysniak
3 Jacques Kvam
3 cgohlke
3 cjlin
3 Michael Becker
3 hamzeh
3 Eric Jacobsen
3 john collins
3 kaushik94
3 Erwin Marsi
2 csytracy
2 LK
2 Vlad Niculae
2 Laurent Direr
2 Erik Shilts
2 Raul Garreta
2 Yoshiki Vázquez Baeza
2 Yung Siang Liau
2 abhishek thakur
2 James Yu
2 Rohit Sivaprasad
2 Roland Szabo
2 amormachine
2 Alexis Mignon
2 Oscar Carlsson
2 Nantas Nardelli
2 jess010
2 kowalski87
2 Andrew Clegg
2 Federico Vaggi
2 Simon Frid
2 Félix-Antoine Fortin
1 Ralf Gommers
1 t-aft
1 Ronan Amicel
1 Rupesh Kumar Srivastava
1 Ryan Wang
1 Samuel Charron
1 Samuel St-Jean
1 Fabian Pedregosa
1 Skipper Seabold
1 Stefan Walk
1 Stefan van der Walt
1 Stephan Hoyer
1 Allen Riddell
1 Valentin Haenel
1 Vijay Ramesh
1 Will Myers
1 Yaroslav Halchenko
1 Yoni Ben-Meshulam
1 Yury V. Zaytsev
1 adrinjalali
1 ai8rahim
1 alemagnani
1 alex
1 benjamin wilson
1 chalmerlowe
1 dzikie drożdże
1 jamestwebber
1 matrixorz
1 popo
1 samuela
1 François Boulogne
1 Alexander Measure
1 Ethan White
1 Guilherme Trein
1 Hendrik Heuer
1 IvicaJovic
1 Jan Hendrik Metzen
1 Jean Michel Rouly
1 Eduardo Ariño de la Rubia
1 Jelle Zijlstra
1 Eddy L O Jansson
1 Denis
1 John
1 John Schmidt
1 Jorge Cañardo Alastuey
1 Joseph Perla
1 Joshua Vredevoogd
1 José Ricardo
1 Julien Miotte
1 Kemal Eren
1 Kenta Sato
1 David Cournapeau
1 Kyle Kelley
1 Daniele Medri
1 Laurent Luce
1 Laurent Pierron
1 Luis Pedro Coelho
1 DanielWeitzenfeld
1 Craig Thompson
1 Chyi-Kwei Yau
1 Matthew Brett
1 Matthias Feurer
1 Max Linke
1 Chris Filo Gorgolewski
1 Charles Earl
1 Michael Hanke
1 Michele Orrù
1 Bryan Lunt
1 Brian Kearns
1 Paul Butler
1 Paweł Mandera
1 Peter
1 Andrew Ash
1 Pietro Zambelli
1 staubda