
Machine Learning Projects for .NET Developers
Mathias Brandewinder
- Editorial
- Apress
- Año
- 2015
- Páginas
- ~300
- Nivel
- Intermedio
De qué trata
Obra práctica y enfocada en proyectos que introduce a los desarrolladores del entorno .NET en la construcción artesanal de modelos de aprendizaje automático, utilizando el lenguaje funcional F# sobre el .NET Framework dentro de Microsoft Visual Studio. Desarrollado por Mathias Brandewinder (Microsoft MVP), este libro está concebido para desarrolladores C# y .NET de nivel intermedio que desean dominar el funcionamiento interno de los algoritmos de Machine Learning sin depender de bibliotecas prefabricadas opacas, descubriendo al mismo tiempo la potencia y elegancia del paradigma funcional para el análisis de datos.
El recorrido didáctico implementa desde cero los algoritmos fundamentales: clasificación mediante métricas de distancia (euclidiana y Manhattan), filtrado de texto probabilístico fundamentado en el Teorema de Bayes (Naive Bayes), regresión numérica univariable y multivariable ajustada por descenso de gradiente (Gradient Descent), clustering no supervisado con K-Means, reducción de dimensionalidad con Análisis de Componentes Principales (PCA), árboles de decisión y bosques aleatorios (Random Forests), así como fundamentos de aprendizaje por refuerzo (Reinforcement Learning). En el plano de herramientas .NET, enseña a consumir datos heterogéneos con F# Type Providers (FSharp.Data), a interoperar con el entorno estadístico R mediante RProvider y a acelerar cálculos vectoriales aprovechando el paralelismo multicore con la Task Parallel Library (TPL).
Cada capítulo aborda un proyecto autocontenido basado en conjuntos de datos reales y competiciones de Kaggle (como el reconocimiento de dígitos de MNIST o la predicción de alquiler de bicicletas urbanas). Su principal atractivo radica en su enfoque pedagógico 'desde los primeros principios', que desmitifica las matemáticas subyacentes con código F# conciso, fuertemente tipado y fácilmente integrable en aplicaciones empresariales de C#; en cambio, al haber sido publicado en 2015, no contempla el ecosistema posterior de ML.NET, .NET Core/.NET 8 ni los frameworks modernos de aprendizaje profundo. Conviene tener solidez en la plataforma .NET y mente abierta para asimilar los patrones de la programación funcional.
- .NET
- F#
- C#
- Visual Studio
- Type Providers
- Naive Bayes
- Regresión
- K-Means
- PCA
- Árboles de decisión
- Reinforcement Learning
- Task Parallel Library
¿Cómo enseña?
Con proyectos
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Reconocimiento óptico de dígitos manuscritos (OCR)
Sistema de clasificación de imágenes de dígitos del dataset MNIST implementado desde cero en F#, calculando distancias de píxeles y optimizado con computación paralela en .NET.
Filtro probabilístico de spam en mensajes de texto
Clasificador automático de correo basura basado en el algoritmo Naive Bayes, que tokeniza textos y estima probabilidades condicionales para discriminar entre mensajes legítimos y spam.
Modelo de regresión para predicción de demanda de bicicletas
Ajuste de curvas y predicción continua del volumen de alquiler de bicicletas urbanas mediante un optimizador de descenso de gradiente (Gradient Descent) escrito en F#.
Agente autónomo de juego mediante aprendizaje por refuerzo
Implementación de un modelo de Reinforcement Learning en el que un agente de software aprende estrategias competitivas de juego a través de ciclos iterativos de ensayo, recompensas y penalizaciones.

