Tengo un conjunto de entrenamiento con aproximadamente 3000 instancias positivas y 3000 instancias negativas. Pero mi conjunto de datos de prueba no está equilibrado. El conjunto positivo solo tiene 50 instancias y el negativo tiene 1500 instancias, lo que hace que la precisión sea muy baja. ¿Hay algún enfoque para resolver este problema? Yo uso SVM para construir clasificador.
machine-learning
classification
data-mining
svm
usuario785099
fuente
fuente
Respuestas:
Esto se llama configuración de cambio de conjunto de datos. Este pdf [1] debería ayudarlo a comprender varios de los problemas subyacentes involucrados.
Sin embargo, por el momento, puede usar el ajuste de importancia de mínimos cuadrados para obtener estimaciones de importancia para sus datos de entrenamiento utilizando su conjunto de prueba (no necesita las etiquetas del conjunto de prueba, solo los vectores de características) [2]. Una vez que obtenga las estimaciones de importancia, puede usarlas como ponderaciones de instancia en libSVM [3].
Eso debería permitirle obtener un mejor clasificador.
[1] http://www.acad.bg/ebook/ml/The.MIT.Press.Dataset.Shift.in.Machine.Learning.Feb.2009.eBook-DDU.pdf
[2] http: // www .ms.ku-tokyo.ac.jp / software.html # uLSIF
[3] http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instances
fuente
¿Crees que el "mundo real" se parece más al conjunto de entrenamiento o al conjunto de prueba? Si se parece más al conjunto de entrenamiento, puede muestrear al azar 50 instancias de su conjunto de pruebas negativas para obtener una estimación de precisión más imparcial. Pero estoy de acuerdo con Peter Flom: en general, sus conjuntos de prueba y de tren deberían ser similares.
fuente