sklearn 모델을 최대 100배 더 빠르게 만들기
소개
Scikit-learn 패키지용 인텔® 확장(또는 간단히 sklearnex )을 사용하면 sklearn 모델 및 변환기를 가속화하여 sklearn의 API를 완벽하게 준수할 수 있습니다. Sklearnex는 sklearn 코드를 10~100배 빠르게 만드는 방법을 제공하는 무료 소프트웨어 AI 가속기입니다.
소프트웨어 가속은 벡터 명령, IA 하드웨어별 메모리 최적화, 스레딩 및 출시 시점에 출시될 모든 Intel 플랫폼에 대한 최적화를 사용하여 달성됩니다.
이 이야기에서는 ATOM 라이브러리를 사용하여 sklearnex의 속도를 활용하는 방법을 설명합니다 . ATOM은 데이터 과학자가 기계 학습 파이프라인을 탐색할 수 있도록 설계된 오픈 소스 Python 패키지입니다. 도서관에 대한 부드러운 소개를 원한다면 이 다른 이야기를 읽어보세요 .
하드웨어 요구 사항
sklearnex가 고려해야 할 추가 하드웨어 요구 사항:
- 프로세서에는 x86 아키텍처가 있어야 합니다.
- 프로세서는 SSE2, AVX, AVX2, AVX512 명령어 세트 중 하나 이상을 지원해야 합니다.
- ARM* 아키텍처는 지원 되지 않습니다 .
- 인텔® 프로세서는 다른 CPU보다 더 나은 성능을 제공합니다.
예
시작하는 방법을 이해하기 위해 예제를 살펴보겠습니다. 일반적인 방법으로 atom을 초기화 하고 engine매개변수를 지정합니다. 엔진 매개변수는 모델에 사용할 라이브러리를 지정합니다. 옵션은 다음과 같습니다.
- sklearn(기본값)
- sklearnex (이 이야기에 대한 우리의 선택)
- cuml(GPU 가속용)
from atom import ATOMClassifier
from sklearn.datasets import make_classification
# Create a dummy dataset
X, y = make_classification(n_samples=100000, n_features=40)
atom = ATOMClassifier(X, y, engine="sklearnex", n_jobs=1, verbose=2)
atom.run(models="RF")
print(f"\nThe estimator used is {atom.rf.estimator}")
print(f"The module of the estimator is {atom.rf.estimator.__module__}")
atom.run(models="LR_sklearn", engine="sklearn")
print(f"\nThe estimator used is {atom.rf.estimator}")
print(f"The module of the estimator is {atom.rf.estimator.__module__}")
결과를 시각화해 보겠습니다.
atom.plot_results(metric="time")
atom.plot_feature_importance(show=10)
atom.rf.plot_shap_decision(show=10, title="sklearnex")
atom.rf_sklearn.plot_shap_decision(show=10, title="sklearn")
ATOM 라이브러리를 사용하여 sklearn 모델의 교육 속도를 쉽게 높이는 방법을 배웠습니다. 가속은 CPU에서 이루어집니다. GPU에서 이 작업을 수행하는 방법은 향후 이야기의 범위이므로 계속 지켜봐 주십시오.
ATOM에 대한 자세한 내용은 패키지 설명서를 참조하십시오 . 버그나 기능 요청이 있는 경우 망설이지 말고 GitHub 에서 문제를 열거 나 이메일을 보내주세요.
관련 기사:
- 기계 학습 파이프라인의 빠른 탐색을 위한 atom-a-python-package
- 몇 줄의 파이썬으로 여러 기계 학습 파이프라인을 테스트하는 방법
- from-raw-data-to-web-app-deployment-with-atom-and-streamlit
- 딥 러닝 파이프라인 탐색이 쉬워짐
- 심층 기능 합성 대 유전 기능 생성
- from-raw-text-to-model-prediction-in-under-30-lines-of-python
- 기계 학습 파이프라인을 분석하기 위해 40개의 대화형 플롯을 만드는 방법
- multioutput-datasets-a-quick-guide에 대한 기계 학습
- using-mlflow-with-atom-to-track-all-your-machine-learning-experiments-without-addition-code
- 모든 플롯과 이미지(특집 이미지 제외)는 작성자가 생성합니다.

![연결된 목록이란 무엇입니까? [1 부]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































