[이미지 분류] Automl을 사용하여 물고기 이미지의 2가지 분류에 도전

개요

#Qiita夏祭り2020_DataRoboto의 글.
이번에는 제목의 step2입니다. 저는 Automl로 물고기 이미지의 데이터 집합을 배우고 싶습니다!
step1에 쓰인 앞글은 여기를 클릭하십시오.
- 물고기 이미지 데이터 수집 방법(사실 주요)
-PyTorch의 공부법(장난이 심하니까 보지 마세요.)
등재

AutoML이란?


쑥스럽긴 하지만 전혀 몰라서...
한 마디로 하면, 스스로 프로그램을 조직하여 기계로 하여금 공부하게 하는 것이 아니라, 준비된 우수한 기능을 자동으로 학습할 수 있는 도구이다
데이터 과학의 문턱이 낮아졌으니 정말 좋은 일이다!
Google, IBM, Amazon 등 다양한 회사들이 제공하고 있습니다.
이번에는 DatRobot 회사의 AutomL을 만져보세요!

로그인 및 운영 방법


@yshr10ic선생님의 아래 글은 매우 참고 가치가 있습니다.
감사합니다!
  • [DataRobot] DataRobot AI Plaatform의 시용 신청부터 예측까지
  • [DataRobot] 영상으로 마스크 착용 여부를 판단하는 AI는 거의 자동제작입니다.
  • 그림 데이터는 경로가 기재된 csv를 가져오고 zip으로 압축된 데이터를 가져와야 합니다
    그리고 업로드하면 100MB가 제한되니 주의하세요.

    이미지 분류 도전!


    어서 이미지 분류에 도전하세요!
    객체 데이터는 지난번과 마찬가지로 가자미 및 미꾸라지 이미지입니다.
    가자미

    우선 120장의 이미지(학습용 & 검증용: 100장, 테스트용: 20장)를 사용하여AutoML을 운행하세요!
    (처음에는 95MB의 데이터로 작업할 때 처리가 무겁고 힘들었다. 처음에는 작은 데이터로 테스트를 해야 하는데...)

    데이터 세트 생성


    학습용 csv와 이미지 데이터를 같은 폴더, zip에 놓기
    학습용 이미지는 100장(가자미 50장, 추어 50장)
    csv 내용은 이런 느낌입니다.
    fishimg_train.csv
    path, ,label
    画像のパス1, 0
    画像のパス2, 0
    ・
    ・
    画像のバス99, 1
    画像のバス100, 1
    
    
    DataRobot 웹 사이트에서 import zip 파일

    독학하다


    학습 모드가 3가지가 있어요.
    이번에는 기본'빠른'공부입니다.
    잠시 후 모형 몇 개가 완성되었다
    맨 위의 모델이 가장 정밀도가 높기 때문에 이 모델을 사용하여 예측합시다!

    참고로'유용한 특징량'을 클릭하면 학습 데이터의 훈련, 검증, 유지 비율을 수동으로 설정할 수 있다.

    단계 9463; 학습 결과


    각 학습 모드의 결과는'평가','해석'버튼을 누르면 확인할 수 있다
    평가는 학습 곡선, ROC 곡선, 수익 곡선의 도표와 조화를 설정할 수 있다

    '해석'에서 그림의 분포를 나타낼 수 있다고 하는데 왜 제가 사용하는safari는 표시할 수 없습니까...
    정말 재미있다...

    ④ 예측


    이번 테스트에서는 가재미 10장, 추어 10장의 이미지 데이터를
    csv는 패스만 하면 돼요.
    fishimg_test.csv
    img
    画像パス1
    画像パス2
    ・
    ・
    画像パス19
    画像パス20
    
    "예측"을 클릭하면 import 테스트용 zip!

    잠시 후 계산 예측이 다운로드 예측으로 바뀌어서 다운로드
    결과적으로 이런 느낌으로 csv를 출력했습니다.
    automl.csv
    
    row_id,Prediction,PredictedLabel
    0,3.327158484838446e-05,0
    1,0.003198503349000495,0
    ・
    ・
    ・
    18,0.9965373958298681,1
    19,0.9999377093989212,1
    
    모형의 정밀도를 높이기 위해 아예 파이톤을 써서 정확도를 내보냅시다
    (이번에는 행수가 적어 눈으로 보면 정확도를 알 수 있다(◇ ^;)
    우선, 예측에 사용된 테스트 데이터(인공)에 정확한 라벨을 붙인다
    이런느낌↓
    fishimg_test_calc_correct.csv
    img, label
    画像パス1, 0
    画像パス2, 0
    ・
    ・
    画像パス19, 1
    画像パス20, 1
    
    csv 처리
    AutoML 예측 label과 테스트 데이터의 label이 얼마나 일치하는지 내보내기
    이런느낌↓
    import pandas as pd
    
    df1 = pd.read_csv('./test/fishimg_test_calc_correct.csv')
    df2 = pd.read_csv('./test/automl.csv')
    
    count = 0
    for corr, pred in zip(df1["label"], df2["PredictedLabel"]):
        if corr == pred:
            count += 1
    
    print(f'正解率: {count/dominator}')
    
    정밀도는 100%!신지현: 공부했어?
    어쨌든 AutoML을 끝까지 옮기는 것이 목적이기 때문에 이 결과는 웃음에 신경 쓸 필요가 없다
    이제 더 큰 데이터 세트에 도전해 봅시다.

    ⑤ 데이터 세트의 양을 늘려 실험하기


    데이터 세부 정보


    우선 이번 데이터 세트의 상세한 내용을 소개하겠습니다
    학습용: 2072장(카레 1036장, 카드 1036장)
    시험용: 100장 (가자미 50장, 추어 50장)
    일련의 조작으로 예측 정밀도를 얻어낸 후

    95%의 정확도가 되었다...!!!!


    고찰하다.


    정밀도가 너무 높은 이유


    모델의 정밀도가 너무 높아서 이상해서 제가 이유를 생각해봤어요.
    학습용과 테스트용 데이터가 잘 분배되지 않아서 그런가 봐요.
    이번에 데이터의 확장을 위해 좌우로 반전된 이미지도 데이터 집합을 만들었지만, 학습용 이미지를 반전된 이미지로 테스트하는 데 사용하면 아웃이라고 생각합니다.

    위의 내용을 고려하여 데이터 집합을 만들면 반드시 정확한 정밀도에 도달할 수 있다
    맞는지 댓글을 달아주시면 좋을 것 같은데...

    총결산

  • AutoML을 사용하여 물고기를 이미지 분류
  • 정밀도가 너무 높아→학습용 데이터와 테스트 데이터의 분배에 문제가 있습니까?
  • 감상


    DataRobot의 여름 축제 step2가 시간적으로 넉넉하게 끝났습니다(지난번에는 날짜 5분 전에 끝났습니다)
    오토ML의 존재를 모르기 때문에 이번에 처음으로 DataRobot사의 오토ML을 접하게 되어 편리성을 몸소 체험하게 되었습니다!UI는 세련되어 사용하기 쉽습니다.
    다만, 자신의 무식함으로 인해 기능적으로 잘 알지 못하는 부분이 많기 때문에 잘 조사하고 싶어요!
    그렇다면 스스로 프로그램을 만드는 게 어리석을 것 같은데... 물론 내용을 이해하려면 스스로 소스 코드를 쓰는 게 가장 좋은데...
    마지막이지만 활동 자체가 즐겁다!
    앞으로도 자신이 하고 싶은 제목으로 다양한 기사를 투고하길 바랍니다!
    그럼 안녕!🙌

    좋은 웹페이지 즐겨찾기