MLops

패스트캠퍼스 챌린지 37일차

Laftel 2022. 3. 1. 21:27
반응형

Store 로부터 훈련 데이터 추출하기

  • 훈련 데이터 추출
    • get_historical_features 로 데이터 추출
from datetime import datetime, timedelta
import pandas as pd

from feast import FeatureStore

# The entity dataframe is the dataframe we want to enrich with feature values
entity_df = pd.DataFrame.from_dict(
    {
        "driver_id": [1001, 1002, 1003],
        "label_driver_reported_satisfaction": [1, 5, 3], 
        "event_timestamp": [
            datetime.now() - timedelta(minutes=11),
            datetime.now() - timedelta(minutes=36),
            datetime.now() - timedelta(minutes=73),
        ],
    }
)

store = FeatureStore(repo_path=".")

training_df = store.get_historical_features(
    entity_df=entity_df,
    features=[
        "driver_hourly_stats:conv_rate",
        "driver_hourly_stats:acc_rate",
        "driver_hourly_stats:avg_daily_trips",
    ],
).to_df()

print("----- Feature schema -----\n")
print(training_df.info())

print()
print("----- Example features -----\n")
print(training_df.head())

Online Store 로 데이터를 적재하고 추론을 위한 Feature Vector 가져오기

  • Online Store 로 데이터 적재
    • Serving 을 하기 위해 materialize-incremental 명령어를 사용하여 가장 최근 실행된 materialize 이후의 모든 새로운 feature 값들을 serialization 시켜 준다.
from datetime import datetime
!feast materialize-incremental {datetime.now().isoformat()}

materialized features 확인

print("--- Data directory ---")
!ls data

import sqlite3
import pandas as pd
con = sqlite3.connect("data/online_store.db")
print("\n--- Schema of online store ---")
print(
    pd.read_sql_query(
        "SELECT * FROM feature_repo_driver_hourly_stats", con).columns.tolist())
con.close()

추론을 위한 Feature Vector 가져오기

get_online_features 로 데이터 추출

- get_online_features 로 데이터 추출
    
    ```python
    from pprint import pprint
    from feast import FeatureStore
    
    store = FeatureStore(repo_path=".")
    
    feature_vector = store.get_online_features(
        features=[
            "driver_hourly_stats:conv_rate",
            "driver_hourly_stats:acc_rate",
            "driver_hourly_stats:avg_daily_trips",
        ],
        entity_rows=[
            {"driver_id": 1004},
            {"driver_id": 1005},
        ],
    ).to_dict()
    
    pprint(feature_vector)
    ```

#직장인인강 #직장인자기계발 #패스트캠퍼스후기#온라인패키지:머신러닝서비스구축을위한실전MLOps#머신러닝서비스구축을위한실전MLOps온라인패키지Online.
https://bit.ly/37BpXiC

 

 

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 




반응형