포스트

KBO_VISION 프로젝트 소개

이 글은 GitHub 저장소 KBO_VISION를 바탕으로 프로젝트를 간단히 정리한 소개 글입니다.

KBO_VISION은 KBO 리그 경기 데이터와 투구 데이터를 수집하고, 이를 바탕으로 투구 패턴을 분석하고 다음 공의 구종과 위치를 예측하는 방향으로 개발 중인 프로젝트입니다.

단순히 기록을 모으는 수준이 아니라, 투구를 타석, 이닝, 경기 전체 흐름 안에서 해석하고 실제 예측 모델로 확장하는 것을 목표로 한다는 점이 이 프로젝트의 핵심입니다.

KBO_VISION에서 다루는 데이터

현재 README 기준으로 이 저장소는 아래 범위까지 데이터 기반 분석이 가능한 상태입니다.

  • 2024 KBO 정규시즌 전체
  • 2025 시즌 전체 범위 데이터
  • 2026-04-08 기준 최신 일정 및 일부 실시간 데이터

README에 정리된 규모를 보면, 이미 경기 수와 투구 수가 꽤 큰 수준까지 쌓여 있어서 단순 시각화가 아니라 실제 모델링과 패턴 분석으로 넘어갈 수 있는 기반이 갖춰져 있습니다.

프로젝트가 풀고 싶은 질문

KBO_VISION은 “투수가 다음 공으로 무엇을 던질까”를 맞히는 문제를 중심에 둡니다.

README에 적힌 핵심 질문은 대체로 아래 흐름으로 묶을 수 있습니다.

  • 특정 투수는 어떤 상황에서 어떤 구종을 선택하는가
  • 포수와 배터리 조합은 볼배합에 얼마나 영향을 주는가
  • 상대 타자의 성향과 약점 존은 실제 호출 패턴에 반영되는가
  • 초구, 볼카운트, 직전 구종, 주자 상황이 다음 선택을 얼마나 설명하는가

즉 이 프로젝트는 야구 기록을 단순히 저장하는 것이 아니라, 투구 선택을 설명 가능한 규칙과 예측 구조로 바꾸려는 시도라고 볼 수 있습니다.

현재 모델 방향

README에서 인상적이었던 부분은, 세부 구종을 한 번에 맞히는 단순 multiclass 접근보다 baseline prior를 먼저 두고 상황 정보로 보정하는 구조가 더 잘 작동한다는 점입니다.

이 방향은 실제 야구 데이터가 가지는 편향과 맥락성을 잘 반영합니다.
어떤 투수는 원래 특정 구종 비율이 높고, 경기 상황은 그 기본 분포를 조금씩 흔드는 방식으로 작동하기 때문에, baseline을 명시적으로 feature로 쓰는 방식이 더 현실적인 접근처럼 보입니다.

Sequence Roadmap

KBO_VISION의 다음 단계는 투구를 개별 이벤트가 아니라 시퀀스로 해석하는 것입니다.

README 기준으로는 아래와 같은 계층 구조가 제안되어 있습니다.

  • pitch_master: 1행 = 1투구
  • pa_sequence_table: 1행 = 1타석
  • inning_sequence_table: 1행 = 1이닝
  • game_sequence_table: 1행 = 1경기

특히 구종만이 아니라 위치 정보까지 함께 묶어서 pitch_seq, zone25_seq, pitch_zone_seq 형태로 저장하려는 점이 흥미롭습니다.
이 구조가 자리 잡으면, 단순 분류 문제를 넘어서 motif 분석, 거리 비교, 경기 운영 패턴 클러스터링 같은 분석으로 자연스럽게 확장할 수 있습니다.

개인적으로 KBO_VISION이 흥미로운 이유는, 스포츠 데이터를 다루는 재미와 실제 분석 파이프라인 설계가 같이 들어 있기 때문입니다.

데이터 수집, 전처리, feature 설계, baseline 비교, sequence schema 설계, motif 분석, 예측 모델 실험이 한 프로젝트 안에서 모두 이어지고 있어서, 결과보다 과정 자체를 기록하기에도 좋은 주제라고 생각합니다.

앞으로 이 블로그에서는 KBO_VISION의 구조, 분석 메모, 모델 실험 결과, 그리고 README에서 제시한 로드맵이 실제로 어떻게 구현되는지 조금씩 정리해 보려고 합니다.

아직은 제대로된 예측 모델을 만들었다기 보다 어떤 형식으로 데이터를 정규화하고 분석해야 하는가 여러 테스트를 진행중인 단계로

앞으로 더 많은 분석과 흥미로운 결과에 대해 기록해 보겠습니다.

감사합니다.

프로젝트 링크:

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

비공개 문의

공개 댓글과 별도로 남기고 싶은 내용은 문의 페이지를 이용해 주세요.

비공개 문의하기