Versión 0.16.1

14 de abril de 2015

Registro de cambios

Corrección de errores

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

Mejoras (Enhancements)

  • Añade la opción return_distance en jerarchical.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 en hierarchical.linkage_tree. Por Manoj Kumar

  • Añ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 y lbfgs en linear_model.LogisticRegression. Por Manoj Kumar.

  • Añade el parámetro selection="random" para implementar el descenso de coordenadas estocástico para linear_model.Lasso, linear_model.ElasticNet y relacionados. Por Manoj Kumar.

  • Agrega el parámetro sample_weight a metrics.jaccard_similarity_score y metrics.log_loss. Por Jatin Shah.

  • Soporta la representación del indicador multietiqueta disperso en preprocessing.LabelBinarizer y multiclase. 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 a metrics.jaccard_similarity_score. Por Jatin Shah.

  • Añade soporte para multiclase en metrics.hinge_loss. Añadido ``labels=None `` como parámetro opcional. Por Saurabh Jha.

  • Añade el parámetro sample_weight a metrics.hinge_loss. Por Saurabh Jha.

  • Añade la opción multi_class="multinomial" en linear_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 solucionadores lbfgs y newton-cg. Por Lars Buitinck y Manoj Kumar. Opción del solucionador newton-cg por Simon Wu.

  • DictVectorizer ahora puede ejecutar fit_transform en un iterable en un solo pase, cuando se le da la opción sort=False. Por Dan Blanchard.

  • GridSearchCV y RandomizedSearchCV 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ámetro error_score. Esto no afecta los errores generados al volver a encajar. Por Michal Romaniuk.

  • Añade el parámetro digits a metrics.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 a preprocessing.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 atributo max_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 y radius_neighbors_graph soportan métricas no euclidianas. Por Manoj Kumar

  • El parámetro connectivity en cluster.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 para ensemble.RandomForestClassifier, tree.DecisionTreeClassifier, ensemble.ExtraTreesClassifier y tree.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 y mixture.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 y preprocessing.scale. Por Nicolas Goix

  • svm.SVC instalado en entrada dispersa ahora implementa decision_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

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 de grid_search.GridSearchCV, grid_search.RandomizedSearchCV, pipeline.Pipeline, feature_selection.RFE, feature_selection.RFECV cuando está anidado. Por Joel Nothman

  • El atributo scoring de los métodos de búsqueda en cuadrícula y validación cruzada ya no es ignorado cuando se da un grid_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 cuando step no es igual a 1. Por Nikolay Mayorov

  • El decomposition.PCA ahora deshace el whitening en su inverse_transform. Además, sus components_ 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 con class_weight=='auto' arroja un mensaje de error apropiado y sugiere como trabajar alrededor de ello. Por Danny Sullivan.

  • RBFSampler con gamma=g previamente aproximaba rbf_kernel con gamma=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 un gamma, 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 Joly

  • neighbors.NearestCentroid ahora usa la mediana como el centroide cuando la métrica está establecida en manhattan. Estaba usando la media antes. Por Manoj Kumar

  • Corregir problemas de estabilidad numérica en linear_model.SGDClassifier y linear_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 Grisel

  • Cuando 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 en cluster. gglomerativeClustering (y amigos). Esto ha sido arreglado por Manoj Kumar

  • Repara el centramiento perezoso de datos en linear_model.enet_path y linear_model.lasso_path. Se centraba alrededor de uno. Se ha cambiado para centrarse en el origen. Por Manoj Kumar

  • Corregir el manejo de matrices de afinidad precalculadas en cluster.AgglomerativeClustering al usar restricciones de conectividad. Por Cathy Deng

  • Corrección del manejo de partial_fit para class_prior para sklearn.naive_bayes.MultinomialNB y sklearn.naive_bayes.BernoulliNB. Por Trevor Stephens.

  • Se ha corregido un crash en metrics.precision_recall_fscore_support cuando se usaban labels 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 y radius_neighbors_graph en sklearn. 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 Dawson

  • Se ha corregido un error de escalado en feature_selection.SelectFdr donde faltaba un factor n_features. Por Andrew Tulloch

  • Corregir 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 de neighbors.NearestNeighbors devuelve las muestras tumbadas en el límite para algorithm='brute'. De Yan Yi.

  • Invierte el signo de dual_coef_ de svm.SVC para que sea consistente con la documentación y decision_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 y cross_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 y multiclass.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.

  • El método predict_proba de multiclase. 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 y Lasso 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 en linear_model.enet_path y linear_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 a sklearn.metrics.f1_score, sklearn.metrics.fbeta_score, sklearn. etrics.recall_score y sklearn.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 y return_models en linear_model.enet_path y linear_model.lasso_path han sido eliminados. Fueron obsoletos desde 0.14

  • A partir de ahora, todos los estimadores aumentarán uniformemente NotFittedError (utils.validation. otFittedError), cuando cualquiera de los métodos como predict 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 por check_array y check_X_y. Por Andreas Müller.

  • Permitir X=None en los métodos radius_neighbors, kneighbors, kneighbors_graph y radius_neighbors_graph en sklearn.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 en neighbors.kneighbors_graph y vecinos. 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ámetro tol en GMM, DPGMM y VBGMM. Consulta la sección de Mejoras 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 de linear_model.SGDClassifier, linear_model.SGDRegressor, linear_model.Perceptron, linear_model.PassiveAggressiveClassifier y linear_model.PassiveAggressiveRegressor ahora es predeterminada a True.

  • cluster.DBSCAN ahora usa una inicialización determinística. El parámetro random_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