ML.NET

오픈 소스 및 플랫폼 간 기계 학습 프레임워크

시작하기 Model Builder

Windows, Linux 및 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)

.NET 개발자를 위한 빌드

ML.NET을 사용하면 .NET 에코시스템을 벗어나지 않고도 C# 또는 F#을 사용하여 사용자 지정 ML 모델을 만들 수 있습니다.

ML.NET은 .NET 개발자로서 이미 보유하고 있는 모든 지식, 기술, 코드 및 라이브러리를 다시 사용하여 기계 학습을 웹, 모바일, 데스크톱, 게임 및 IoT 앱에 쉽게 통합할 수 있게 합니다.

심층적 분석: ML.NET이란?

AutoML로 간편하게 사용자 지정 ML

ML.NET은 사용자 지정 ML 모델을 매우 쉽게 빌드할 수 있도록 Model Builder(간단한 UI 도구) 및 ML.NET CLI를 제공합니다.

이러한 도구는 기계 학습 시나리오에 가장 적합한 모델을 빌드하는 프로세스를 자동화하는 최첨단 기술인 AutoML(Automated ML)을 사용합니다. 데이터를 로드하기만 하면 AutoML이 나머지 모델 빌드 프로세스를 처리합니다.

ML.NET Model Builder 살펴보기
ML.NET Model Builder는 Visual Studio에서 기계 학습 모델을 빌드하기 위한 시각적 인터페이스를 제공합니다.

TensorFlow & 등

ML.NET은 다른 인기 있는 ML 프레임워크(TensorFlow, ONNX, Infer.NET 등)를 사용하고 이미지 분류, 개체 감지 등 더 많은 기계 학습 시나리오에 액세스할 수 있도록 확장 가능한 플랫폼으로 설계되었습니다.

Amazon 리뷰 데이터 세트의 최대 900MB에 대한 학습 후 ML.NET은 93%의 정확도, 92%의 scikit-learn 및 85%의 H2O로 모델을 생성했습니다. ML.NET은 모델을 학습하고 테스트하는 데 11분이 걸렸고 scikit-learn은 66분이 걸렸고 H2O는 105분이 걸렸습니다.

Machine Learning at Microsoft with ML.NET 문서에서 가져온 데이터입니다. ~900MB의 Amazon 리뷰 데이터 세트를 사용한 감정 분석 결과. 정확도가 높고 런타임이 낮을수록 좋습니다.

높은 성능 및 정확도

9GB Amazon 리뷰 데이터 세트를 사용하여 ML.NET은 95% 정확도로 감정 분석 모델을 학습했습니다. 다른 인기 있는 기계 학습 프레임워크는 메모리 오류로 인해 데이터 세트를 처리하지 못했습니다. 모든 프레임워크가 학습을 완료할 수 있도록 데이터 세트의 10%에 대한 학습에서 ML.NET은 최고 속도와 정확도를 보여 주었습니다.

성능 평가는 클릭률 예측 및 비행 지연 예측을 포함하여 다른 기계 학습 시나리오에서 비슷한 결과를 발견했습니다.

ML.NET 성능 문서 읽기

시작할 준비가 되셨나요?

단계별 자습서는 컴퓨터에서 ML.NET을(를) 실행하는 데 도움이 될 것입니다.

시작하기