AutoML 탐색: 사용 가능한 주요 도구 [알아야 할 사항]

게시 됨: 2020-12-07

기계 학습 수명 주기는 데이터 수집, 데이터 정리, 기능 엔지니어링, 기능 선택, 모델 구축, 하이퍼 매개변수 조정, 검증 및 모델 배포를 포함하는 일련의 프로세스입니다.

데이터 수집은 수동 설문 조사, 데이터 입력, 웹 스크랩 또는 실험 중에 생성된 데이터와 같은 다양한 형태를 취할 수 있지만 데이터 정리는 데이터를 수명 주기의 다른 단계에서 사용할 수 있는 표준 형식으로 변환하는 것입니다. .

최근 기계 학습의 급증은 많은 기업이 주류 제품에 AI 기반 솔루션을 채택하는 것을 환영했으며 따라서 AutoML의 새로운 장이 시장에 도착했습니다. AI 기반 솔루션을 신속하게 설정할 수 있는 훌륭한 도구가 될 수 있지만 여전히 해결해야 할 몇 가지 관련 요소가 있습니다.

목차

AutoML이란 무엇입니까?

실행 가능한 결과로 이어지는 예측 및 분류를 생성하는 자동화된 프로세스인 기계 학습의 일부를 자동화하는 도구 세트입니다. 기능 엔지니어링, 모델 구축 및 때로는 배포 단계만 자동화할 수 있지만 대부분의 AutoML 도구는 여러 기계 학습 알고리즘과 거의 동일한 평가 지표를 지원합니다.

이러한 종류의 도구가 시작되면 모든 알고리즘에 대해 동일한 데이터 세트를 실행하고 문제와 관련된 다양한 메트릭을 테스트한 다음 자세한 보고서 카드를 제공합니다. 시장에서 구할 수 있고 광범위하게 사용되는 몇 가지 유명한 도구를 살펴보겠습니다.

H2O.ai

AutoML의 주요 솔루션 중 하나는 처음부터 아무것도 코딩하지 않는 비즈니스 문제에 대한 업계 준비 솔루션을 제공하는 H2O.ai입니다. 이를 통해 모든 도메인의 모든 사람이 기계 학습에 대한 전문 지식 없이도 데이터에서 의미 있는 통찰력을 추출할 수 있습니다.

H2O는 널리 사용되는 모든 기계 학습 모델과 통계적 접근 방식을 지원하는 오픈 소스입니다. 데이터가 클러스터에 분산된 다음 메모리에 열 형식으로 저장되어 병렬 읽기 작업이 가능하므로 매우 빠른 솔루션을 제공하도록 구축되었습니다.

이 프로젝트의 최신 버전은 GPU를 지원하므로 더 빠르고 효율적입니다. Python을 사용하여 이 작업을 수행하는 방법을 살펴보겠습니다(더 나은 이해를 위해 jupyter 노트북에서 코드 실행).

!pip install h2o # 설치하지 않은 경우 실행

수입 h2o

h2o.init()

h2o.automl에서 가져오기 H2OAutoML

df = h2o.import_file() # 여기에 파일 경로를 제공합니다.

y = '타겟_라벨'

x = df.remove(y)

X_train, X_test, X_validate = df.split_frame(비율=[.7, .15])

model_obj = H2OAutoML(max_models = 10, seed = 10, verbosity="정보", nfolds=0)

model_obj.train(x = x, y = y, training_frame = X_train, validation_frame=X_validate)

결과 = model_obj.leaderboard

이것은 문제에 따라 각각의 메트릭을 표시하는 모든 알고리즘의 결과를 저장합니다.

읽기: 기계 학습 도구

파이카렛

이것은 몇 줄의 코드로 광범위한 AutoML 기능을 지원하는 올해 출시된 상당히 새로운 라이브러리입니다. 결측값 처리, 범주형 데이터를 모델 피드 가능 형식으로 변환, 하이퍼 매개변수 조정 또는 기능 엔지니어링까지 PyCaret은 데이터 조작 전략에 더 집중할 수 있을 때 이 모든 것을 배후에서 자동화합니다.

