import pandas as pd
self.prediction_data = pd.DataFrame({
'ocr_score': [...], # OCR 점수 데이터
'logo_score': [...], # 로고 탐지 점수 데이터
'image_score': [...], # 이미지 점수 데이터
# 필요한 다른 컬럼들...
})
먼저 각 점수가 데이터 프레임에 존재한다고 가정한다.
self.prediction_data['custom_tag'] = [[] for _ in range(len(self.prediction_data))]
데이터프레임에 새로운 컬럼인 'custom_tag'를 생성하고, 데이터프레임의 전체 row의 수만큼 list comprehension을 통해서 빈 리스트를 각 행에 생성해준다.
def classify_trademark_prediction_OCR(self):
if self.delphic_script_feature_exists:
for idx, row in self.prediction_data.iterrows():
if row['ocr_score'] > self.ocr_trademark_score and row['image_score'] > 40:
row['custom_tag'].append("AI-text in image")
iterrows()메서드가 반환하는 각 튜플을 순회한다. idx는 각 행의 인덱스를, row는 해당 행의 데이터를 나타내는 시리즈 객체를 받는다. idx가 있어서 각 행의 인덱스를 찾고, row는 해당 행의 데이터를 나타내는 시리즈 객체를 받는다.
이제 두 조건을 합쳐주면 더 쉽게 처리된다.
self.prediction_data['custom_tag'] = [[] for _ in range(len(self.prediction_data))]
for idx, row in self.prediction_data.iterrows():
if self.delphic_script_feature_exists and row['ocr_score'] > self.ocr_trademark_score and row['image_score'] > 40:
row['custom_tag'].append("AI-text in image")
if self.logo_model_exists and row['logo_score'] > self.logo_trademark_score and row['image_score'] > 40:
row['custom_tag'].append("AI-logo in image")
MLOps인프라와 도구 (Container) (0) | 2024.01.03 |
---|---|
ML LifeCycle (0) | 2023.12.27 |
Graph Data Model - AWS Neptune Graph DB (0) | 2023.12.06 |
Data Prep (Class Imbalance) (1) | 2023.12.06 |
[패스트 캠퍼스] 10개 프로젝트로 한 번에 끝내는 MLOps 파이프라인 구현 (실습4) (0) | 2023.12.04 |