Open siddltkfkd opened 1 month ago
인텔리제이에서 test.py 실행시키면 이상치 redis에 넣을 수 있습니다.
outlier - main - find_outliers 메소드 get_qery의 '5m'을 수정해주시면 됩니다.
# 분단위 : m, 시간 단위 : h df = get_hourly_electricity(get_query('5m', place)) values = find_values(df)
outlier - main - find_values 메소드 주석 한 부분을 해제하고, if else문을 주석처리 하면 됩니다.
# 평일/주말로 계산 if datetime.now().weekday() < 6 : df_weekday = df[(pd.DatetimeIndex(df.ds).weekday < 5)] else : df_weekday = df[(pd.DatetimeIndex(df.ds).weekday > 4)] # 오늘 요일로 계산 # df_weekday = df[(pd.DatetimeIndex(df.ds).weekday == datetime.now().weekday())]
outlier - main - find_outlier 메소드 3을 다른 값으로 수정하시면 됩니다.(default : 1.5)
# 이상치 값 구하는 비율 min = q1-3*iqr max = q3+3*iqr
실행이 안된다면?
def run(id): df_places = sql.query(f'select place_name from places where organization_id={id}') outliers = find_outliers(df_places) redis.set("outliers", outliers)
인텔리제이에서 test.py 실행시키면 이상치 redis에 넣을 수 있습니다.
값 조정 방법
데이터 가져오는 주기 조정
outlier - main - find_outliers 메소드 get_qery의 '5m'을 수정해주시면 됩니다.
필터링 : 평일/주말 or 오늘 요일
outlier - main - find_values 메소드 주석 한 부분을 해제하고, if else문을 주석처리 하면 됩니다.
min, max 비율 조정
outlier - main - find_outlier 메소드 3을 다른 값으로 수정하시면 됩니다.(default : 1.5)