sklearn scikit recall multiclass learn decision cost confusion classification_report accuracy 3x3 python scikit-learn

python - recall - Desequilibrio en scikit-learn



sklearn metrics (4)

En Scikit Learn hay algunas técnicas de corrección de desequilibrios, que varían según el algoritmo de aprendizaje que esté utilizando.

Algunos de ellos, como Svm o regresión logística , tienen el parámetro class_weight. Si crea una instancia de un SVC con este parámetro establecido en ''auto'', ponderará cada ejemplo de clase proporcionalmente a la inversa de su frecuencia.

Desafortunadamente, no hay una herramienta de preprocesador con este propósito.

Estoy usando scikit-learn en mi programa Python para realizar algunas operaciones de aprendizaje automático. El problema es que mi conjunto de datos tiene problemas graves de desequilibrio.

¿Alguien está familiarizado con una solución para el desequilibrio en scikit-learn o en python en general? En Java está el mecanismo SMOTE. ¿Hay algo paralelo en python?


Encontré otra biblioteca aquí que implementa submuestreo y también técnicas de muestreo múltiple que incluyen múltiples implementaciones de SMOTE y otra que usa SVM:

https://github.com/fmfn/UnbalancedDataset


Hay uno nuevo aquí

https://github.com/scikit-learn-contrib/imbalanced-learn

Contiene muchos algoritmos en las siguientes categorías, incluyendo SMOTE

  • Submuestreo de las clases mayoritarias.
  • Sobre muestrear la clase minoritaria.
  • Combinando sobre y bajo muestreo.
  • Crea conjuntos de conjuntos equilibrados.

SMOTE no está integrado en scikit-learn, pero hay implementaciones disponibles en línea.
Here , por ejemplo.