역시 블로그에는 드립을 잔뜩 써줘야 속이 시원하지..
아직 초반이라 선 지키는거 조금 어색해 (2021년 05월 31일 글!)
3월 모의고사 채점하는 고3의 마음으로 맞춰보았습니다..
제가 지난 글에 포스팅했던 날씨, 요일, 홈구장에 따른 XGBoost 승부예측! 기억하시나요? 혹시, 정말 혹~시 안보셨던 분들을 위해 링크를 첨부합니다^_^ (https://hyeoz.tistory.com/31?category=965831)
K리그 주말 6경기에 대한 예측을 진행했는데, 주말이 지나 월요일이 된 오늘! 우리 애기…아니아니 제 xgb 모델이 얼마나 정확하게 예측했을지 한 번 확인해보겠습니다!
예측 모델 돌려서 나왔던 최종 결과물
실제 승부 결과를 데이터 프레임 맨 끝에 추가하여 적중한 팀에는 Correct!를, 그렇지 못한 팀에는 Wrong 을 달아주었습니당.틀려서 시무룩해 보인다면..맞습니다 ;(
이때 중간점검 느낌으로 정확도를 체크해보기 위해, Correct일 경우와 Wrong일 경우 반복문을 통해 하나씩 추가해주었습니당!
correct = 0
wrong = 0
for i in range(0,len(prediction)):
if prediction.iloc[i]['Prediction'] == prediction.iloc[i]['Real_result']:
prediction[i:i+1]['Accuracy'] = 'Correct!'
correct +=1
else:
prediction[i:i+1]['Accuracy'] = "Wrong"
wrong +=1
이렇게 반복문을 돌려주면, correct와 wrong의 갯수를 확인할 수 있습니다!
와! 75%의 정확도네요!
표본이 아주 작아서, 크게 신뢰할 수 있는 결과는 아니지만 제 예상보다 훨씬 높은 정확도를 보여서 아주 기특해요 ;) (우리 표본…작고 귀여워)
이보다 더 체계적인 정확도 확인을 위해, 추가로 Sklearn 패키지의 mean_squared_error를 사용하여 확인해보도록 합니다!
여기서 간단히 mean_squared_error를 설명하자면, 예측값과 실제값의 차이를 제곱하여 더한 후 평균 낸 값으로, 작을수록 좋은 모델이라고 할 수 있습니다! 각 모델별로 연속형 변수의 범위가 다르기때문에 절대적으로 어느 값이 좋은 값이라고 말할 수는 없지만, 범위에 따라 개인적으로 판단하면 될 것 같습니다.
값을 빼고, 제곱하는 계산과정을 다루는 측정이기 때문에, 일단 연속형 변수로 바꿔주어야 합니다! WIN은 3으로, DRAW는 1로, LOSE는 0으로 인덱싱 해줍니다. 컬럼 명은 result_R로 지정했습니다.
연속형 변수 result_R 생성
이렇게 연속형 변수가 생겼으면, 바로 성능 측정에 들어가보겠습니다!
from sklearn.metrics import mean_squared_error
mean_squared_error(prediction['result_R'],prediction['result_P'])
사용은 아주 간단해요! 패키지를 import 하고, 예측값과 실제값을 넣어주기만 하면 됩니다. 저는 예측값인 result_P와, 실제값인 result_R을 넣어주었어요! 이렇게 돌려보았더니 약 0.44 정도의 값이 나왔는데, 0~3까지의 범위를 가지고 있는 연속형 변수에서, 이정도면 꽤나 작은 값인 것…같죠?ㅎㅎ
너무 적은 input_variable 라서 사실 많이 걱정했는데, 이렇게 절반을 훨씬 넘는 팀의 승부를 정확히 예측해줘서 마음이 뿌듯합니다ㅎㅎ(건강하게만 자라다오-했던 자식이 공부까지 잘하는 느낌이네요..?)
가끔가다 글이 끝에 뚝 끊기는 느낌이 든다면 맞습니다...
회사 관련 글이 있어서 그냥 삭제하고 지우기때문입니다...
개가튼 회사였지 암~.~
'Dev > python' 카테고리의 다른 글
Pycaret.regression 같이 해봐요! (0) | 2022.08.10 |
---|---|
파란만장 pycaret 설치기 / pip install pycaret error / 2022 업데이트..! (0) | 2022.08.05 |
날씨, 요일, 경기장에 따라 XGBoost로 분석한 승부 예측 (0) | 2022.08.05 |
다시 돌아온 취준생활, 프로젝트 정리 (0) | 2021.10.28 |
추가! 나의 파이썬 공부기록 (0) | 2021.10.27 |