이 기사는 데이터 과학 블로그 톤의
7 단계 : 데이터 분할 8 : 모델 훈련 9 단계 : 모델 평가 10 단계 : 모델 배포 11 :
-
- 문제 문자
-
비트 코인 가격은 변동성이 높으며 예측을하는 것은 불가능합니다. 우리의 프로젝트에서 우리는 Mlops의 모범 사례를 사용하고 있습니다. 프로젝트를 구현하기 전에 프로젝트 아키텍처를 살펴 보겠습니다. -
프로젝트 구현
API에 액세스하여 시작하겠습니다 왜 우리는 이것을하고 있습니까? 다른 데이터 세트에서 과거 비트 코인 가격 데이터를 얻을 수 있지만 API를 사용하면 라이브 시장 데이터에 액세스 할 수 있습니다. 1 단계 : API 에 액세스합니다 - API 액세스에 가입하십시오.
일단 theccdata api 페이지에 가입하면. 이 pagehttps : //developers.cryptocompare.com/documentation/data-api/index_cc_v1_historical_days- 아래 코드를 사용하면 CCDATA API의 비트 코인 가격 데이터를 가져와 Pandas Dataframe으로 변환 할 수 있습니다. 또한 API 키를 .env 파일에 보관하십시오
- 2 단계 : Mongodb 를 사용하여 데이터베이스에 연결합니다 MongoDB는 적응성, 확장 성 및 비정형 데이터를 JSON- 유사 형식으로 저장하는 능력으로 알려진 NOSQL 데이터베이스입니다.
import requests import pandas as pd from dotenv import load_dotenv import os # Load the .env file load_dotenv() def fetch_crypto_data(api_uri): response = requests.get( api_uri, params={ "market": "cadli", "instrument": "BTC-USD", "limit": 5000, "aggregate": 1, "fill": "true", "apply_mapping": "true", "response_format": "JSON" }, headers={"Content-type": "application/json; charset=UTF-8"} ) if response.status_code == 200: print('API Connection Successful! \nFetching the data...') data = response.json() data_list = data.get('Data', []) df = pd.DataFrame(data_list) df['DATE'] = pd.to_datetime(df['TIMESTAMP'], unit='s') return df # Return the DataFrame else: raise Exception(f"API Error: {response.status_code} - {response.text}")
이 코드는 MongoDB에 연결하고 API를 통해 비트 코인 가격 데이터를 검색하며 최신 기록 된 날짜 이후에 모든 새 항목으로 데이터베이스를 업데이트합니다.Zenml 소개 Zenmlis 유연성 및 생산 준비 파이프 라인 생성을 지원하는 기계 학습 운영에 맞게 조정 된 오픈 소스 플랫폼입니다. 또한 Zenml은 여러 머신 러닝 도구와 같은 여러 기계 학습 도구와 통합하여 매끄러운 ML 파이프 라인을 만듭니다. Windows 사용자 인 경우 시스템에 WSL을 설치하십시오. Zenml은 Windows를 지원하지 않습니다 이 프로젝트에서는 Zenml을 사용하는 전통적인 파이프 라인을 구현할 것이며 실험 추적을 위해 Zenml과 mlflow를 통합 할 것입니다. . 사전 반품 및 기본 Zenml 명령
가상 환경을 활성화하십시오 :
기능과 함께 모든 핵심 Zenml 명령은 다음과 같습니다. 3 단계 : Zenml 와 mlflow의 통합우리는 실험 추적에 mlflow를 사용하여 모델, 아티팩트, 메트릭 및 하이퍼 파라미터 값을 추적합니다. 우리는 실험 추적 및 모델 배치자를 위해 MLFLOW를 등록하고 있습니다. Zenml 스택 목록 -
프로젝트 구조
여기서 프로젝트의 레이아웃을 볼 수 있습니다. 이제 하나씩 자세히 논의 해 봅시다.
4 단계 : 데이터 수집
- 우리는 ingest_data () 기능에 를 훈련 파이프 라인의 단계로 선언 할 수 있도록 추가합니다. 같은 방식으로 프로젝트 아키텍처의 각 단계에 대한 코드를 작성하고 파이프 라인을 만듭니다. Decorator를 사용한 방법을 보려면 아래의 GitHub 링크 (단계 폴더)를 확인하여 파이프 라인의 다른 단계, 즉 데이터 청소, 기능 엔지니어링, 데이터 분할, 모델 교육 및 모델 평가 코드를 살펴보십시오. 5 단계 : 데이터 청소 이 단계에서는 섭취 한 데이터를 청소하기위한 다양한 전략을 생성합니다. 데이터의 원치 않는 열과 결 측값을 삭제합니다.
우리는 먼저 API에서 MongoDB로 데이터를 수집하여 Pandas Dataframe으로 변환합니다. import requests import pandas as pd from dotenv import load_dotenv import os # Load the .env file load_dotenv() def fetch_crypto_data(api_uri): response = requests.get( api_uri, params={ "market": "cadli", "instrument": "BTC-USD", "limit": 5000, "aggregate": 1, "fill": "true", "apply_mapping": "true", "response_format": "JSON" }, headers={"Content-type": "application/json; charset=UTF-8"} ) if response.status_code == 200: print('API Connection Successful! \nFetching the data...') data = response.json() data_list = data.get('Data', []) df = pd.DataFrame(data_list) df['DATE'] = pd.to_datetime(df['TIMESTAMP'], unit='s') return df # Return the DataFrame else: raise Exception(f"API Error: {response.status_code} - {response.text}")
6 단계 : 기능 엔지니어링 이 단계는 이전 Data_cleaning 단계에서 정리 된 데이터를 가져옵니다. 우리는 단순한 움직이는 평균 (SMA), 지수 이동 평균 (EMA) 및 지연 및 롤링 통계와 같은 새로운 기능을 만들어 트렌드를 캡처하고 소음을 줄이며 시계열 데이터에서보다 신뢰할 수있는 예측을합니다. 또한 Minmax 스케일링을 사용하여 기능과 대상 변수를 확장합니다. 이제, 우리는 처리 된 데이터를 80:20의 비율로 교육 및 테스트 데이터 세트로 나눕니다. 8 단계 : 모델 훈련 이 단계에서, 우리는 오버 피팅을 방지하기 위해 조기 중지로 THELSTM 모델을 훈련시키고 MLFlow의 자동화 된 로깅을 사용하여 모델과 실험을 추적하고 훈련 된 모델을 9 단계 : 모델 평가 이제 우리는 위의 모든 단계를 파이프 라인으로 구성 할 것입니다. 새로운 파일을 만들어 봅시다. training_pipeline.py 훈련 파이프 라인의 대시 보드를 보려면 run_pipeline.py 스크립트를 실행하십시오. run_pipeline.py 파일을 만들어 봅시다 이제 우리는 파이프 라인 생성을 완료했습니다. 파이프 라인 대시 보드를 보려면 아래 명령을 실행하십시오 위 명령을 실행하면 추적 대시 보드 URL을 반환합니다. 교육 파이프 라인은 다음과 같이 대시 보드에서 이와 같이 보입니다. #Install zenml pip install zenml #To Launch zenml server and dashboard locally pip install "zenml[server]" #To check the zenml Version: zenml version #To initiate a new repository zenml init #To run the dashboard locally: zenml login --local #To know the status of our zenml Pipelines zenml show #To shutdown the zenml server zenml clean
#Integrating mlflow with ZenML zenml integration install mlflow -y #Register the experiment tracker zenml experiment-tracker register mlflow_tracker --flavor=mlflow #Registering the model deployer zenml model-deployer register mlflow --flavor=mlflow #Registering the stack zenml stack register local-mlflow-stack-new -a default -o default -d mlflow -e mlflow_tracker --set #To view the stack list zenml stack --list
10 단계 : 모델 배포 지금까지 우리는 모델과 파이프 라인을 구축했습니다. 이제 사용자가 예측할 수있는 파이프 라인을 생산으로 밀어 봅시다. 연속 배포 파이프 라인 ml_pipeline () bitcoin_price_prediction_mlops/ # Project directory ├── data/ │ └── management/ │ ├── api_to_mongodb.py # Code to fetch data and save it to MongoDB │ └── api.py # API-related utility functions │ ├── pipelines/ │ ├── deployment_pipeline.py # Deployment pipeline │ └── training_pipeline.py # Training pipeline │ ├── saved_models/ # Directory for storing trained models ├── saved_scalers/ # Directory for storing scalers used in data preprocessing │ ├── src/ # Source code │ ├── data_cleaning.py # Data cleaning and preprocessing │ ├── data_ingestion.py # Data ingestion │ ├── data_splitter.py # Data splitting │ ├── feature_engineering.py # Feature engineering │ ├── model_evaluation.py # Model evaluation │ └── model_training.py # Model training │ ├── steps/ # ZenML steps │ ├── clean_data.py # ZenML step for cleaning data │ ├── data_splitter.py # ZenML step for data splitting │ ├── dynamic_importer.py # ZenML step for importing dynamic data │ ├── feature_engineering.py # ZenML step for feature engineering │ ├── ingest_data.py # ZenML step for data ingestion │ ├── model_evaluation.py # ZenML step for model evaluation │ ├── model_training.py # ZenML step for training the model │ ├── prediction_service_loader.py # ZenML step for loading prediction services │ ├── predictor.py # ZenML step for prediction │ └── utils.py # Utility functions for steps │ ├── .env # Environment variables file ├── .gitignore # Git ignore file │ ├── app.py # Streamlit user interface app │ ├── README.md # Project documentation ├── requirements.txt # List of required packages ├── run_deployment.py # Code for running deployment and prediction pipeline ├── run_pipeline.py # Code for running training pipeline └── .zen/ # ZenML directory (created automatically after ZenML initialization)를 실행하여 모델을 훈련시키기 위해 training_pipeline.py 파일에서 실행 한 다음mlflow 모델 배포자 를 사용하여 continuous_deployment_pipeline () 를 사용하여 훈련 된 모델을 배포합니다.
추론 파이프 라인 우리는 추론 파이프 라인을 사용하여 배포 된 모델을 사용하여 새로운 데이터를 예측합니다. 프로젝트 에서이 파이프 라인을 어떻게 구현했는지 살펴 보겠습니다. 아래 추론 파이프 라인에서 호출 된 각 기능에 대해 보자. Dynamic_importer () import requests import pandas as pd from dotenv import load_dotenv import os # Load the .env file load_dotenv() def fetch_crypto_data(api_uri): response = requests.get( api_uri, params={ "market": "cadli", "instrument": "BTC-USD", "limit": 5000, "aggregate": 1, "fill": "true", "apply_mapping": "true", "response_format": "JSON" }, headers={"Content-type": "application/json; charset=UTF-8"} ) if response.status_code == 200: print('API Connection Successful! \nFetching the data...') data = response.json() data_list = data.get('Data', []) df = pd.DataFrame(data_list) df['DATE'] = pd.to_datetime(df['TIMESTAMP'], unit='s') return df # Return the DataFrame else: raise Exception(f"API Error: {response.status_code} - {response.text}")
prediction_service_loader ()기존_Services = mlflow_model_deployer_component.find_model_server () > 파이프 라인 이름 및 파이프 라인 단계 이름과 같은 주어진 매개 변수를 기반으로 사용 가능한 배포 서비스를 검색합니다. 서비스를 사용할 수없는 경우 배포 파이프 라인이 수행되지 않았거나 배포 파이프 라인과 관련된 문제가 발생 했으므로 런타임 에러를 던집니다. .
predictor ()이 기능은 MLFLOWDEPLOYMENTERVICE 및 새로운 데이터를 통해 MLFLOW 배치 모델을 사용합니다. 데이터는 실시간 추론을하기 위해 모델의 예상 형식과 일치하도록 추가로 처리됩니다. 지속적인 배포 및 추론 파이프 라인을 시각화하려면 배포 및 예측 구성이 정의되는 run_deployment.py 스크립트를 실행해야합니다. (아래 주어진 github에서 run_deployment.py 코드를 확인하십시오). 이제 run_deployment.py 파일을 실행하여 연속 배포 파이프 라인 및 추론 파이프 라인의 대시 보드를 볼 수 있습니다. import os from pymongo import MongoClient from dotenv import load_dotenv from data.management.api import fetch_crypto_data # Import the API function import pandas as pd load_dotenv() MONGO_URI = os.getenv("MONGO_URI") API_URI = os.getenv("API_URI") client = MongoClient(MONGO_URI, ssl=True, ssl_certfile=None, ssl_ca_certs=None) db = client['crypto_data'] collection = db['historical_data'] try: latest_entry = collection.find_one(sort=[("DATE", -1)]) # Find the latest date if latest_entry: last_date = pd.to_datetime(latest_entry['DATE']).strftime('%Y-%m-%d') else: last_date = '2011-03-27' # Default start date if MongoDB is empty print(f"Fetching data starting from {last_date}...") new_data_df = fetch_crypto_data(API_URI) if latest_entry: new_data_df = new_data_df[new_data_df['DATE'] > last_date] if not new_data_df.empty: data_to_insert = new_data_df.to_dict(orient='records') result = collection.insert_many(data_to_insert) print(f"Inserted {len(result.inserted_ids)} new records into MongoDB.") else: print("No new data to insert.") except Exception as e: print(f"An error occurred: {e}")
연속 배포 파이프 라인 - 출력 추론 파이프 라인 - 출력 run_deployment.py 파일을 실행 한 후 다음과 같은 MLFLOW 대시 보드 링크를 볼 수 있습니다. 이제 명령 줄에 위의 mlflow ui 링크를 복사하여 붙여 넣어 실행해야합니다. 여기에 MLFLOW 대시 보드가 있습니다. 여기서 평가 지표 및 모델 매개 변수를 볼 수 있습니다. 11 단계 : 간단한 앱 구축 간소화는 대화 형 UI를 만드는 데 사용되는 놀라운 오픈 소스, 파이썬 기반 프레임 워크로, 간소화를 사용하여 백엔드 또는 프론트 엔드 개발을 알지 못하고 웹 앱을 빠르게 구축 할 수 있습니다. 먼저 시스템에 간소화를 설치해야합니다 다시, 당신은 github에서 sleamlit 앱의 코드를 찾을 수 있습니다. 다음은 더 나은 이해를 위해 프로젝트의 Github 코드 및 비디오 설명입니다. 결론 이 기사에서는 엔드 투 엔드, 프로덕션 준비 비트 코인 가격 예측 MLOPS 프로젝트를 성공적으로 구축했습니다. API를 통해 데이터를 획득하고이를 전처리하는 것부터 모델 교육, 평가 및 배포에 이르기까지 우리의 프로젝트는 개발을 생산과 연결하는 데 MLOPS의 중요한 역할을 강조합니다. 우리는 비트 코인 가격을 실시간으로 예측하는 미래를 형성하는 데 한 걸음 더 가까워졌습니다. API는 CCDATA API의 비트 코인 가격 데이터와 같은 외부 데이터에 대한 원활한 액세스를 제공하여 기존 데이터 세트가 필요하지 않습니다.
키 테이크 아웃 API는 CCDATA API의 비트 코인 가격 데이터와 같은 외부 데이터에 완벽하게 액세스 할 수있어 기존 데이터 세트가 필요하지 않습니다. Zenml 및 Mlflow는 실제 애플리케이션에서 기계 학습 모델의 개발, 추적 및 배포를 용이하게하는 강력한 도구입니다. 우리는 데이터 수집, 청소, 기능 엔지니어링, 모델 교육 및 평가를 올바르게 수행함으로써 모범 사례를 따랐습니다. 지속적인 배포 및 추론 파이프 라인은 생산 환경에서 모델이 효율적이고 사용할 수 있도록하는 데 필수적입니다. 자주 묻는 질문 q1. Zenml은 무료로 사용할 수 있습니까?
a. 예, Zenml은 로컬 개발에서 생산 파이프 라인으로의 전환을 1 줄의 코드만큼 쉽게 만드는 완벽한 오픈 소스 MLOPS 프레임 워크입니다. mlflow는 무엇에 사용됩니까? MLFLOW는 실험을 추적하고 버전 모델링 및 배포 할 수있는 도구를 제공함으로써 머신 러닝 개발을보다 쉽게 할 수 있습니다. 서버 데몬을 디버깅하는 방법 오류가 실행되지 않습니까?
위 내용은 MLOPS를 사용한 비트 코인 가격 예측의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Meta는 NVIDIA, IBM 및 DELL과 같은 파트너와 함께 LLAMA 스택의 엔터프라이즈 수준 배포 통합을 확장했습니다. 보안 측면에서 Meta는 Llama Guard 4, Llamafirewall 및 Cyberseceval 4와 같은 새로운 도구를 출시했으며 AI 보안을 향상시키기 위해 LLAMA Defenders 프로그램을 시작했습니다. 또한 Meta는 공공 서비스, 건강 관리 및 교육을 개선하기 위해 노력하는 신생 기업을 포함하여 10 개의 글로벌 기관에 LLAMA Impact Grants의 150 만 달러를 배포했습니다. Llama 4에 의해 구동되는 새로운 Meta AI 응용 프로그램, Meta AI로 생각됩니다.

