bskyvision RSS 태그 관리 글쓰기 방명록
2021-03-05 08:49:42
728x90

요즘 세이버메트릭스 관련해서 다시 읽고 있는 책이 있습니다. 바로, 벤저민 바우머와 앤드루 짐발리스트가 쓴 <세이버메트릭스 레볼루션>입니다. 

 

저자들이 데이터베이스 활용 능력을 강조하는 부분에서 "MLB에서 1000안타 이상을 친 선수 중에서 2루타보다 홈런을 더 많이 쳐낸 선수들이 몇 명일까?"라는 질문을 던집니다. 만약 데이터베이스를 다룰 줄 모르는 사람이라면, 통산 1000안타 이상 친 선수를 통계 사이트에서 모두 찾아낸 다음에, 2루타와 홈런 갯수를 비교해야 할 것이라고 말합니다. 하지만 데이터베이스를 다룰 줄 안다면, 간단한 코드(query, 쿼리)로 쉽게 알아낼 수 있다고 말합니다. 즉, 야구 데이터 분석가를 꿈꾸는 사람이라면 데이터베이스를 다룰 줄 아는 것이 매우 유리하다는 것입니다. 

 

저는 sqlite 레먼 데이터베이스에 쿼리를 날려서 위 질문의 답을 찾아보겠습니다. 우선, 2019년까지 1000안타 이상 친 선수가 몇 명인지 살펴보겠습니다. 이때 필요한 쿼리문은 다음과 같습니다. 

 

sqlite> select count(*) from (select sum(H) as H from batting group by playerID) where H >= 1000;

 

 

통산 1000안타 이상을 쳐낸 선수는 1341명입니다. 

 

이제 더 나아가서 1000안타 이상을 쳤으면서 2루타보다 홈런을 더 많이 쳐낸 선수의 숫자를 살펴보겠습니다. 

 

sqlite> select count(*) from (select sum(H) as H, sum(HR) as HR, sum("2B") as "2B" from batting group by playerID) where H >= 1000 and HR > "2B"; 

 

 

113명입니다. 일반적으로 2루타를 홈런보다 많이 치기 때문에, 여기에 속한 선수들은 조금 희귀한 선수들이죠. 그래서 그런지 1000안타를 친 1341명 중 10%도 안 됩니다. 

 

역시 코딩을 조금만 할 줄 알면, 시간을 많이 아낄 수 있습니다. 야구 데이터를 제공하는 웹사이트에서 이 결과를 알아내고자 했다면, 아마 최소 하루종일 여기에 매달려 있어야 했을 것입니다. 

 

bskyvision의 추천글

[세이버메트릭스] 레먼 데이터베이스에서 류현진 선수 MLB 기록 살펴보기(sqlite3)

[MariaDB] group by 사용 예제

댓글

방문해주신 모든 분들을 환영합니다.

* 글을 읽던 중에 궁금했던 부분은 질문해주세요.

* 칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.

* 최대한 답변 드리도록 노력하겠습니다.

* 욕설과 광고를 담은 댓글은 가차없이 삭제합니다.


  1. BlogIcon 꼬장스카이비전@2021.03.05 14:45 ~$ 면접질문으로 다음과 같이 질문이 나왔다.

    "MLB에서 1000안타 이상을 친 선수 중에서 2루타보다 홈런을 더 많이 쳐낸 선수들이 몇 명일까요?"

    실제 데이터를 검색할수 없는 조건이고, 당신이 알고있는 지식을 활용하여 대답해야한다면 어떻게 대답할 것인가?

    창의력 + 지식력 평가용 질문

    [댓글주소]  [수정/삭제]  [답글작성]
    • BlogIcon bskyvision@2021.03.05 15:15 신고 ~$ [답글]: 너라면 어떻게 대답할거야?ㅋㅋ 나는 이 데이터 보기 전에는 1000안타이상 친 선수 중에 홈런을 2루타보다 더 많이 친 선수는 없다고 예상했었거든. 아마 이대로 대답했을 듯 ㅋㅋ [댓글주소]  [수정/삭제]
  2. BlogIcon 꼬장스카이비전@2021.03.06 21:39 ~$ 관련된 예측을 하는 모델을 만든다고 했을때 홈런을 더 친 사람은 예측을 벗어나는 경우일거고, 야구 관련 예측 모델의 검정을 위한 유의수준 0.05 쯤 되니 전체가 1000명이라고 치면 50명쯤 될 것 같다

    라는 식으로 대답할듯 [댓글주소]  [수정/삭제]  [답글작성]
  3. BlogIcon 문베디드@2021.03.08 08:00 신고 ~$ 나는 아는게 이정도니까 ㅋㅋ 너는 더 그럴싸하게 할 수 있겠지 ㅋㅋ [댓글주소]  [수정/삭제]  [답글작성]
guest@이름 ~$
guest@패스워드 ~$
guest@홈페이지주소작성 ~$

guest@댓글작성 ~$




bskyvision. Designed by bskyvision.