ML.NET 튜토리얼 - 시작하기(10분)

모델 학습

이제 yelp_labelled.txt 데이터 세트를 사용하여 모델을 학습시킵니다.

Model Builder는 최고의 성능 모델을 빌드하기 위해 주어진 학습 시간을 기반으로 다양한 알고리즘과 설정으로 많은 모델을 평가합니다.

  1. 학습 시간, 즉 Model Builder가 다양한 모델을 탐색하는 시간은 60초로 자동 설정됩니다. 더 큰 데이터 세트의 경우 훈련 시간이 더 길어집니다. Model Builder는 데이터 세트 크기에 따라 훈련 시간을 자동으로 조정합니다.

  2. 고급 학습 옵션에 사용되는 최적화 메트릭 및 알고리즘을 업데이트할 수 있지만 이 예제에서는 필요하지 않습니다.

  3. 교육 시작을 선택하여 교육 프로세스를 시작합니다. 훈련이 시작되면 남은 시간을 볼 수 있습니다.

    Model Builder 학습

학습 결과

학습이 완료되면 학습 결과의 요약을 볼 수 있습니다.

Model Builder 교육 완료

  • 최고의 매크로 정확도 - Model Builder가 찾은 최고의 모델의 정확도를 보여줍니다. 정확도가 높다는 것은 모델이 테스트 데이터에서 더 정확하게 예측했다는 것을 의미합니다.
  • 최상 모델- Model Builder의 탐색 중에 가장 잘 수행된 알고리즘을 보여줍니다.
  • 학습 시간 - 모델을 학습/탐색하는 데 소요된 총 시간을 보여줍니다.
  • 탐색된 모델(총)-지정된 시간 동안 Model Builder에서 탐색한 총 모델 수를 보여줍니다.
  • 생성된 코드 숨김 - 모델을 사용하거나 새 모델을 학습시키는 데 도움이 되도록 생성된 파일의 이름을 보여 줍니다.

원하는 경우 Machine Learning 출력 창에서 교육 세션에 대한 자세한 정보를 볼 수 있습니다.

모델 학습이 끝나면 평가 단계로 이동합니다.

터미널에서 다음 명령(myMLApp 폴더에서)을 실행합니다.

Command prompt
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --name SentimentModel  --train-time 60

이러한 명령은 무엇을 의미하나요?

mlnet classification 명령은 AutoML을 사용하여 ML.NET을 실행하여 데이터 변환, 알고리즘 및 알고리즘 옵션의 다양한 조합을 사용하여 지정된 학습 시간에 분류 모델의 여러 반복을 탐색한 다음 성능이 가장 높은 모델을 선택합니다.

  • --dataset: yelp_labelled.txt를 데이터 세트로 선택했습니다(내부적으로 CLI는 하나의 데이터 세트를 훈련 및 테스트 데이터 세트로 분할합니다).
  • --label-col: 예측할 대상 열(또는 레이블)을 지정해야 합니다. 이 경우 두 번째 열의 감정을 예측하려고 합니다(인덱스가 0인 열은 이 열이 "1"임을 의미함).
  • --has-header: 이 옵션을 사용하여 데이터 세트에 헤더가 있는지 여부를 지정합니다. 이 경우 데이터 세트에 헤더가 없으므로 false입니다.
  • --name: 이 옵션을 사용하여 기계 학습 모델 및 관련 자산의 이름을 제공하세요. 이 경우 이 기계 학습 모델과 연결된 모든 자산의 이름에는 SentimentModel이 있습니다.
  • --train-time: 또한 ML.NET CLI에서 다양한 모델을 탐색할 시간을 지정해야 합니다. 이 경우 60초(훈련 후 모델이 발견되지 않으면 이 숫자를 늘릴 수 있음). 더 큰 데이터 세트의 경우 더 긴 학습 시간을 설정해야 합니다.

진행률

ML.NET CLI가 다른 모델을 탐색하는 동안 다음 데이터가 표시됩니다.

  • 교육 시작 - 이 섹션에는 사용된 트레이너(알고리즘)와 해당 반복에 대한 평가 메트릭을 포함하여 각 모델 반복이 표시됩니다.
  • 남은 시간 - 이 표시줄과 진행률 표시줄은 훈련 과정에 남은 시간을 초 단위로 나타냅니다.
  • 최고의 알고리즘 - 지금까지 어떤 알고리즘이 가장 잘 수행되었는지 보여줍니다.
  • 최고 점수 - 지금까지 최고 모델의 성능을 보여줍니다. 정확도가 높다는 것은 모델이 테스트 데이터에서 더 정확하게 예측했다는 것을 의미합니다.

원하는 경우 CLI에서 생성한 로그 파일에서 교육 세션에 대한 자세한 정보를 볼 수 있습니다.