[ZB 데이터스쿨 11기]13주차 학습노트

InSung-Na·2023년 4월 2일
0

Study Note

목록 보기
13/18
post-thumbnail

📌머신러닝 학습과제 야구 선수 연봉 예측

개요

  • 과거 야구 프로리그의 전설이라고 불리는 최동원이 기존의 실력으로 현역이었다면 어느 정도의 연봉을 받았을까?

목표

  • 2015년 ~ 2020년 최동원 선수의 연봉 예측

제한사항

  • 포지션이 투수인 데이터만 사용
  • 최동원의 롯데 시절인 1983년 ~ 1988년 데이터 사용
  • 최근년도를 2015년 ~ 2020년으로 정의하고 해당연도 데이터 사용

절차

  • 1) 데이터 수집 사이트 탐색
  • 2) 데이터 수집
  • 3) 데이터 전처리
  • 4) 데이터 모델링
  • 5) 최동원 연봉 예측

참고사이트

데이터출처


1) 데이터 수집 사이트 탐색

  • ChatGPT를 통해서 한국 프로야구 선수의 정보 사이트를 추천받는다

사용자 : 한국 프로야구 선수들의 연봉 사이트를 알려줘.
ChatGPT : 한국 프로야구 선수들의 연봉 정보를 알 수 있는 웹사이트가 여럿 있다.

    1. 한국야구위원회(KBO) 공식사이트
    • 연봉 정보를 비롯해 리그 내 선수와 팀에 대한 다양한 통계와 데이터를 제공
    1. Spotrac
    • KBO를 비롯한 다양한 프로 스포츠 리그 선수들의 계약 및 급여를 추적하고 분석하는 웹사이트
    • 웹사이트는 선수의 급여, 계약 기간 및 기타 관련 정보에 대한 데이터를 제공
    1. Baseball-Reference
    • KBO를 비롯한 전 세계 야구 선수에 대한 풍부한 데이터와 통계를 제공하는 또 다른 웹사이트
    • 모든 선수의 급여 정보가 제공되지 않을 수 있지만 웹 사이트는 일부 한국 야구 선수의 급여 정보를 제공
    1. Statiz
    • KBO를 중심으로 한 야구 통계 및 분석 전문 사이트
    • 웹사이트는 일부 선수의 급여 정보를 포함하여 선수 성과에 대한 데이터를 제공

위의 정보 중 2. Spotrac과 3. Baseball-Reference는 외국사이트이므로 배제

데이터 수집 사이트 선정

KBO

  • 해당 사이트에서는 1983년부터 선수명, 팀명, 평균자책점, 경기, 완투 등 정보를 얻을 수 있다.

Statiz

  • 년도별 선수들의 연봉을 알 수 있다. 단, 1997 이전의 데이터는 없다.

2) 데이터 수집

2-1) 1983년 ~ 1988년

  • KBO사이트에서 셀레니움을 통해 선수 경기 데이터 수집

2-2) 2015년 ~ 2020년

  • KBO사이트에서 셀레니움을 통해 선수 경기 데이터 수집
  • 참고사항 : 과거데이터외 최근데이터의 칼럼이 동일하지 않음

2-3) 2015년 ~ 2020년 연봉데이터

  • pd.read_html(url)을 활용해서 2015년~2020년 연봉데이터 수집
  • 참고사항 : statiz의 데이터는 년도별로 URL이 지정되어 있음

3) 데이터 전처리

3-1) 선수 데이터 통합

  • 1983년~1988년 데이터와 2015년~2020년 데이터의 칼럼이 다르므로 최신 데이터의 칼럼을 기준으로 데이터 통합
  • 연봉 Nan값은 0으로 채움

3-2) 칼럼 제거

  • '팀명'은 능력 중심의 회귀분석에 방해될 것으로 판단하여 제거
  • '이닝'은 수치적으로 표기하기 힘들 것으로 판단하여 제거
  • '평균자책점'의 자료형인 float로 통일

