Data
DACON - KBO 외국인 투수 스카우팅 최적화(모델 구축과 검증)
HC-Kang
2021. 8. 12. 09:36
이제 5장도 마지막이다. 다만 가장 중요하고, 긴 부분이 남았다.
앞서 정리한 자료들을 가지고 이제 어떤 투수가 가장 훌륭한 투수인지를 평가하고, 누구를 영입할지를 정해야 한다. 이를 위해 우리가 정리한 자료들을 살펴보면, 크게 MLB와 KBO에서의 경기 데이터와 투구가 분석되어있는 Statcast자료가 있다. 그런데 상식적으로, 경기 데이터는 아무래도 투수의 역량보다는 팀의 역량이 중요한 변수로 작용할 것이다. 그렇기 때문에 아마도 중점적으로 분석해야 할 데이터는 스탯캐스트 데이터일 것이다.
우승자분은 그중에서도 일단은 제구력을 가장 먼저 확인해 보는것이 좋을 것이라고 판단했다.
import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize = (10, 10))
sns.set_style('darkgrid')
sns.scatterplot(data = atKbo_11_18_StatCast.sort_values('pitch_name'),
x = 'plate_x',
y = 'plate_z',
hue = 'pitch_name',
alpha = 0.1)
plt.show()
보기좋은 그래프를 그리기 위해 seaborn과 matplotlib 라이브러리를 불러와준 후, '11~'18년의 스탯캐스트 데이터를 활용해서 해당 기간동안의 투구가 홈 플레이트를 지날 때 어느 부분을 통과했는지를 시각화 했다.
야구를 잘 알지는 못하지만, 신기하게도 확실히 구종에 따른 특징이 어느정도는 눈에 보이는 것 같다. 여기서 이제 약간의 코드를 추가해서 일정 구역을 표기해보도록 하자.
plt.figure(figsize = (10, 10))
sns.set_style('darkgrid')
sns.scatterplot(data = atKbo_11_18_StatCast.sort_values('pitch_name'),
x = 'plate_x',
y = 'plate_z',
hue = 'pitch_name',
alpha = 0.1)
plt.plot([-1, -1], [1.5, 3.5], 'black')
plt.plot([1, 1], [1.5, 3.5], 'black')
plt.plot([-1, 1], [1.5, 1.5], 'black')
plt.plot([-1, 1], [3.5, 3.5], 'black')
plt.show()
위 코드와 다른 부분은 동일한데, 일부 직선들이 추가된 것은 알 수 있다.
------------------------------------
이전까지 작성본이었는데 다른 프로젝트를 한다고 우선순위가 밀려서 우선 올려두고 나중에 마무리를 해야겠다..