새로운 걸 공부할 때 뭘 어떻게 시작해야되는지 당~최~ 모르겠다.
그래서
도와줘 지피티~
데이터를 입력하고 사용자가 얻고자 하는 결과를 지정하면
👉 자동으로 최적의 머신러닝 모델을 생성하고 학습시킴
이런 기술을 통해!
🪄 확장성, 효율성, 생산성이 높은 ML 모델 생성 가능
🪄 머신러닝 모델을 개발하고 유지보수에 필요한 시간과 비용 절감
자동화된 프로세스의 부작용
: 자동화로 인해 모델이 예상치 못한 방식으로 작동하거나, 어떻게 작동하는지 이해하기 어려울 수 있음
높은 비용
: AutoML은 일반적으로 클라우드 기반이라 비용이 높을 수 있음
(모델 구축에 많은 컴퓨팅 자원이 필요)
데이터의 품질에 대한 의존
: 데이터가 부적절하거나 누락되거나 일관성이 없으면, 생성된 모델의 성능이 매우 저하될 수 있음
👉 데이터를 넣기 전, 충분히 확인하기!
automl이 하는 일은 다음과 같습니다.
사용자가 automl을 사용하는 방법은 다음과 같습니다.
AutoML 플랫폼 선택
: Google AutoML, H2O.ai, DataRobot 등
AutoML 모델 구축
: AutoML 플랫폼을 사용하여 본격적으로 머신러닝 모델 구축!
모델 평가 및 튜닝
: 교차 검증, 그리드 서치 등의 기법을 사용하여 최적의 모델 탐색
모델 배포
: 최종 모델을 선택 후 배포
: 모델을 프로덕션 환경에 배포하고, 실제 데이터를 이용하여 예측 수행
👉 프로덕션 환경
: 실제로 머신러닝 모델을 운영하고 예측을 수행하는 환경
ex. 모델이 은행 시스템과 연결되어, 대출 가능 여부에 대한 예측을 수행
# 1. autokeras 설치
!pip install autokeras
# 2. 라이브러리 불러오기
import tensorflow as tf
from tensorflow.keras.datasets import mnist
import autokeras as ak
# 3. MNIST 데이터셋 로드
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 4. AutoKeras 모델 정의
clf = ak.ImageClassifier(
num_classes=10, # 출력 클래스의 수
multi_label=False, # 다중 레이블 분류 수행 여부
max_trials=10, # 모델 탐색 횟수
objective='val_accuracy' # 최적화 기준
)
# 5. 모델 훈련
clf.fit(x_train, y_train, epochs=10)
# 6. 모델 평가
score = clf.evaluate(x_test, y_test)
print('Test accuracy:', score[1])
autokeras 결과가 너무 안나와서 autokeras 찾아보다가 알게된 특이점을 작성하려한다.
💡 autokeras는 최적화된 딥러닝 모델 탐색을 자동화하는 도구이다!
🤷♂️ 의문 1. 딥러닝 관련 자동화 도구인데 auto'ML'에 속하나요?
👉 (오늘의 선생님 chatgpt가 잘못알려준줄 알았다) 확실히 automl에 속합니다!
🤷♂️ 의문 2. 그럼 머신러닝 자동화는 못하나요?
👉 할 수는 있지만 autokeras는 딥러닝 자동화를 목적으로 만들어졌기 때문에, 머신러닝 자동화를 하고싶다면 다른 모델을 사용하는게 더 적합합니다.
🤷♂️ 궁금 3. 그럼 머신러닝 자동화 코드를 알려주세요
👉
import pandas as pd
import autokeras as ak
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 1. iris 데이터셋 로드
iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.Series(iris.target)
# 2. 데이터셋 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 3. AutoKeras 분류 모델 생성
clf = ak.StructuredDataClassifier(max_trials=10)
# 4. 모델 훈련
clf.fit(X_train, y_train, epochs=10)
# 5. 모델 평가
accuracy = clf.evaluate(X_test, y_test)[1]
print('Accuracy:', accuracy)
🤷♂️ 궁금 4. 기존 코드와 위 머신러닝 코드의 차이점이 뭔가용?
👉 사용된 클래스 차이
없다.
아니 아직 없다
두시간째 돌리는중인데 아직도 돌고있다.
그래.. 나 취업하기전까지만 결과를내다오..
.
.
.
근데 혹시나..혹시나 평생돌아갈까봐..
선생님께 autokeras의 일반적인 결과 도출 형태를 여쭤봣다...
[참고]
🔻 2022 automl 파이썬 라이브러리
https://moez-62905.medium.com/top-automl-python-libraries-in-2022-2d306cf7acf0
🔻 automl 패키지 별 특성 및 설치 코드
https://data-newbie.tistory.com/915
🔻 automl과 그 한계점
https://yozm.wishket.com/magazine/detail/1267/