3-3) 중간점검

  • 1997년 미만으로 연봉데이터 없음
  • 1997년 이후 선수만 연봉데이터를 얻을 수 있음
  • 연봉데이터를 가지고 있는 2015~2020년 데이터만 학습데이터로 선정
  • 선형회귀 모델 학습 후 1983년 ~ 1988년 데이터로 연봉 예측

4) 모델 학습

4-1) 1차 : 활용가능한 모든 칼럼 사용

상관관계 확인

2015~2020년 예측-그래프

2015~2020년 예측-수치

array([107088.47066919,  54976.89841497,  87776.42874094,  63861.43372787,
       103368.90717145,  72123.04780289, 134803.32450465, 101228.72716234,
        70619.74460911,  73215.52639044, 117534.36940416,  28835.51151908,
        49240.97999959,  60125.02862199, 108341.62967017, 119381.86756884,
        50000.        ,  93857.21666141,  87996.98564853,  66376.72148488,
        79029.649173  , 106566.04578118,  76606.31173648, 102540.07153383,
        32692.54907672,  84608.40799629,  77717.76995121, 124108.82592246,
        49263.08210107, 142807.66656453,  94166.60332737, 123381.40471835,
        61432.48192027,  60883.25192367, 111724.65484062,  74742.05207874,
        54219.7897336 , 112297.84584109,  87597.33959396,  96330.95134117,
        87850.83755312,  32090.47588954,  95184.06025388,  55415.57589874,
        67353.8381946 , 100815.07207715,  84814.2904762 ,  66419.15580697,
       111518.5530393 ,  41686.66216084, 119138.54533886,  95867.27319179,
        37976.0851909 ])

1983~1988년 예측-수치

  • 정말 놀랍게도 연봉예측인데 음수가 존재
array([-2.28374867e+05, -1.59012900e+05, -3.24249655e+05,  4.39379687e+04,
       -2.16021215e+05,  1.66310322e+03,  6.38666449e+04, -9.97837792e+05,
       -2.67143686e+05,  1.19612434e+04, -1.65033596e+05, -2.29274304e+05,
       -2.17688027e+04, -2.03748106e+05,  3.90463380e+03, -4.79435493e+05,
       -6.14459687e+04,  4.93983953e+04,  5.41879257e+04, -2.36074500e+05,
        4.20244867e+04, -1.79899574e+05, -1.07021777e+05, -9.85151386e+04,
        6.78924997e+04, -6.89691714e+04, -2.25593248e+05, -1.15259254e+05,
        3.37679053e+04, -1.15229194e+04, -1.71171713e+06, -1.68874487e+05,
       -4.59300930e+05,  6.48042039e+04, -1.75069801e+04, -8.50175433e+04,
       -1.25530272e+05, -1.82075126e+04, -2.84454768e+05,  1.65499906e+04,
       -1.05415171e+05, -3.11483810e+05, -1.38098888e+05, -1.32489825e+05,
        3.85577012e+04, -2.13996336e+05, -5.99549423e+05, -8.91177353e+04,
       -1.16959719e+04, -5.58835607e+05, -4.41509848e+05, -5.59773146e+05,
       -1.26988880e+05, -1.26365635e+05,  1.97853389e+04,  2.27626464e+04,
       -6.06007239e+04,  1.20586923e+05, -1.22040036e+05, -3.56137436e+04,
        3.75206501e+04, -2.28055584e+05, -2.74717612e+05,  7.19350818e+04,
        3.24354966e+04, -1.16333141e+04, -4.43337546e+05, -1.09022799e+04,
       -6.93429968e+04, -1.81646679e+06, -4.06492593e+04,  1.56239797e+04,
       -1.12563985e+05, -1.37275149e+05, -5.27074987e+05, -1.36005884e+05,
       -1.94061284e+05, -2.63889260e+05,  6.25447191e+04, -4.89776170e+04,
       -1.79309529e+06,  8.17296961e+04, -1.56376671e+05, -4.85504184e+05,
       -8.42153840e+04, -1.27813215e+05,  4.56279086e+04, -2.07641045e+05,
        4.81708352e+04, -3.17979053e+05, -1.31086133e+06, -1.95582943e+05,
       -2.74265803e+05,  2.40501379e+04,  2.33921410e+04,  5.80338380e+04,
        4.78027724e+04,  8.51869912e+04,  1.21782506e+04, -2.85492876e+05,
...
       -6.79951956e+04, -8.10567196e+04, -6.45279072e+04, -7.58148141e+04,
        4.96645124e+04,  2.43578592e+03, -1.24771610e+05, -6.50486805e+04,
        5.99112558e+03, -1.37221855e+05, -6.96204383e+04, -8.08384170e+04,
       -4.21813098e+04, -1.71034039e+04, -1.94928391e+05, -4.74628410e+04,
       -6.30071407e+04,  8.78898642e+04, -1.33331931e+05])

