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

모델 학습

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

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

  1. Model Builder가 다양한 모델을 탐색하도록 하는 시간인 학습 시간60초로 변경합니다(학습 후 발견된 모델이 없는 경우 이 숫자를 늘릴 수 있습니다) . 더 큰 데이터 세트의 경우 훈련 시간이 더 길어집니다. Model Builder는 데이터 세트 크기에 따라 훈련 시간을 자동으로 조정합니다.

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

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

  4. 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에서 생성한 로그 파일에서 교육 세션에 대한 자세한 정보를 볼 수 있습니다.

계속