Necesito construir un clasificador binario con aprendizaje automático, ya que no consigo elegir manualmente una combinación de características para lograr una fracción mínima de falsos positivos.
¿Cuál es la mejor práctica para elegir un método ML para construir un clasificador binario, específicamente en Aprendizaje Supervisado / Semisupervisado Grupo de métodos PU (Positivo/Desconocido) ? ¿Cómo elegir entre Aprendizaje Supervisado y Semisupervisado/PU? ¿Qué factores debo tener en cuenta a la hora de elegir un método concreto?
¿Cómo puedo comprobar en la práctica qué tipo de situación tengo (por ejemplo, como he visto en otras preguntas, cómo comprobar si el conjunto de entrada es separable; si hay una fuerte correlación entre características, etc.)?
Si hay varios métodos igualmente buenos para mi problema, ¿cuál es el más fácil para empezar, si me siento más cómodo con la línea de comandos de MacOS y Excel? (pero no me importan los lenguajes de programación tradicionales como Python)
Soy nuevo en el aprendizaje automático, así que si eso suena demasiado amplio, ¿qué me recomendaría leer/ver para entender mejor mis opciones?
Para dar algunos detalles del problema que estoy resolviendo:
-
Necesito detectar entre objetos "falsos" y "auténticos".
-
Tengo una colección creada manualmente de objetos que se sabe que son "falsos", un subconjunto de población que son "desconocidos" y necesito encontrar "falsos" en
-
Puedo crear fácilmente un conjunto de objetos "auténticos" si eso puede ayudar seriamente; el problema aquí es que el 99% de ellos están bastante "alejados" de la zona de "falsificaciones".
- Sin embargo, si (por ejemplo, con SVM) encuentro una manera de construir una función para identificar los objetos que se encuentran en la zona "gris", los clasificaría fácilmente a mano con el fin de utilizarlos para entrenar un clasificador.
-
eligiendo entre precisión y recall, preferiría "mínimos Falsos Positivos" mientras se permite una gran cantidad de "Falsos Negativos".
-
algunos números:
- la colección de objetos "falsos" son varios miles
- el subconjunto "desconocido" de la población que es más fructífero explorar es 3x-5x veces mayor, pero puedo hacerlo aún mayor con objetos menos relevantes si es necesario.
- He identificado entre 20 y 30 características numéricas que pueden utilizarse en la formación
- de 5 a 7 características son intuitivamente más "relevantes", ya que son las medidas más directas de la sospecha
- es relativamente fácil crear más funciones si existe un método sistemático para elegir las más prometedoras.
Hasta ahora he conseguido construir manualmente una función "compuesta" que ordena los objetos "desconocidos" por una combinación de varias métricas de "sospecha"; la función es una combinación lineal de ellas.
Hay aproximadamente un 1-2% de objetos "auténticos" que identifiqué manualmente en las "incógnitas" al construir esa función "compuesta".
Al construir la función compuesta, intenté maximizar el número de objetos falsos/desconocidos que aparecen antes del primer objeto "genuino" conocido. Como la función se construye a partir de métricas (características) "cuanto más altas, más sospechosas", lo que está "antes" de las genuinas conocidas tiene muchas probabilidades de ser falso. Sin embargo, sé que también hay muchas "falsificaciones" en lo que hay "después" de cada uno de los genuinos que conozco.
Estoy dispuesto a añadir más detalles si eso puede ayudar a responder a mi pregunta.
(Como referencia, mi pregunta anterior sobre datascience SE sobre el mismo problema)