[1주년 기념] 데이스쿨 최대 40% 할인 🎁
분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
import pandas as pd
import numpy as np
def sola_nmae(answer_df, submission_df):
submission = submission_df[submission_df['time'].isin(answer_df['time'])]
submission.index = range(submission.shape[0])
# 시간대별 총 발전량
sum_submission = submission.iloc[:,1:].sum(axis=1)
sum_answer = answer_df.iloc[:,1:].sum(axis=1)
# 발전소 발전용량
capacity = {
'dangjin_floating':1000, # 당진수상태양광 발전용량
'dangjin_warehouse':700, # 당진자재창고태양광 발전용량
'dangjin':1000, # 당진태양광 발전용량
'ulsan':500 # 울산태양광 발전용량
}
# 총 발전용량
total_capacity = np.sum(list(capacity.values()))
# 총 발전용량 절대오차
absolute_error = (sum_answer - sum_submission).abs()
# 발전용량으로 정규화
absolute_error /= total_capacity
# 총 발전용량의 10% 이상 발전한 데이터 인덱스 추출
target_idx = sum_answer[sum_answer >= total_capacity * 0.1].index
# NMAE(%)
nmae = 100 * absolute_error[target_idx].mean()
return nmae
* 동일인이 개인 또는 복수팀에 중복하여 등록 불가.
ex) 2021년 6월 11일 예측 -> 2021년 6월 10일 24:00까지 획득 가능한 데이터만 사용
(6월 10일 기상 관측 정보, 6월10일에 예보한 6월 11일 예보 등...)
대회 시작
팀 병합 마감
퍼블릭 평가 종료
프라이빗 평가 시작
프라이빗 평가 종료
코드 제출 마감
최종 순위 발표
import pandas as pd
import numpy as np
def sola_nmae(answer_df, submission_df):
submission = submission_df[submission_df['time'].isin(answer_df['time'])]
submission.index = range(submission.shape[0])
# 시간대별 총 발전량
sum_submission = submission.iloc[:,1:].sum(axis=1)
sum_answer = answer_df.iloc[:,1:].sum(axis=1)
# 발전소 발전용량
capacity = {
'dangjin_floating':1000, # 당진수상태양광 발전용량
'dangjin_warehouse':700, # 당진자재창고태양광 발전용량
'dangjin':1000, # 당진태양광 발전용량
'ulsan':500 # 울산태양광 발전용량
}
# 총 발전용량
total_capacity = np.sum(list(capacity.values()))
# 총 발전용량 절대오차
absolute_error = (sum_answer - sum_submission).abs()
# 발전용량으로 정규화
absolute_error /= total_capacity
# 총 발전용량의 10% 이상 발전한 데이터 인덱스 추출
target_idx = sum_answer[sum_answer >= total_capacity * 0.1].index
# NMAE(%)
nmae = 100 * absolute_error[target_idx].mean()
return nmae
* 동일인이 개인 또는 복수팀에 중복하여 등록 불가.
ex) 2021년 6월 11일 예측 -> 2021년 6월 10일 24:00까지 획득 가능한 데이터만 사용
(6월 10일 기상 관측 정보, 6월10일에 예보한 6월 11일 예보 등...)
04.07
대회 시작05.30
팀 병합 마감06.08
퍼블릭 평가 종료06.10
프라이빗 평가 시작07.09
프라이빗 평가 종료07.14
코드 제출 마감07.23
최종 순위 발표
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved