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_sizeencovariance.LedoitWolfpor Andreas Mucker.Corregir un error en la deduplicación
isotonic.IsotonicRegressionque causó un resultado inestable encalibration.CalibratedClassifierCVpor Jan Hendrik Metzen.Corrige la clasificación de etiquetas en la función:
preprocessing.label_binarizepor Michael Heilman.Corregir varios problemas de estabilidad y convergencia en
cross_decomposition.CCAycross_decomposition.PLSCanonicalpor Andreas MüllerCorregir un error en
cluster.KTechnscuandoprecompute_distances=Falseen datos ordenados por fortran.Corrige una regresión de velocidad en
ensemble.``predict`ypredict_probade RandomForestClassifier`` por Andreas Mucker.Corrige una regresión donde
utils.shuffleconvirtió 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.Birchmé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.LSHForestimplementa 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. VRcon núcleo lineal. Por Fabian Pedregosa y Qiang Luo.Ajuste incremental para
GaussianNB.Añadido soporte
sample_weightadummy.DummyClassifierydummy.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_startpara hacer posible que cualquier modelo forestal entrenado crezca árboles adicionales incrementalmente. Por Laurent Direr.Añadido soporte para
sample_weightaensemble.GradientBoostingClassifieryensemble.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
SGDClassifierySGDRegressorPor Danny Sullivan.Se añadió la función
cross_val_predictque 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.LinearDiscriminantAnalysisusando 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.Ridgeahora soportansample_weight. Por Mathieu Blondel.Se añadió la validación cruzada
cross_validation.PredefinedSplitpara 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_distanceenjerarchical.ward_treepara 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-cgylbfgsenlinear_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.ElasticNety relacionados. Por Manoj Kumar.Agrega el parámetro
sample_weightametrics.jaccard_similarity_scoreymetrics.log_loss. Por Jatin Shah.Soporta la representación del indicador multietiqueta disperso en
preprocessing.LabelBinarizerymulticlase. neVsRestClassifier(por Hamzeh Alsalhi con gracias a Rohit Sivaprasad), así como métricas de evaluación (por Joel Nothman).Agrega el parámetro
sample_weightametrics.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_weightametrics.hinge_loss. PorSaurabh Jha.Añade la opción
multi_class="multinomial"enlinear_model. ogisticRegressionpara 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 solucionadoreslbfgsynewton-cg. Por Lars Buitinck y Manoj Kumar. Opción del solucionadornewton-cgpor Simon Wu.DictVectorizerahora puede ejecutarfit_transformen un iterable en un solo pase, cuando se le da la opciónsort=False. Por Dan Blanchard.GridSearchCVyRandomizedSearchCVahora 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
digitsametrics.classification_reportpara 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_unknownapreprocessing.OneHotEncoderpara 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.AffinityPropagational 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_iteren su constructor. Por Manoj Kumar.Se añadió la función de decisión para
multiclass.OneVsOneClassifierpor Raghav RV y Kyle Beauchamp.neighbors.kneighbors_graphyradius_neighbors_graphsoportan métricas no euclidianas. Por Manoj KumarEl parámetro
connectivityencluster.AgglomerativeClusteringy la familia ahora aceptan invocables que devuelven una matriz de conectividad. Por Manoj Kumar.Soporte disperso para
paired_distances. Por Joel Nothman.cluster. BSCANahora 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_weightpara ponderar automáticamente las muestras por frecuencia de clase paraensemble.RandomForestClassifier,tree.DecisionTreeClassifier,ensemble.ExtraTreesClassifierytree.ExtraTreeClassifier. Por Trevor Stephens.grid_search.RandomizedSearchCVahora hace muestreo sin reemplazo si todos los parámetros son dados como listas. Por Andreas Müller.Cálculo paralelizado de
pairwise_distancesahora 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.MeanShiftpor Andreas Müller.Se hizo el criterio de parada para
mixture.GMM,mixture.DPGMMymixture.VBGMMmenos 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_embeddingse 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.StandardScalerypreprocessing.scale. Por Nicolas Goixsvm.SVCinstalado en entrada dispersa ahora implementadecision_function. Por Rob Zinkov y Andreas Müller.cross_validation.train_test_splitahora 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
FeatureUnionpara 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.BallTreeysklearn.neighbors.KDTreesolí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_samplesymetrics.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_probay otros métodos. Esto corrige el comportamiento degrid_search.GridSearchCV,grid_search.RandomizedSearchCV,pipeline.Pipeline,feature_selection.RFE,feature_selection.RFECVcuando está anidado. Por Joel NothmanEl atributo
scoringde los métodos de búsqueda en cuadrícula y validación cruzada ya no es ignorado cuando se da ungrid_search.GridSearchCVcomo estimador base o el estimador base no tiene predict.La función
hierarchical.ward_treeahora 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.RFECVahora maneja correctamente los casos cuandostepno es igual a 1. Por Nikolay MayorovEl
decomposition.PCAahora 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_fitconclass_weight=='auto'arroja un mensaje de error apropiado y sugiere como trabajar alrededor de ello. Por Danny Sullivan.RBFSamplercongamma=gpreviamente aproximabarbf_kernelcongamma=g/2. `; la definición de ``gammaes 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.NearestCentroidahora 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.SGDClassifierylinear_model. GDRegressorrecortando 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_treese 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_pathylinear_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.AgglomerativeClusteringal usar restricciones de conectividad. Por Cathy DengCorrección del manejo de
partial_fitparaclass_priorparasklearn.naive_bayes.MultinomialNBysklearn.naive_bayes.BernoulliNB. Por Trevor Stephens.Se ha corregido un crash en
metrics.precision_recall_fscore_supportcuando se usabanlabelssin 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_graphyradius_neighbors_graphensklearn. eighbors.NearestNeighborsy 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.GMMcon covariación empatada. Por Will DawsonSe ha corregido un error de escalado en
feature_selection.SelectFdrdonde faltaba un factorn_features. Por Andrew TullochCorregir la división cero en
neighbors.KNeighborsRegressory 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_neighborsdeneighbors.NearestNeighborsdevuelve las muestras tumbadas en el límite paraalgorithm='brute'. De Yan Yi.Invierte el signo de
dual_coef_desvm.SVCpara 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¶
GridSearchCVycross_val_scorey 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_ecocymulticlass.predict_ecocestá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_paramsen su lugar.- parámetro
n_jobsdel método de ajuste desplazado al constructor de la clase LinearRegression.
- parámetro
El método
predict_probademulticlase. neVsRestClassifierahora 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
ElasticNetyLassoa 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
positiveenlinear_model.enet_pathylinear_model.enet_pathque restringe los coeficientes a ser positivos. Por Manoj Kumar.Los usuarios ahora deberían proporcionar un parámetro
promedioexplícito asklearn.metrics.f1_score,sklearn.metrics.fbeta_score,sklearn. etrics.recall_scoreysklearn.metrics.precision_scoreal realizar clasificación multiclase o multietiqueta (por ejemplo, no binaria). Por Joel Nothman.El parámetro
scoringpara 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,normalizeyreturn_modelsenlinear_model.enet_pathylinear_model.lasso_pathhan 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 comopredictson 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_arraysfue reemplazada porcheck_arrayycheck_X_y. Por Andreas Müller.Permitir
X=Noneen los métodosradius_neighbors,kneighbors,kneighbors_graphyradius_neighbors_graphensklearn.neighbors. earestNeighborsy 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_selfenneighbors.kneighbors_graphyvecinos. adius_neighbors_graphque 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
threshestá obsoleto a favor del nuevo parámetrotolenGMM,DPGMMyVBGMM. Consulta la sección deMejoraspara 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
ValueErrorconsistentemente 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
shuffledelinear_model.SGDClassifier,linear_model.SGDRegressor,linear_model.Perceptron,linear_model.PassiveAggressiveClassifierylinear_model.PassiveAggressiveRegressorahora es predeterminada aTrue.cluster.DBSCANahora usa una inicialización determinística. El parámetrorandom_stateestá 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