최동원 연봉 예측

array([-165033.59561714, -225593.24829007, -441509.84793677,
         62544.71909179,    8445.25843952])

4-2) 2차 : 계수가 높은 칼럼만 활용

상관관계 확인

  • 연봉과 상관관계가 0.2이상인 칼럼은 경기, 승리, 피안타, 사구, 삼진 이다.

2015~2020년 예측-그래프

1983~1988년 예측-수치

array([ 38523.36820851, 201123.64886126,  29243.51472987,  35027.27705415,
        68030.91858418,  20844.78517238,  87953.77153886,  17063.53469514,
       120314.8602215 ,  69221.52221705,  83710.86296033,  41007.06021256,
        89323.97583971,  24489.31541743,  42057.77676689,  18204.84011079,
        33993.10995829,  51895.20036756,  44406.48958362,  16860.14328014,
        20836.74922841,  34209.40220606,  10940.88162989,   6796.32681638,
        61400.11961928, 105644.16496049, 143774.07709486,  42693.26799866,
        23057.72762287,  58621.73799008,  45193.73917015,  42502.59789874,
        67651.44717156,  52186.4846837 ,  47700.60812492,  82313.99191523,
         8212.16097009,  90462.4126704 ,  23352.83047054,  39321.85694793,
        30117.19444032, 116638.51297795,  26462.56401425,  30492.35938745,
        13322.57390208,  59605.62260526,  45892.58134778,   5853.42160219,
        44887.40486537,  35376.47054463, 103048.28713699, 109909.07108925,
        21794.60721205,  42861.4961554 ,  31810.70531282,  27380.20057016,
        59090.60334651, 122508.51069379,  14417.04872925,  27169.7955107 ,
        30782.88228349,  62194.56214899,  43818.78439864,  53639.78413768,
        28522.33090454,  11451.02069135,  11368.30972981,  54973.92564395,
        25549.77822449,  44865.04152075,  28733.5337126 ,  24357.16867592,
        27396.7321359 ,  18756.89561944,  53579.94685823,  53309.23149365,
       106698.57770703, 128937.69308977, 135327.05112947,  79784.02385886,
        30836.48889271,  78929.42992638,  44728.05092964,  20442.59456032,
        63606.70464492,  76891.50925017,  61006.07287427,  21145.59485172,
        77075.72532524,  32318.90949973,  38060.98435789,  34251.69617535,
        29308.57340022,  19038.41804433,  34350.13888914,  45488.59452039,
        44309.36551463,  50965.61596765,  23590.06821466,  29553.44206161,
...
       123814.35046889,  51317.33436949,  34008.04483499,  66650.7453256 ,
        36958.19136176,  36213.18301553,  29086.210157  ,  41027.27070139,
        25561.56973994,  66109.83784747,  11447.09586731,   4541.12220987,
        27283.75449468,  39158.80511479,  30340.59432467,  47932.74824828,
        20191.48931675,  54303.33357539,  24580.49644631])

최동원 연봉 예측

array([ 83710.86296033, 143774.07709486, 103048.28713699, 135327.05112947,
       114195.74895088])

0개의 댓글