Data-Driven System Development 138

Docker에서 Python 스크립트 실행

Docker를 사용하면 Python 실행 환경을 컨테이너로 간편하게 구축할 수 있습니다. 이번 글에서는 Docker를 이용한 Python 스크립트 실행 과정을 단계별로 설명합니다. Dockerfile 작성부터 컨테이너 실행까지 따라 하면, 손쉽게 Python 코드를 독립된 환경에서 실행할 수 있습니다. Python 3.8을 기반으로 하는 Dockerfile 작성.작업 디렉토리를 /app으로 설정.hello.py 스크립트를 컨테이너 내부로 복사.CMD ["python", "hello.py"]로 스크립트 실행. Python 코드 작성: "Hello, Docker World!!!" 출력.Python 버전 정보를 출력하는 sys.version_info 포함. docker build -t hello-world-p..

Model Serving

데이터 사이언스 프로젝트에서 모델 서빙은 핵심 단계 중 하나입니다. 모델 개발 이후 Staging 모델과 Production 모델을 효과적으로 관리하고, 이를 API 서빙 및 클라우드 배포하는 것이 중요한 과제입니다. 이 글에서는 MLflow를 사용해 모델을 로드하고 예측하며 서하는 방법을 다룹니다.import mlflowmlflow.set_tracking_uri("http://127.0.0.1:5000")model_uri = "models:/hellomlflow/Staging"loaded_model = mlflow.sklearn.load_model(model_uri)Staging 모델먼저, MLflow를 사용해 Staging 모델을 로드합니다. MLflow 모델 레지스트리를 통해 특정 단계(Stagin..

MLflow로 Artifact 재현성을 높이는 최적의 워크플로우

📌 MLflow Artifacts를 활용한 모델 재현성 및 예측 과정머신러닝 모델을 실험하고 배포할 때 일관된 결과를 보장하는 것(재현성) 이 중요합니다.MLflow는 Artifacts(모델 파일, 환경 설정, 평가 지표 등) 을 관리하여 이전 실험을 그대로 복원하고 실행할 수 있도록 도와줍니다. 이번 글에서는 MLflow Artifacts를 활용한 모델 재현성과 예측 과정을 설명합니다 MLflow Artifacts란?MLflow에서 Artifacts(아티팩트) 는 머신러닝 실험(run) 중 생성된 결과 파일을 의미합니다.이에는 다음과 같은 정보가 포함됩니다:✅ 모델 파일 (model.pkl) → 저장된 머신러닝 모델✅ 환경 설정 (requirements.txt, conda.yaml) → 모델이 실행될..

모델 등록과 버전 관리, MLflow로 간편하게

MLflow를 활용한 모델 등록 가이드MLflow는 머신러닝 모델의 실험 추적, 모델 관리, 배포 자동화를 지원하는 강력한 도구입니다. 이번 블로그에서는 MLflow를 활용한 모델 등록 과정을 소개합니다.1. MLflow 실험 기록첫 번째 이미지에서는 MLflow의 실험(Experiment) 추적 화면이 보입니다.실험 ID (Experiment ID): 767074504691893604상태 (Status): ✅ Finished (완료)모델 정보: RandomForestClassifier태그 (Tags): estimator_class, estimator_nameMLflow에서는 학습한 모델의 실험 결과를 기록하고, 이후 모델을 등록하여 관리할 수 있습니다. 2. 모델 등록 과정두 번째 이미지는 MLflow..

MLflow Compare 기능으로 빠르게 모델 비교하기

이번 실험에서는 랜덤 포레스트 모델의 주요 하이퍼파라미터인 n_estimators, max_depth, max_features를 조정하면서 모델을 학습하고 평가합니다.사용된 하이퍼파라미터 값들n_estimators: [50, 100, 150, 200] (트리 개수)max_depth: [2, 5, 10] (트리 최대 깊이)max_features: [5, 8, 10, 13] (특성 개수)각 조합에 대해 모델을 학습하고, 테스트 데이터에서 성능을 평가한 후, MLflow에 결과를 저장합니다.MLflow에서 실험 결과 확인 및 비교 분석 MLflow UI에서 컬럼 선택 및 실험 결과 비교모델 학습이 완료되면 MLflow UI에서 모든 실험 결과가 자동으로 기록됩니다. 실험 기록을 기반으로 원하는 평가지표(met..

MLflow로 모델 성능 비교하고 최적 모델 찾기

머신러닝 모델을 개발할 때 가장 중요한 과정 중 하나는 하이퍼파라미터 튜닝입니다. 하지만 다양한 조합을 실험하고 성능을 비교하는 과정은 번거롭고 시간이 많이 걸립니다. 이를 효율적으로 관리하기 위해 MLflow를 활용하면 실험을 자동으로 기록하고, 모델 성능을 비교할 수 있습니다. 이번 포스트에서는 MLflow를 사용하여 랜덤 포레스(RandomForestClassifier) 모델의 하이퍼파라미터를 조정하고 최적의 모델을 선택하는 과정을 소개합니다. mlflow.sklearn.autolog()def train_model_with_hyperparameters(n_estimator, max_depth, max_feature): with mlflow.start_run(): model = Ra..

GridSearchCV와 MLflow로 머신러닝 실험 자동화하기

머신러닝 모델을 개발할 때 하이퍼파라미터 튜닝과 실험 결과를 효율적으로 관리하는 것이 중요합니다. 이번 포스트에서는 GridSearchCV를 활용하여 랜덤 포레스트(RandomForestClassifier)의 하이퍼파라미터를 최적화하고, MLflow를 통해 실험을 기록하고 분석하는 방법을 설명하겠습니다. 아래 코드에서는 MLflow의 autologging 기능을 활용하여 각 실험(run)의 모델, 하이퍼파라미터, 평가 지표(precision, recall, f1-score, accuracy)를 자동으로 기록합니다. mlflow.sklearn.autolog()''' To do run GridSearchCV with mlflow '''with mlflow.start_run(): model_grid = ..

MLflow Autolog 확장하기: Custom Logging으로 세부 실험 데이터 관리

n_estimator = 80random_state = 1234with mlflow.start_run(): model = RandomForestClassifier(n_estimators=n_estimator, random_state=random_state) model.fit(X_train, y_train) y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) prf = precision_recall_fscore_support(y_test, y_pred, average="binary") mlflow.log_param("n_estimator", n_estimator) mlflow.log_metr..

MLflow로 랜덤포레스트 분류 모델 실험 자동화하기

MLflow를 활용해 랜덤포레스트 분류 모델을 학습시키고 실험 결과를 자동으로 추적하는 방법에 대해 다룹니다. 코드와 함께 실험 데이터 전처리, MLflow 실험 초기화, 모델 학습, 그리고 실험 결과 기록의 전체 과정을 소개합니다. # basicimport pandas as pd# mlfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scorefrom sklearn.metrics import precision_recall_fscore_support# mlflowimport mlflowdef preproce..

머신러닝 실험 추적을 위한 MLflow 환경 구축

WSL(Windows Subsystem for Linux)을 사용하여 MLflow를 설치하고 UI를 실행하는 방법에 대한 가이드입니다. WSL 환경에서 Bash를 사용하여 MLflow 환경을 설정하는 과정은 다음과 같습니다.MLflow 설치가상환경이 준비되면 MLflow를 설치합니다. MLflow는 머신러닝 실험을 체계적으로 관리할 수 있는 도구로, 설치가 완료되면 실험 추적과 UI를 활용할 수 있는 상태가 됩니다.MLflow UI 실행MLflow 설치 후 UI를 실행하여 실험을 시각적으로 관리합니다. UI는 웹 브라우저에서 접근할 수 있으며, 실험 매개변수, 메트릭, 모델 등을 쉽게 추적하고 관리할 수 있습니다.