인간 -AI 상호 작용을 개척하는 회사 인 Joi AI는 이러한 진화하는 관계를 설명하기 위해 "AI-Lationships"라는 용어를 도입했습니다. Joi AI의 관계 치료사 인 Jaime Bronstein은 이것이 인간 C를 대체하는 것이 아니라는 것을 분명히합니다.

온라인 사기와 봇 공격은 비즈니스에 큰 도전을 제기합니다. 소매 업체는 봇과 싸우고, 은행은 전투 계정 인수 및 소셜 미디어 플랫폼이 사천자와 어려움을 겪고 있습니다. AI의 부상은이 문제를 악화시킨다

AI 에이전트는 마케팅에 혁명을 일으킬 준비가되어 있으며 이전 기술 변화의 영향을 능가 할 수 있습니다. 생성 AI의 상당한 발전을 나타내는이 에이전트는 Chatgpt와 같은 정보뿐만 아니라 Actio도 취합니다.

중요한 NBA 게임 4 결정에 대한 AI의 영향 두 가지 중추적 인 게임 4 NBA 매치업은 AI의 게임 변화 역할을 선보였습니다. 첫 번째로 덴버의 Nikola Jokic의 놓친 3 점은 Aaron Gordon의 마지막으로 골목길을 이끌었습니다. 소니의 매