NumPy, pandas, sklearn, XGBoost 등과 같은 사용 가능한 모든 기계 학습 도구 및 라이브러리에 대한 Python 래퍼에 가깝습니다. Pycaret을 사용하여 분류 문제를 수행하는 방법을 이해하겠습니다.

!pip install pycaret # 설치하지 않은 경우 실행

pycaret.datasets에서 get_data 가져오기

pycaret.classification 가져오기에서 *

df = get_data('당뇨병')

설정 = 설정(당뇨병, 대상 = '클래스 변수')

compare_models() # 이 함수는 단순히 모든 알고리즘의 비교를 표시합니다!

selected_model = create_model() # 생성하려는 알고리즘의 이름을 전달합니다.

predict_model(selected_model)

final_model = finalize_model(selected_model)

save_model(최종_모델, '파일_이름')

로드 = load_model('file_name')

기능 엔지니어링을 수행하고 모델을 훈련하고 저장하는 변환 파이프라인을 생성했습니다!

Google 데이터 준비

우리는 최상의 결과를 얻기 위해 기능 선택, 모델 구축 및 튜닝을 자동화하는 두 개의 라이브러리를 살펴보았지만 데이터 정리를 자동화할 수 있는 방법에 대해서는 논의하지 않았습니다. 이 프로세스는 확실히 자동화할 수 있지만 올바른 데이터가 전달되었는지 또는 값이 의미가 있는지 여부에 대한 수동 확인이 필요합니다.

더 많은 데이터는 모델 구축의 장점이지만 양질의 결과를 얻으려면 양질의 데이터여야 합니다. Google DataPrep은 데이터의 시각적 데이터 정리를 허용하는 서비스로서의 플랫폼으로 제공되는 지능형 데이터 준비 도구입니다. 즉, 한 줄도 코딩하지 않고 옵션을 선택하기만 하면 데이터를 변경할 수 있습니다.

대화형 GUI를 제공하므로 적용하려는 기능을 수행하기 위한 옵션을 매우 쉽게 선택할 수 있습니다. 이 도구의 가장 좋은 점은 데이터 세트에서 수행된 모든 변경 사항을 수행된 순서대로 측면 패널에 표시하고 모든 단계를 변경할 수 있다는 것입니다. 변경 사항을 추적하는 데 도움이 됩니다. 대부분 올바른 제안을 하라는 메시지가 표시됩니다.

결과 파일을 로컬 저장소로 내보내거나 이 서비스가 Google Cloud Platform에서 제공되므로 쿼리 편집기에서 직접 기계 학습 작업을 수행할 수 있는 Google Storage 버킷 또는 BigQuery 테이블로 이 파일을 직접 가져올 수 있습니다. 이에 대한 주요 장애물은 반복되는 비용일 수 있으며, 이는 오픈 소스 프로젝트가 아니라 본격적인 산업 솔루션입니다.

이것이 데이터 과학자를 대체할 수 있습니까?

절대적으로하지! AutoML은 훌륭하고 데이터 과학자가 특정 수명 주기를 가속화하는 데 도움이 될 수 있지만 항상 전문가의 조언이 필요합니다. 예를 들어, 문제에 가장 적합한 특정 알고리즘에서 모델을 실행하는 전문가보다 모든 알고리즘을 실행하는 AutoML에서 특정 문제 설명에 대한 올바른 모델을 얻는 데 더 많은 시간이 걸립니다.

데이터 과학자는 이러한 유형의 자동화 결과를 검증한 다음 비즈니스에 실행 가능한 솔루션을 제공해야 합니다. 도메인 전문가는 데이터에서 통찰력을 이끌어내는 경험이 많지 않을 수 있으므로 이 자동화가 매우 유용하다는 것을 알게 될 것이지만 이러한 도구가 가장 좋은 방법으로 안내할 것입니다.

머신 러닝을 마스터하고 에이전트가 틱택토를 하도록 훈련하는 방법, 챗봇을 훈련시키는 방법 등을 배우고 싶다면 upGrad의 기계 학습 및 인공 지능 PG 디플로마 과정을 확인하십시오.

AI 주도 기술 혁명 주도

IIT MADRAS & UPGRAD의 머신 러닝 및 클라우드 고급 인증
더 알아보기