Actualmente estoy experimentando con una tarea de ML que implica el entrenamiento supervisado de un modelo de clasificación. Hasta la fecha, tengo ~ 5M de ejemplos de entrenamiento y ~ 5M de validación cruzada. Cada ejemplo tiene, por el momento, 46 características, sin embargo, es posible que desee generar 10 más en el futuro cercano, por lo que cualquier solución debería dejar espacio para mejorar.Tarea de aprendizaje automático: ¿qué herramienta usar?
Mi problema es el siguiente: ¿qué herramienta utilizo para resolver este problema? Me gustaría usar bosques aleatorios o SVM, sin embargo, me temo que este último puede ser demasiado lento en mi caso. He considerado a Mahout, pero me volví, ya que parece requerir una cierta cantidad de configuración, junto con jugar con los scripts de línea de comandos. Prefiero codificar directamente en una biblioteca (¡bien documentada!) O definir mi modelo con una GUI.
También debo especificar que estoy buscando algo que se ejecutará en Windows (sin cosas como cygwin), y que las soluciones que funcionan bien con .NET son muy apreciadas.
Se puede imaginar que, cuando llegue el momento será, llegado, el código se ejecutará en un Cluster Compute Eight Extra Large Instance en Amazon EC2, así que cualquier cosa que hace amplio uso de la CPU y la memoria RAM de varios núcleos es bienvenido.
Por último, pero no menos importante, se especificará que mi conjunto de datos es denso (en la que no hay ningún valor que falta/todas las columnas tienen un valor para cada vector)
Existen innumerables herramientas disponibles (para empezar, consulte la lista de software en KDnuggets: http://www.kdnuggets.com/software/index.html). Aunque la descripción de su problema elimina algunos de ellos, todavía queda un número que podría ser suficiente. No estoy seguro de qué es exactamente lo que quiere decir con "jugar bien con .NET", pero cualquier herramienta que valga la pena debería proporcionar un informe o código fuente del modelo que podría traducirse fácilmente en código .NET. – Predictor
Gracias por el enlace, lo verificará tan pronto como haya escrito esto. En cuanto a jugar bien con .NET, significa que algo que tiene una interfaz programable para iniciar el trabajo o incluso una biblioteca .NET (o envoltorio útil) es preferible a algo que no lo es. – em70