ML.NET
Un marco de aprendizaje automático multiplataforma y de código abierto
Compatible con Windows, Linux y macOS
//Step 1. Create an ML Context
var ctx = new MLContext();
//Step 2. Read in the input data from a text file for model training
IDataView trainingData = ctx.Data
.LoadFromTextFile<ModelInput>(dataPath, hasHeader: true);
//Step 3. Build your data processing and training pipeline
var pipeline = ctx.Transforms.Text
.FeaturizeText("Features", nameof(SentimentIssue.Text))
.Append(ctx.BinaryClassification.Trainers
.LbfgsLogisticRegression("Label", "Features"));
//Step 4. Train your model
ITransformer trainedModel = pipeline.Fit(trainingData);
//Step 5. Make predictions using your trained model
var predictionEngine = ctx.Model
.CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel);
var sampleStatement = new ModelInput() { Text = "This is a horrible movie" };
var prediction = predictionEngine.Predict(sampleStatement);
//Step 1. Create an ML Context
let ctx = MLContext()
//Step 2. Read in the input data from a text file
let trainingData = ctx.Data.LoadFromTextFile<ModelInput>(dataPath, hasHeader=true)
//Step 3. Build your data processing and training pipeline
let scope = ctx.BinaryClassification.Trainers.LbfgsLogisticRegression("Label", "Features")
let pipeline = ctx.Transforms.Text.FeaturizeText("Features", "Text").Append(scope)
//Step 4. Train your model
let trainedModel = pipeline.Fit(trainingData)
//Step 5. Make predictions using your model
let predictionEngine = ctx.Model.CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel)
let sampleStatement = { Label = false; Text = "This is a horrible movie" }
let prediction = predictionEngine.Predict(sampleStatement)
Creado para desarrolladores de .NET
Con ML.NET, puede crear modelos de ML personalizados mediante C# o F# sin tener que salir del ecosistema de .NET.
ML.NET le permite volver a usar todos los conocimientos, aptitudes, código y bibliotecas que ya tiene como desarrollador de .NET para que pueda integrar fácilmente el aprendizaje automático en sus aplicaciones web, móviles, de escritorio, de juegos y de IoT.
Puede encontrar más ejemplos de ML.NET en GitHub, o echar un vistazo a los tutoriales de ML.NET.
El ML personalizado es fácil con AutoML
ML.NET ofrece Model Builder (una sencilla herramienta de interfaz de usuario) y CLI de ML.NET para facilitar la creación de modelos de ML personalizados.
Estas herramientas usan ML automatizado (AutoML), una tecnología de vanguardia que automatiza el proceso de creación de modelos de mejor rendimiento para su escenario de Machine Learning. Lo único que tiene que hacer es cargar los datos y AutoML se encarga del resto del proceso de creación del modelo.
Explorar ML.NET Model BuilderExtendido con TensorFlow y más
ML.NET se ha diseñado como una plataforma extensible para que pueda consumir otros marcos de ML populares (TensorFlow, ONNX, Infer.NET, etc.) y tener acceso a incluso más escenarios de aprendizaje automático, como la clasificación de imágenes, la detección de objetos, etc.
Datos extraídos de la ponencia Machine Learning at Microsoft with ML.NET. Resultados del análisis de sentimientos, usando ~900 MB de un conjunto de datos de reseñas de Amazon. Una mayor precisión y un menor tiempo de ejecución son mejores.
Alto rendimiento y precisión
Con un conjunto de datos de revisión de Amazon de 9 GB, ML.NET entrenó un modelo de análisis de opiniones con un 95 % de precisión. Otros marcos de aprendizaje automático populares no pudieron procesar el conjunto de datos debido a errores de memoria. Entrenando en el 10 % del conjunto de datos, para permitir que todos los marcos completen el entrenamiento, ML.NET demostró la mayor velocidad y precisión.
La evaluación de rendimiento encontró resultados similares en otros escenarios de aprendizaje automático, incluida la predicción de velocidad de clics y la predicción de retraso de vuelos.
¿Listo para empezar?
Nuestro tutorial paso a paso le ayudará a ejecutar ML.NET en su equipo.