Versión 0.16.1¶
14 de abril de 2015
Registro de cambios¶
Corrección de errores¶
Permitir datos de entrada más grandes que
block_size
encovariance.LedoitWolf
por Andreas Mucker.Corregir un error en la deduplicación
isotonic.IsotonicRegression
que causó un resultado inestable encalibration.CalibratedClassifierCV
por Jan Hendrik Metzen.Corrige la clasificación de etiquetas en la función:
preprocessing.label_binarize
por Michael Heilman.Corregir varios problemas de estabilidad y convergencia en
cross_decomposition.CCA
ycross_decomposition.PLSCanonical
por Andreas MüllerCorregir un error en
cluster.KTechns
cuandoprecompute_distances=False
en datos ordenados por fortran.Corrige una regresión de velocidad en
ensemble.``predict`
ypredict_proba
de RandomForestClassifier`` por Andreas Mucker.Corrige una regresión donde
utils.shuffle
convirtió listas y marcos de datos en arreglos, por Olivier Grisel
Versión 0.16¶
26 de Marzo de 2015
Destacados¶
Mejoras de velocidad (especialmente en
cluster.DBSCAN
), reducción de los requerimientos de memoria, correcciones de errores y mejores ajustes predeterminados.Regresión logística multinomial y un algoritmo de ruta en
linear_model.LogisticRegressionCV
.Aprendizaje básico de PCA fuera-de-núcleo a través de
descomposition.IncrementalPCA
.Callibración de probabilidad de los clasificadores usando
calibration.CalibratedClassifierCV
.cluster.Birch
método de clustering para conjuntos de datos a gran escala.Búsqueda de vecinos más cercanos aproximada escalable con bosques de hashing sensibles a la localidad en
neighbors.LSHForest
.Mejorados los mensajes de error y la validación al usar datos de entrada mal formados.
Integración más robusta con los marcos de datos de pandas.
Registro de cambios¶
Nuevas características¶
El nuevo
neighbors.LSHForest
implementa el hashing sensible a la localización para la búsqueda aproximada de vecinos más cercanos. De Maheshakya Wijewardena.Añadido
svm.LinearSVR
. Esta clase utiliza la implementación liblineal de Regresión con Vectores de Soporte que es mucho más rápida para grandes tamaños de muestra quesvm. VR
con núcleo lineal. Por Fabian Pedregosa y Qiang Luo.Ajuste incremental para
GaussianNB
.Añadido soporte
sample_weight
adummy.DummyClassifier
ydummy.DummyRegressor
. Por Arnaud Joly.Se añadieron las métricas
metrics.label_ranking_average_precision_score
. Por Arnaud Joly.Añade las métricas
metrics.coverage_error
. Por Arnaud Joly.Añadido
linear_model.LogisticRegressionCV
. Por Manoj Kumar, Fabian Pedregosa, Gael Varoquaux y Alexandre Gramfort.Se añadió el parámetro del constructor
warm_start
para hacer posible que cualquier modelo forestal entrenado crezca árboles adicionales incrementalmente. Por Laurent Direr.Añadido soporte para
sample_weight
aensemble.GradientBoostingClassifier
yensemble.GradientBoostingRegressor
. Por Peter Prettenhofer.Se añadió
descomposition.IncrementalPCA
, una implementación del algoritmo PCA que soporta el aprendizaje fuera del núcleo con un métodopartial_fit
. Por Kyle Kastner.SGD promedio para
SGDClassifier
ySGDRegressor
Por Danny Sullivan.Se añadió la función
cross_val_predict
que calcula estimaciones por validación cruzada. Por Luis Pedro CoelhoAñadido
linear_model.TheilSenRegressor
, un estimador robusto basado en medianas generalizadas. Por Florian Wilhelm.Añadido
metrics.median_absolute_error
, una métrica robusta. Por Gael Varoquaux y Florian Wilhelm.Añade
cluster.Birch
, un algoritmo de clustering en línea. Por Manoj Kumar, Alexandre Gramfort y Joel Nothman.Añadido soporte para encogimiento a
discriminant_analysis.LinearDiscriminantAnalysis
usando dos nuevos solucionadores. Por Clemens Brunner y Martin Billinger.Añadido
kernel_ridge.KernelRidge
, una implementación de regresión de cresta kernelizada. Por Mathieu Blondel y Jan Hendrik Metzen.Todos los solucionadores en
linear_model.Ridge
ahora soportansample_weight
. Por Mathieu Blondel.Se añadió la validación cruzada
cross_validation.PredefinedSplit
para pliegues fijos de validación cruzada proporcionados por el usuario. Por Thomas Unterthiner.Añadido
calibration.CalibratedClassifierCV
, un enfoque para calibrar las probabilidades predecidas de un clasificador. Por Alexandre Gramfort, Jan Hendrik Metzen, Mathieu Blondel y Balazs Kegl.
Mejoras (Enhancements)¶
Añade la opción
return_distance
enjerarchical.ward_tree
para devolver distancias entre nodos para versiones estructuradas y no estructuradas del algoritmo. Por Matteo Visconti di Oleggio Castello. La misma opción fue añadida enhierarchical.linkage_tree
. Por Manoj KumarAñade soporte para pesos de muestra en objetos de puntuación. Las métricas con soporte de peso de muestra se beneficiarán automáticamente. Por Noel Dawe y Vlad Niculae.
Se añadió el soporte del solucionador
newton-cg
ylbfgs
enlinear_model.LogisticRegression
. Por Manoj Kumar.Añade el parámetro
selection="random"
para implementar el descenso de coordenadas estocástico paralinear_model.Lasso
,linear_model.ElasticNet
y relacionados. Por Manoj Kumar.Agrega el parámetro
sample_weight
ametrics.jaccard_similarity_score
ymetrics.log_loss
. Por Jatin Shah.Soporta la representación del indicador multietiqueta disperso en
preprocessing.LabelBinarizer
ymulticlase. neVsRestClassifier
(por Hamzeh Alsalhi con gracias a Rohit Sivaprasad), así como métricas de evaluación (por Joel Nothman).Agrega el parámetro
sample_weight
ametrics.jaccard_similarity_score
. PorJatin Shah
.Añade soporte para multiclase en
metrics.hinge_loss
. Añadido ``labels=None `` como parámetro opcional. PorSaurabh Jha
.Añade el parámetro
sample_weight
ametrics.hinge_loss
. PorSaurabh Jha
.Añade la opción
multi_class="multinomial"
enlinear_model. ogisticRegression
para implementar un solucionador de Regresión Logística que minimice la pérdida cross-entropy o multinomial en lugar de la configuración predeterminada de One-vs-Rest. Soporta los solucionadoreslbfgs
ynewton-cg
. Por Lars Buitinck y Manoj Kumar. Opción del solucionadornewton-cg
por Simon Wu.DictVectorizer
ahora puede ejecutarfit_transform
en un iterable en un solo pase, cuando se le da la opciónsort=False
. Por Dan Blanchard.GridSearchCV
yRandomizedSearchCV
ahora pueden ser configurados para trabajar con estimadores que pueden fallar y levantar errores en pliegues individuales. Esta opción está controlada por el parámetroerror_score
. Esto no afecta los errores generados al volver a encajar. Por Michal Romaniuk.Añade el parámetro
digits
ametrics.classification_report
para permitir al reporte mostrar diferentes precisión de números de punto flotante. Por Ian Gilmore.Añade una estrategia de predicción de cuantiles al
dummy.DummyRegressor
. De Aaron Staple.Añade la opción
handle_unknown
apreprocessing.OneHotEncoder
para manejar características categóricas desconocidas de forma más elegante durante la transformación. Por Manoj Kumar.Se ha añadido soporte para datos de entrada dispersos a los árboles de decisión y sus conjuntos. Por Fares Hedyati y Arnaud Joly.
Optimizado
cluster.AffinityPropagation
al reducir el número de asignaciones de memoria de grandes estructuras temporales de datos. Por Antony Lee.Parelización del cálculo de importancias de características en bosques aleatorios. Por Olivier Grisel and Arnaud Joly.
Añade el atributo
n_iter_
a los estimadores que aceptan un atributomax_iter
en su constructor. Por Manoj Kumar.Se añadió la función de decisión para
multiclass.OneVsOneClassifier
por Raghav RV y Kyle Beauchamp.neighbors.kneighbors_graph
yradius_neighbors_graph
soportan métricas no euclidianas. Por Manoj KumarEl parámetro
connectivity
encluster.AgglomerativeClustering
y la familia ahora aceptan invocables que devuelven una matriz de conectividad. Por Manoj Kumar.Soporte disperso para
paired_distances
. Por Joel Nothman.cluster. BSCAN
ahora soporta la entrada dispersa y los ponderados de muestra, y ha sido optimizado: el bucle interno ha sido reescrito en Cython y las consultas de los vecinos del radio ahora se calculan por lotes. Por Joel Nothman y Lars Buitinck.Añade el parámetro
class_weight
para ponderar automáticamente las muestras por frecuencia de clase paraensemble.RandomForestClassifier
,tree.DecisionTreeClassifier
,ensemble.ExtraTreesClassifier
ytree.ExtraTreeClassifier
. Por Trevor Stephens.grid_search.RandomizedSearchCV
ahora hace muestreo sin reemplazo si todos los parámetros son dados como listas. Por Andreas Müller.Cálculo paralelizado de
pairwise_distances
ahora es compatible con métricas scipy y invocables personalizados. Por Joel Nothman.Permite el ajuste y puntuación de todos los algoritmos de analísis de conglomerados en
pipeline.Pipeline
. Por Andreas Müller.Sembrado más robusto y mensajes de error mejorados en
cluster.MeanShift
por Andreas Müller.Se hizo el criterio de parada para
mixture.GMM
,mixture.DPGMM
ymixture.VBGMM
menos dependiente en el número de muestras usando una fijación de umbrales en el cambio promedio del logaritmo de la verosimilitud en lugar de su suma sobre todas las muestras. Por Hervé Bredin.El resultado de
manifold.spectral_embedding
se hizo determinístico al voltear el signo de los eigenvectores. Por Hasil Sharma.Mejoras significativas de rendimiento y uso de memoria en
preprocessing.PolynomialFeatures
. Por Eric Martin.Mejoras numéricas de estabilidad para
preprocessing.StandardScaler
ypreprocessing.scale
. Por Nicolas Goixsvm.SVC
instalado en entrada dispersa ahora implementadecision_function
. Por Rob Zinkov y Andreas Müller.cross_validation.train_test_split
ahora preserva el tipo de entrada, en lugar de convertir a arreglos de numpy.
Mejoras de documentación¶
Se ha añadido un ejemplo de uso de
FeatureUnion
para una entrada heterogenea. Por Matt TerryLa documentación sobre los puntuadores fue mejorada, para resaltar el manejo de las funciones de perdida. Por Matt Pico.
Una discrepancia entre la salida liblineal y los envoltorios de scikit-learn es ahora señalada. Por Manoj Kumar.
Se mejoró la generación de documentación: ejemplos relacionados a una clase o función ahora se muestran en una galería en la pagina de referencia de API de clase o función. Por Joel Nothman.
Documentación más explícita de generadores de muestras y de transformación de datos. Por Joel Nothman.
sklearn.neighbors.BallTree
ysklearn.neighbors.KDTree
solían apuntar a páginas vacías indicando que son aliases de BinaryTree. Esto ha sido corregido para mostrar los documentos de clase correctos. Por Manoj Kumar.Se añadieron gráficos de silueta para el análisis del clustering de KMeans usando
metrics.silhouette_samples
ymetrics.silhouette_score
. Ver Selección del número de conglomerados con el análisis de silueta en el agrupamiento KMedias (KMeans)
Corrección de errores¶
Los metaestimadores ahora soportan el ducktyping para la presencia de
decision_function
,predict_proba
y otros métodos. Esto corrige el comportamiento degrid_search.GridSearchCV
,grid_search.RandomizedSearchCV
,pipeline.Pipeline
,feature_selection.RFE
,feature_selection.RFECV
cuando está anidado. Por Joel NothmanEl atributo
scoring
de los métodos de búsqueda en cuadrícula y validación cruzada ya no es ignorado cuando se da ungrid_search.GridSearchCV
como estimador base o el estimador base no tiene predict.La función
hierarchical.ward_tree
ahora devuelve a los niños en el mismo orden tanto para las versiones estructuradas como no estructuradas. Por Matteo Visconti di Oleggio Castello.feature_selection.RFECV
ahora maneja correctamente los casos cuandostep
no es igual a 1. Por Nikolay MayorovEl
decomposition.PCA
ahora deshace el whitening en suinverse_transform
. Además, suscomponents_
ahora siempre tienen longitud unitaria. Por Michael Eickenberg.Corregir la descarga incompleta del conjunto de datos cuando se llama a
datasets.download_20newsgroups
. Por Manoj Kumar.Varias correcciones al subpaquete de procesos Gaussianos de Vincent Dubourg y Jan Hendrik Metzen.
Llamar a
partial_fit
conclass_weight=='auto'
arroja un mensaje de error apropiado y sugiere como trabajar alrededor de ello. Por Danny Sullivan.RBFSampler
congamma=g
previamente aproximabarbf_kernel
congamma=g/2. `; la definición de ``gamma
es ahora consistente, lo que puede cambiar sustancialmente sus resultados si utilizas un valor fijo. (Si has usado validación cruzada sobre ungamma
, probablemente no importa demasiado.) Por Dougal Sutherland.El objeto Pipeline delega el atributo
classes_
al estimador subyacente. Permite, por ejemplo, hacer empaquetado de un objeto pipeline. Por Arnaud Jolyneighbors.NearestCentroid
ahora usa la mediana como el centroide cuando la métrica está establecida enmanhattan
. Estaba usando la media antes. Por Manoj KumarCorregir problemas de estabilidad numérica en
linear_model.SGDClassifier
ylinear_model. GDRegressor
recortando gradientes grandes y asegurando que la reescalada del decaimiento del peso sea siempre positiva (para la regularización l2 grande y grandes valores de tasa de aprendizaje). Por Olivier GriselCuando
compute_full_tree
se establece en «auto», el árbol completo se construye cuando n_clusters es alto y se detiene temprano cuando n_clusters es bajo, mientras que el comportamiento debería ser el contrario encluster. gglomerativeClustering
(y amigos). Esto ha sido arreglado por Manoj KumarRepara el centramiento perezoso de datos en
linear_model.enet_path
ylinear_model.lasso_path
. Se centraba alrededor de uno. Se ha cambiado para centrarse en el origen. Por Manoj KumarCorregir el manejo de matrices de afinidad precalculadas en
cluster.AgglomerativeClustering
al usar restricciones de conectividad. Por Cathy DengCorrección del manejo de
partial_fit
paraclass_prior
parasklearn.naive_bayes.MultinomialNB
ysklearn.naive_bayes.BernoulliNB
. Por Trevor Stephens.Se ha corregido un crash en
metrics.precision_recall_fscore_support
cuando se usabanlabels
sin ordenar en la configuración multi-etiqueta. Por Andreas Muñller.Evita saltar el primer vecino más cercano en los métodos
radius_neighbors
,kneighbors
,kneighbors_graph
yradius_neighbors_graph
ensklearn. eighbors.NearestNeighbors
y la familia, cuando los datos de la consulta no son los mismos que los de ajuste. Por Manoj Kumar.Arregla el cálculo de densidad logarítmica de registro en el
mixture.GMM
con covariación empatada. Por Will DawsonSe ha corregido un error de escalado en
feature_selection.SelectFdr
donde faltaba un factorn_features
. Por Andrew TullochCorregir la división cero en
neighbors.KNeighborsRegressor
y clases relacionadas cuando se usa el ponderado a distancia y se tienen puntos de datos idénticos. Por Garret-R.Corregidos errores de redondeado con matrices de covariancia no definida-positiva en GMM. Por Alexis Mignon.
Se ha corregido un error en el cálculo de probabilidades condicionales en
naive_bayes.BernoulliNB
. Por Hanna Wallach.Hacer que el método
radius_neighbors
deneighbors.NearestNeighbors
devuelve las muestras tumbadas en el límite paraalgorithm='brute'
. De Yan Yi.Invierte el signo de
dual_coef_
desvm.SVC
para que sea consistente con la documentación ydecision_function
. Por Artem Sobolev.Se ha corregido el manejo de los lazos en
isotonic.IsotonicRegression
. Ahora usamos el promedio ponderado de los objetivos (método secundario). Por Andreas Muller y Michael Bommarito.
Resumen de cambios en la API¶
GridSearchCV
ycross_val_score
y otros metaestimadores ya no convierten DataFrames de pandas en arreglos permitiendo operaciones específicas de DataFrame en estimadores personalizados.multiclass.fit_ovr
,multiclass.predict_ovr
,predict_proba_ovr
,multiclass.fit_ovo
,multiclass.predict_ovo
,multiclass.fit_ecoc
ymulticlass.predict_ecoc
están obsoletos. Utiliza los estimadores subyacentes en su lugar.Los estimadores vecinos más cercanos solían tomar argumentos arbitrarios de palabras clave y pasarlos a su métrica de distancia. Esto ya no será soportado en el estudio de tijeras 0.18; utilice el argumento
metric_params
en su lugar.- parámetro
n_jobs
del método de ajuste desplazado al constructor de la clase LinearRegression.
- parámetro
El método
predict_proba
demulticlase. neVsRestClassifier
ahora devuelve dos probabilidades por muestra en el caso multiclase; esto es consistente con otros estimadores y con la documentación del método, pero versiones anteriores accidentalmente sólo devolvian la probabilidad positiva. Fijado por Will Lamond y Lars Buitinck.Cambia el valor predeterminado de precómputo en
ElasticNet
yLasso
a False. Se descubrió que el ajuste de precómputo a «auto» era más lento cuando n_samples > n_features ya que el cálculo de la matriz Gram es computacionalmente caro y supera el beneficio de instalar el Gram para un solo alfa.precompute="auto"
ahora está obsoleto y será eliminado en 0.18 Por Manoj Kumar.Expone la opción
positive
enlinear_model.enet_path
ylinear_model.enet_path
que restringe los coeficientes a ser positivos. Por Manoj Kumar.Los usuarios ahora deberían proporcionar un parámetro
promedio
explícito asklearn.metrics.f1_score
,sklearn.metrics.fbeta_score
,sklearn. etrics.recall_score
ysklearn.metrics.precision_score
al realizar clasificación multiclase o multietiqueta (por ejemplo, no binaria). Por Joel Nothman.El parámetro
scoring
para la validación cruzada ahora acepta'f1_micro'
,'f1_macro'
o'f1_weighted'
.'f1'
es ahora para la clasificación binaria solamente. Los cambios similares se aplican a'precision'
y'recall'
. Por Joel Nothman.Los parámetros
fit_intercept
,normalize
yreturn_models
enlinear_model.enet_path
ylinear_model.lasso_path
han sido eliminados. Fueron obsoletos desde 0.14A partir de ahora, todos los estimadores aumentarán uniformemente
NotFittedError
(utils.validation. otFittedError
), cuando cualquiera de los métodos comopredict
son llamados antes de que el modelo sea ajustado. Por Raghav RV.La validación de datos de entrada fue refactorizada para una validación de entrada más consistente. La función
check_arrays
fue reemplazada porcheck_array
ycheck_X_y
. Por Andreas Müller.Permitir
X=None
en los métodosradius_neighbors
,kneighbors
,kneighbors_graph
yradius_neighbors_graph
ensklearn.neighbors. earestNeighbors
y familia. Si se establece como None, entonces para cada muestra esto evita establecer la muestra en sí misma como el primer vecino más cercano. Por Manoj Kumar.Añade el parámetro
include_self
enneighbors.kneighbors_graph
yvecinos. adius_neighbors_graph
que tiene que ser establecido explícitamente por el usuario. Si se establece en True, la muestra en sí misma se considera el primer vecino más cercano.El parámetro
thresh
está obsoleto a favor del nuevo parámetrotol
enGMM
,DPGMM
yVBGMM
. Consulta la sección deMejoras
para más detalles. Por Hervé Bredin.Los estimadores tratarán la entrada con objetos dtype como numérica cuando sea posible. Por Andreas Mucker
Los estimadores ahora aumentan
ValueError
consistentemente cuando se ajustan en datos vacíos (menos de 1 muestra o menos de 1 característica para entrada 2D). Por Olivier Grisel.La opción
shuffle
delinear_model.SGDClassifier
,linear_model.SGDRegressor
,linear_model.Perceptron
,linear_model.PassiveAggressiveClassifier
ylinear_model.PassiveAggressiveRegressor
ahora es predeterminada aTrue
.cluster.DBSCAN
ahora usa una inicialización determinística. El parámetrorandom_state
está obsoleto. Por Erich Schubert.
Contribuyentes de código¶
A. Flaxman, Aaron Schumacher, Aaron Staple, abhishek thakur, Akshay, akshayah3, Aldrian Obaja, Alexander Fabisch, Alexandre Gramfort, Alexis Mignon, Anders Aagaard, Andreas Mueller, Andreas van Cranenburgh, Andrew Tulloch, Andrew Walker, Antony Lee, Arnaud Joly, banilo, Barmaley.exe, Ben Davies, Benedikt Koehler, bhsu, Boris Feld, Borja Ayerdi, Boyuan Deng, Brent Pedersen, Brian Wignall, Brooke Osborn, Calvin Giles, Cathy Deng, Celeo, cgohlke, chebee7i, Christian Stade-Schuldt, Christof Angermueller, Chyi-Kwei Yau, CJ Carey, Clemens Brunner, Daiki Aminaka, Dan Blanchard, danfrankj, Danny Sullivan, David Fletcher, Dmitrijs Milajevs, Dougal J. Sutherland, Erich Schubert, Fabian Pedregosa, Florian Wilhelm, floydsoft, Félix-Antoine Fortin, Gael Varoquaux, Garrett-R, Gilles Louppe, gpassino, gwulfs, Hampus Bengtsson, Hamzeh Alsalhi, Hanna Wallach, Harry Mavroforakis, Hasil Sharma, Helder, Herve Bredin, Hsiang-Fu Yu, Hugues SALAMIN, Ian Gilmore, Ilambharathi Kanniah, Imran Haque, isms, Jake VanderPlas, Jan Dlabal, Jan Hendrik Metzen, Jatin Shah, Javier López Peña, jdcaballero, Jean Kossaifi, Jeff Hammerbacher, Joel Nothman, Jonathan Helmus, Joseph, Kaicheng Zhang, Kevin Markham, Kyle Beauchamp, Kyle Kastner, Lagacherie Matthieu, Lars Buitinck, Laurent Direr, leepei, Loic Esteve, Luis Pedro Coelho, Lukas Michelbacher, maheshakya, Manoj Kumar, Manuel, Mario Michael Krell, Martin, Martin Billinger, Martin Ku, Mateusz Susik, Mathieu Blondel, Matt Pico, Matt Terry, Matteo Visconti dOC, Matti Lyra, Max Linke, Mehdi Cherti, Michael Bommarito, Michael Eickenberg, Michal Romaniuk, MLG, mr.Shu, Nelle Varoquaux, Nicola Montecchio, Nicolas, Nikolay Mayorov, Noel Dawe, Okal Billy, Olivier Grisel, Óscar Nájera, Paolo Puggioni, Peter Prettenhofer, Pratap Vardhan, pvnguyen, queqichao, Rafael Carrascosa, Raghav R V, Rahiel Kasim, Randall Mason, Rob Zinkov, Robert Bradshaw, Saket Choudhary, Sam Nicholls, Samuel Charron, Saurabh Jha, sethdandridge, sinhrks, snuderl, Stefan Otte, Stefan van der Walt, Steve Tjoa, swu, Sylvain Zimmer, tejesh95, terrycojones, Thomas Delteil, Thomas Unterthiner, Tomas Kazmar, trevorstephens, tttthomasssss, Tzu-Ming Kuo, ugurcaliskan, ugurthemaster, Vinayak Mehta, Vincent Dubourg, Vjacheslav Murashkin, Vlad Niculae, wadawson, Wei Xue, Will Lamond, Wu Jiang, x0l, Xinfan Meng, Yan Yi, Yu-Chin