전통적으로 전 세계적으로 재생 의학 전문 지식을 확장하여 광범위한 여행, 실습 교육 및 수년간의 멘토링을 요구했습니다. 이제 AI는이 환경을 변화시키고 지리적 한계를 극복하고 EN을 통한 진행 상황을 가속화하고 있습니다.

인텔은 제조 공정을 선도적 인 위치로 반환하기 위해 노력하고 있으며 팹 반도체 고객을 유치하여 팹에서 칩을 만들려고 노력하고 있습니다. 이를 위해 인텔은 프로세스의 경쟁력을 증명할뿐만 아니라 파트너가 친숙하고 성숙한 워크 플로우, 일관되고 신뢰할 수있는 방식으로 칩을 제조 할 수 있음을 보여주기 위해 업계에 대한 신뢰를 더 많이 구축해야합니다. 오늘 내가 듣는 모든 것은 인텔 이이 목표를 향해 나아가고 있다고 믿게 만듭니다. 새로운 CEO 인 탄 리바이 (Tan Libai)의 기조 연설이 그 날을 시작했다. Tan Libai는 간단하고 간결합니다. 그는 Intel의 Foundry Services에서 몇 가지 과제를 간략하게 설명하고 회사가 이러한 과제를 해결하고 향후 인텔의 파운드리 서비스를위한 성공적인 경로를 계획하기 위해 취한 조치를 취했습니다. Tan Libai는 고객을 더 많이 만들기 위해 인텔의 OEM 서비스가 구현되는 과정에 대해 이야기했습니다.

AI 위험과 관련된 점점 더 많은 문제를 해결하기 위해, 글로벌 특수 재보험 회사 인 Chaucer Group 및 Armilla AI는 TPL (Third-Party Liability) 보험 상품을 도입하기 위해 힘을 합쳤습니다. 이 정책은 비즈니스를 보호합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
