nhnacademy-aiot1-5 / docs

프로젝트 관련 문서 저장소입니다.
MIT License
0 stars 0 forks source link

이상치 파일 실행법 #90

Open siddltkfkd opened 1 month ago

siddltkfkd commented 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)

필터링 : 평일/주말 or 오늘 요일

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())]

min, max 비율 조정

outlier - main - find_outlier 메소드 3을 다른 값으로 수정하시면 됩니다.(default : 1.5)

    # 이상치 값 구하는 비율
    min = q1-3*iqr
    max = q3+3*iqr
siddltkfkd commented 1 month ago

실행이 안된다면?

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)