The Journal of The Institute of Internet, Broadcasting and Communication (IIBC) Vol. 20, No. 4, pp , Aug. 31, pissn , eissn 2289

Similar documents
Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: * A S

인문사회과학기술융합학회

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

DBPIA-NURIMEDIA

10 이지훈KICS hwp

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: : * Research Subject

Research subject change trend analysis of Journal of Educational Information and Media Studies : Network text analysis of the last 20 years * The obje

歯1.PDF

DBPIA-NURIMEDIA

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

Journal of Educational Innovation Research 2017, Vol. 27, No. 2, pp DOI: : Researc

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA

09È«¼®¿µ 5~152s

디지털포렌식학회 논문양식

Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: * A Research Trend

09오충원(613~623)

MySQL-.. 1

서론 34 2

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

1217 WebTrafMon II

DBPIA-NURIMEDIA

°í¼®ÁÖ Ãâ·Â

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: * Suggestions of Ways

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

<352E20BAAFBCF6BCB1C5C320B1E2B9FDC0BB20C0CCBFEBC7D120C7D1B1B920C7C1B7CEBEDFB1B8C0C720B5E6C1A1B0FA20BDC7C1A120BCB3B8ED D2DB1E8C7F5C1D62E687770>

<B8F1C2F72E687770>

04_이근원_21~27.hwp

Journal of Educational Innovation Research 2017, Vol. 27, No. 1, pp DOI: * The

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

Journal of Educational Innovation Research 2017, Vol. 27, No. 3, pp DOI: (NCS) Method of Con

09권오설_ok.hwp

DBPIA-NURIMEDIA

À±½Â¿í Ãâ·Â

30이지은.hwp


09구자용(489~500)

03-서연옥.hwp

PowerPoint 프레젠테이션

DBPIA-NURIMEDIA

20(53?)_???_O2O(Online to Offline)??? ???? ??.hwp

한국성인에서초기황반변성질환과 연관된위험요인연구

00내지1번2번

DBPIA-NURIMEDIA

03이경미(237~248)ok

R을 이용한 텍스트 감정분석

Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: A Study on Organizi

서현수

212 영상기술연구 세대라고 할 수 있다. 이 뉴 뉴웨이브 세대란 60년대 일본의 영화사에서 과거세대와는 단 절된 뉴웨이브 의 흐름이 있었는데 오늘날의 뉴웨이브 세대를 뛰어넘는다는 의미에서 뉴 뉴웨이브 세대로 불린다. 뉴 뉴웨이브 세대 감독들의 경향은 개인적이고 자유분

Journal of Educational Innovation Research 2017, Vol. 27, No. 2, pp DOI: * Review of Research

#Ȳ¿ë¼®

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Dec.; 27(12),

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

#유한표지F

8월-이윤희-1.indd

Web Scraper in 30 Minutes 강철

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion

Journal of Educational Innovation Research 2017, Vol. 27, No. 4, pp DOI: A Study on the Opti

433대지05박창용

170918_hjk_datayanolja_v1.0.1.

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: * A Analysis of


14.531~539(08-037).fm

강의지침서 작성 양식


DBPIA-NURIMEDIA

?

1. KT 올레스퀘어 미디어파사드 콘텐츠 개발.hwp

¼º¿øÁø Ãâ·Â-1

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

???? 1

160322_ADOP 상품 소개서_1.0

DBPIA-NURIMEDIA

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

Microsoft Word - Westpac Korean Handouts.doc

쉽게 풀어쓴 C 프로그래밊

DBMS & SQL Server Installation Database Laboratory

0125_ 워크샵 발표자료_완성.key

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

07변성우_ok.hwp


DBPIA-NURIMEDIA

10(3)-09.fm

<30312DC1A4BAB8C5EBBDC5C7E0C1A4B9D7C1A4C3A52DC1A4BFB5C3B62E687770>

Can032.hwp

歯3이화진

빅데이터_DAY key

Microsoft Word - 1-차우창.doc

WRIEHFIDWQWF.hwp

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

38이성식,안상락.hwp

빅데이터분산컴퓨팅-5-수정

Analyses the Contents of Points per a Game and the Difference among Weight Categories after the Revision of Greco-Roman Style Wrestling Rules Han-bong

패션 전문가 293명 대상 앙케트+전문기자단 선정 Fashionbiz CEO Managing Director Creative Director Independent Designer

<5B D B3E220C1A634B1C720C1A632C8A320B3EDB9AEC1F628C3D6C1BE292E687770>

인문사회과학기술융합학회


07.045~051(D04_신상욱).fm

01이정훈(113~127)ok

< D B4D9C3CAC1A120BCD2C7C1C6AEC4DCC5C3C6AEB7BBC1EEC0C720B3EBBEC8C0C720BDC3B7C2BAB8C1A4BFA120B4EBC7D120C0AFBFEBBCBA20C6F2B0A E687770>

Transcription:

https://doi.org/10.7236/jiibc.2020.20.4.177 JIIBC 2020-4-25 빅데이터기반프로야구데이터분석 신동진 *, 황승연 **, 이돈희 ***, 문진용 ****, 김정준 ***** Dong-Jin Shin *, Seung-Yeon Hwang **, Don-Hee Lee ***, Jin-Yong Moon ****, Jeong-Joon Kim ***** 요약최근프로야구의스포츠인기는나날이증가하고있으며, 다양한포털사이트에서프로야구와관련된데이터를소유하고있다. 프로야구의인기를증가시키고, 관련된데이터를활용한분석을통해결과를만들어낸다면프로야구를접하는데이점이있다. 본논문에서는프로야구와관련된데이터를활용하여 3가지분석을시행하였다. 따라서본논문에서는특정사이트에서조회된특정프로야구단과관련된기사개수와트렌드를알아보고, 프로야구성적과관중수의상관관계에대해서분석하였다. 마지막으로 2016, 2017년도의프로야구타자타율성적과출루율성적에대한현황분석을실시하였다. Abstract Recently, the popularity of professional baseball is increasing day by day, and it has data related to professional baseball on various portal sites. If you want to increase the popularity of professional baseball and produce results through analysis using relevant data, you have the advantage of accessing professional baseball. In this paper, three analyzes were conducted using data related to professional baseball. Therefore, in this paper, the trend related to the number of articles retrieved from a specific site of a professional baseball team was examined, and the correlation between professional baseball scores and the number of spectators was analyzed. Finally, we analyzed the current status of professional baseball batting average and on base percentage in 2016 and 2017. Key Words : Big Data, KBO Statistics Data, Team Trend Analysis, Team Record Analysis Ⅰ. 서론 최근대한민국에서는가장핫한스포츠로프로야구가뽑히고있으며아래의표를보면확실히야구의인기는다른스포츠들을압도하고있다. 매년프로야구팬들이증 가하고있지만, 그들모두가프로야구에대해서잘아는것은아니다. 어떤스포츠도마찬가지겠지만, 그스포츠에대해잘아는팬층과야구를모르는팬층간의괴리감은있기마련이다. 물론이러한괴리감이크게영향을끼치지않을수도있지만, 처음프로야구를접하거나접하 * 준회원, 안양대학교컴퓨터공학과박사과정 ** 준회원, 안양대학교컴퓨터공학과석사과정 *** 정회원, SK 주식회사수석 **** 정회원, 강동대학교방송영상미디어과교수 ***** 정회원, 안양대학교 ICT융합학부소프트웨어전공교수접수일자 2020년 4월 3일, 수정완료 2020년 6월 12일게재확정일자 2020년 8월 7일 Received: 3 April, 2020 / Revised: 12 June, 2020 / Accepted: 7 August, 2020 ***** Corresponding Author: jjkim@anyang.ac.kr Dept. ICT Convergence Engineering, Anyang University, Korea. - 177 -

려고하는사람들한테는큰영향을끼칠수도있다. 따라서, 이러한괴리감을조금이나마없애고, 자신이응원하고싶은팀을선택하는데보탬이돼서초심자가더욱프로야구를즐길수있는환경이필요하다. 프로야구특정구단의트렌드를분석하기위해서필요한데이터의수집은크롤링과셀레늄을이용하여기사의본문과기사개수를측정하며, 하이브를이용하여불필요한단어를필터링하고, R 프로그래밍을통해그래프로표현한다 [1]. 프로야구성적과관중수의관계를분석하기위해서필요한데이터의수집은 KBO 사이트를참고한다. 관중및성적데이터란연도별각프로야구구단들의관중수및성적, 또는월별각프로야구구단들의관중수및성적을나타낸다 [2]. 프로야구타율성적과출루율성적을분석하기위해서필요한데이터는 Betman 공식사이트를이용하여수집하며, R프로그래밍을통해그래프로표현하였다 [3]. 본논문의전체구성은다음과같다. 2장의관련기술을소개하고 3장에서는사용하는기술을바탕으로데이터와주요기술코드를소개하고, 4장에서분석된결과를보여주며, 5장결론을기술한다. Ⅱ. 관련기술 1. 빅데이터 (Big Data) 4차산업혁명의기술이발전하면서다양한종류의데이터를포함하는빅데이터가떠오르고있다. 정형, 반정형, 비정형데이터와같은예전에보관만되어있는수많은데이터가다양한프로그램이나소프트웨어에의해서분석을하면, 유의미한결과를나타낼수있다 [4-5]. 초기에는 3V라고정의되어 Volume, Velocity, Variety 순으로크기, 속도, 다양성의의미를많이사용되었지만, 최근기술과데이터의발전으로인해 5V로정의되어 Value, Veracity로가치와정확성의의미가추가되었다. 2. 크롤링무수히많은웹사이트에저장및개시되어있는뉴스기사나문서를수집하여검색대상의 Text 문서를수집하는기술이다. 대표적으로 BeautifulSoup 라이브러리를사용하며, 웹사이트의태그를조작하여수집된다. 스파이더 (Spider), 봇 (Bot), 지능에이전트라고도불리며, 방대한자료를검색하는특징은있으나역이용하여순위를조작하거나검색을피할수있는단점이존재하지만, 범용성이좋아네이버, 구글등다양한서비스를제공하는업체에서도빼놓을수없는기술이다. 3. 셀레늄셀레늄 (Selenium) 은웹애플리케이션테스트를위한포터블프레임워크다. 셀레늄은테스트스크립트언어를학습할필요없이기능테스트를만들기위한플레이백도구를제공한다. ( 셀레늄 IDE) C 샤프, 그루비, 자바, 펄, PHP, 파이썬, 루비, 스칼라등수많은유명프로그래밍언어들에서테스트를작성하기위한테스트도메인특화언어 (Selenese) 를제공한다. 4. 하이브하이브는 Apache 에서개발한 SQL 형식의병렬처리데이터베이스를의미한다. 하둡에저장되어있는데이터를 Map-Reduce 를직접구현하여데이터를분석하기엔개발능력과경험이필요하기때문에이를이해하고구현하는시간과노력을줄이고자개발되었다. HiveQL이라고불리는 SQL 형식의문법을사용하기때문에기존에사용자들이편하게사용할수있으며, 하둡을기반으로동작하기때문에하둡이설치가되어있어야한다 [6-7]. 5. R 프로그래밍 1993년오클랜드대학에서통계분석과결과로그래프를표현하기위해개발된인터프리터프로그래밍언어이다. R 프로그래밍은오픈소스로이루어져있기때문에범용성이넓어사용자가편리하게사용할수있으며, 수많은통계관련패키지가존재하기때문에편리하게사용할수있다. 최근에는웹어플리케이션개발프레임워크인 Shiny 의발전으로통계또는머신러닝과관련된모델을웹과연동하여표현할수있기때문에사용자가시각적으로느낄수있는분석프로그램중에많이활용되고있다. Ⅲ. 데이터수집및처리 이번장에서는크롤링및셀레늄주요코드를소개하 - 178 -

고, 분석에사용된데이터소개와처리과정에대하여기술한다. 그림 1은특정사이트의뉴스기사를수집하는크롤링과관련된코드를보여준다. 1. 특정프로야구단기사데이터수집및처리 그림 2는구글사이트에서제공하는특정프로야구단의트렌드관련 CSV 파일을다운로드받기위한핵심코드를의미한다. Chrome에 WebDriver를설치하여구글트렌드와관련된데이터를수집하였다. from bs4 import BeautifulSoup def get_text(url, output_file): source_code_from_url = urllib.request.urlopen(url) soup = BeautifulSoup(source_code_from_url, 'lxml', from_encoding='utf-8') content_of_article = soup.select('div.article_txt') for item in content_of_article: string_item = str(item.find_all(text=true)) output_file.write(string_item) for title in soup.find_all('a', {'class': "go_naver"}): now += str(title['href']) source_code_from_sub = urllib.request.urlopen(title['href']) soup_sub = BeautifulSoup(source_code_from_sub, 'lxml', from_encoding='utf-8') content = soup_sub.find_all('div',{"id": "newsendcontents"}) 그림 3. 크롤링실행결과 Fig. 3. Crawling execution reseult 그림 3은그림1의데이터를이용하여크롤링을실행한결과를보여준다. 특정프로야구단에대해관련된기사를계속다운로드받게된다. shutil.copy('c:/users/ihc/downloads/multitimeline.csv', SAVE_FILE_PATH + /' + keyword) 그림 1. 데이터수집을위한크롤링코드 Fig. 1. Crawling code for data collection BeautifulSoup 라이브러리를이용하여데이터를수집하였으며, BeatifulSoup 라이브러리는 HTML에서데이터를추출하고, 구문분석된페이지에대한구문분석트리를작성하기때문에웹스크래핑에유용하다. 라이브러리아래코드는크롤링에핵심적인코드를설명하며, 페이지를변수에저장하고해당페이지에포함된모든기사의주소를모두가져오고, 기사본문과 URL은파일입출력을통해저장한다. 페이지검색은마지막페이지변수를통해마지막페이지가나올때까지계속반복해서돌리며, 마지막페이지에도달했다면스크랩작업을중지한다. 마지막으로수집된데이터를로컬데스크탑에저장하기위해코드를추가하여크롤링을실행하였다. def getcsv(teams, keyword, startdate, enddate): print('\n------------------' + keyword + ' Google Trends Data Download Started!-------------------') binary = 'C:/Users/ihc/AppData/Local/Programs/Python/Python36-3 2/Lib/site-packages/selenium/webdriver/chrome/chromedri ver.exe' driver = webdriver.chrome(binary) #driver = webdriver.firefox() 그림 2. 데이터수집을위한셀레늄코드 Fig. 2. Selenium code for data collection 그림 4. 크롤링을통해수집된특정프로야구단기사 Fig. 4. Certain professional baseball articles through crawling 크롤링과정을통해수집된데이터의모습을보여준다. 그림3의결과이며, 특정프로야구단을선택해서크롤링과셀레늄을하였으며, 수집된기사의년도는 2012년도부터 2017년도까지데이터를수집되었다. 그림 5는크롤링과셀레늄을통해수집된기사데이터의처리하는하이브의주요코드를보여준다. 하이브는하둡위에서동작하며, 병렬처리를하기때문에일반 DBMS에비해서빠른속도로처리가가능하다. - 179 -

Create table word(keyword string, count int) row format delimited fields terminated by \t lines terminated by \n ; load data local input /mnt/share/crawling/result/특정프로야구단/part-r-00000 overwrite into table word; insert overwrite local directory /mnt/share/crawling/result/특정프로야구단/lasall_data row format delimited fields terminated by \t\ select * from word where keyword not in ( 수, 있다, 는, 한, 있는, 첫, 중, 더, 큰, 그, 또, 될, 하지만, 그림 7. 데이터 처리를 완료한 모습 Fig. 7. Data processing completed 그림 5. 데이터 처리를 위한 하이브 코드 Fig. 5. Hive code for data processing word 테이블을 생성하고, 키워드를 저장할 컬럼, 그 리고 기사의 개수를 확인할 수 있는 카운트 컬럼을 생성 한다. 생성 후 수집되어 저장된 데이터를 테이블에 입력 하고, 탭을 기준으로 기사 데이터를 저장한다. 마지막에 select 구문은 단어 필터링을 위한 수, 있다, 는 과 같 3. 프로야구 타자 타율과 출루율 성적 수집 및 처리 프로야구 타자 타율과 출루율 성적 데이터를 수집하기 위해서 Batman 사s이트에서 데이터를 추출하였으며, 데 이터를 수집한 방법과 처리한 방법을 소개한다. 은 불용어를 포함 시키지 않기 위한 구문이다. 2. 프로야구 성적과 관중 데이터 수집 및 처리 프로야구 성적과 관중 수 데이터를 수집하기 위해서 KBO 사이트에서 데이터를 추출하였으며, 데이터를 수집 한 방법과 처리한 방법을 소개한다. 그림 6은 프로야구 성적과 관중 수 데이터를 수집하기 위해서 KBO 사이트에서 보유하고 있는 년도별, 월별, 구 단별 성적 데이터의 모습을 보여준다. 데이터 수집이 완 료된 후 그림 7은 KBO 사이트에서 추출한 데이터를 CSV 파일 형태로 변환 후 액셀을 이용하여 데이터를 정 형화하여 처리한 모습을 보여준다. 그림 6. KBO 사이트 데이터 현황 Fig. 6. KBO site data status 그림 8. Batman 사이트 데이터 현황 Fig. 8. Batman site data status 그림 9 CSV형태로 데이터를 변환한 모습 Fig. 9. Data converted into CSV format - 180 -

그림 8은프로야구성적과관중수데이터를수집하기위해서 Batman사이트에서보유하고있는데이터의형식을보여준다. 타율을기준으로정렬되어있으며, 관련된선수의선수명과팀명, 타율, 출루율등모습을보여준다. 그림 9는분석에필요한데이터를 CSV형태로변환한모습을보여주며, 이중에서타율과출루율컬럼을활용한다. 그림 11을보면 2012년중반부터 2017년도초반까지의특정프로야구단에관련된기사빈도수를보여주며, 2013년후반부에높은빈도의기사가검출된것을볼수있다. 2013년도에관련된특정프로야구단의이슈를확인해보니논문에언급하기어렵지만, 관련된이슈가많이올라온것을확인할수있었다. Ⅳ. 분석결과 본장에서는앞서수집하고처리한데이터의분석그래프를보여주며, 분석결과의순서는특정프로야구단의기사관련분석, 프로야구성적과관중수관계분석, 타자타율과출루율성적분석순으로진행된다. 1. 특정프로야구단기사분석 tbl <- read.csv("graphdata.csv") tbl plot(tbl$ 검색. 횟수, type="l", col="navy", lwd=3, ylim=c(0,110), axes=false, xlab="day", ylab="search", font.lab=2, font.lab=2) axis(1, at=1:260, lab=tbl$ 날짜 ) axis(2, ylim=c(0,80000)) title(main="doosan BEARS TREND", col.main="dark slate gray", font.main=10, cex.main=3) 그림 10. 특정프로야구단기사빈도코드 Fig. 10. Specific professional baseball article frequency code 그림 10은특정프로야구단의기사에관련된빈도가얼마나나왔는지분석코드를보여준다. 처리가완료된 csv파일을 tbl 변수에불러온뒤 plot 함수로그래프로표현하였다. 분석결과는그림 11과같다. library(konlp) library(wordcloud) f <- file("sub2016-10-16~2016-10-30.txt", encoding = "UTF-8",blocking=F) txtlines <- readlines(f) nouns <- sapply(txtlines,extractnoun,use.names=f) head(unlist(nouns), 20) write(unlist(nouns),"sub2016-10-16~2016-10-30.txt") revised <- read.table("sub2016-10-16~2016-10-30.txt") nrow(revised) wordcount <- table(revised) length(wordcount) head(sort(wordcount, decreasing=t),10) library(rcolorbrewer) pal <- brewer.pal(9,"set1") wordcloud(names(wordcount),freq=wordcount,scale=c(5,1),rot. per=0.25,min.freq=1,random.order=f,random.color=t,colors= pal) 그림 12. 특정프로야구단워드클라우드코드 Fig. 12. Specific professional baseball wordcloud code 그림 12는특정프로야구단의워드클라우드그래프와관련된코드의모습을보여준다. KoNLP 형태소분석과표현하기위한 wordcloud 패키지를설치하고, f 변수에수집된기사를삽입한후한줄씩텍스트라인으로파일을읽어들인다. 원본파일을복제본으로두고, RColorBrewer 패키지를설치하여적용한후 wordcloud함수를이용하여그래프로출력한다. 그림 11. 특정프로야구단기사빈도그래프결과 Fig. 11. Specific professional baseball article frequency graph results 그림 13. 특정프로야구단워드클라우드그래프결과 Fig. 13. Specific professional baseball wordcloud graph results - 181 -

그림 13은그림 12의코드를이용하여특정프로야구단의기사를워드클라우드그래프로출력한결과를보여준다. 특정프로야구단의구장이름과한국시리즈와관련되어있는것을확인할수있으며, 그외관련된주요키워드를볼수있다. 2. 프로야구성적과관중수분석 mat = matrix(nrow=12, ncol=11) mat <- read.csv( count.csv, head=true) for(j in 2:12){ for(i in 1:11){ mat[i, j-1] = (count[i,j]-count[i+1,j])/count[i+1,j] * 100 } } Write1.csv(mat, mat.csv, row.names=ture) mat2 = matrix(nrow=12, ncol=11) mat <- read.csv( coun2t.csv, head=true) for(j in 2:12){ for(i in 1:11){ mat[i, j-1] = (count[i,j]-count[i+1,j])/count[i+1,j] * 100 } } Write2.csv(mat2, ma2t.csv, row.names=ture) 그림 14. 년도별및월별관중증감률계산코드 Fig. 14. Year and Monthly Audience Change Calculation Code 그림 14는구단의년도별관중수와월별관중수를 R에로드하여메모리에업로드하고, 년도별및원별로구단관중의증감률을계산한코드이다. 계산후 Write1.csv 에는년도별관중수의증감률이결과로나오고, Write2.csv 에는월별관중수의증감률을결과로가지고있는파일이다. 그림 15는특정프로야구단의년도별순위를그래프로나타내기위한코드를보여준다. rank_lotte 변수에특정프로야구단의년도별순위데이터를대입한후 barplot 함수를이용한코드이다. 그림 16. 특정프로야구단년도별순위그래프 Fig. 16. Specific professional baseball annual ranking graph 그림 16은코드에따른결과그래프를의미한다. 특정프로야구단의년도별순위가어떻게구성되었는지확인할수있다. 후반부연도에낮은등수를기록한것을볼수있다. v1 <- c(mat[1]) plot(v1,type='o', col='red', ylim=c(-50,100), axes=false, ann=false) axis(1,at=1:9, lab=c("08","09","10","11","12","13","14","15","16")) axis(2,ylim=c(0,10)) title(main=" 롯데 ",col.main="blue",font.main=4) title(xlab=" 연도 ", col.lab="black") title(ylab=" 관중증감률 ", col.lab="black") 그림 17. 특정프로야구단년도별관중증감률코드 Fig. 17. Specific professional baseball annual crowd code rank_lotte <- read.csv("rank_lotte.csv", head=true) rank_lotte barplot(rank_lotte,beside=t,names=c("08","09","10","11","12"," 13","14","15","16"),col=c("red","green","yellow","blue","purple"," gray","pink","brown","orange")) title(main=" 롯데 ",col.main="blue",font.main=4) title(xlab=" 연도 ", col.lab="black") title(ylab=" 순위 ", col.lab="black") 그림 15. 특정프로야구단년도별순위코드 Fig. 15. Specific professional baseball annual ranking code 그림 18. 특정프로야구단년도별관중증감률그래프 Fig. 18. Specific professional baseball annual crowd growth graph - 182 -

그림 17는특정프로야구단의년도별관중증감률을그래프로나타내기위한코드를보여준다. 그림 14에서계산한증감률의 mat 변수를불러와 plot 함수이용하여그래프로표현한코드이다. 그림 18은코드에따른결과그래프를의미한다. 특정프로야구단의년도별순위가어떻게구성되었는지확인할수있다. 2010년도, 2013년도에관중이급격히감소한것을볼수있으며, 2014 2016년도의순위가낮지만, 관중의증감률은변화가없는걸로보아즉, 년도별순위와관중수의결과와는상관없는것을확인할수있다. 을볼수있고, 관중수증감률은 6월, 7월, 9월, 10월에많이감소한것을확인할수있다. 3. 프로야구타자타율과출루율성적분석 KBO16 <- read.csv("16batting.cvs", header=t) KBO17 <- read.csv("17batting.cvs", header= T) f1 <- data.frame(c=factor(sample(rep(kbo16$batavg)))) t1 <- table(f1$c) barplot((sort(t1,decreasing = TRUE)[1:10]),xlab=" 선수이름 ", ylab=" 타율 ", col="lightgreen", border="white", main = "TOP") barplot((sort(t1,decreasing = TRUE)[1:10]),xlab=" 선수이름 ", ylab=" 타율 ", col="lightgreen", border="white", main = "TOP") 그림 21. 2016, 2017 년도 KBO 타자타율성적코드 Fig. 21. KBO hitter s batting average code for 2016, 2017 years 그림 19. 특정프로야구단월별순위그래프 Fig. 19. Specific professional baseball monthly ranking graph 그림 22. 2016 년도 KBO 타자타율성적그래프 Fig. 22. KBO hitter s batting average graph for 2016 years 그림 20. 특정프로야구단월별관중증감룰그래프 Fig. 20. Specific professional baseball monthly crowd growth graph 그림 19와그림 20은특정프로야구단의월별순위그래프와관중증감률그래프를보여준다. 세부코드는년도별그래프를그리기위한코드에서데이터만변경하였기때문에코드는생략하였다. 특정프로야구단의월별순위와월별관중의증감률을확인하면, 5월, 8월, 9월, 10월에낮은등수를기록한것 그림 23. 2017 년도 KBO 타자타율성적그래프 Fig. 23. KBO hitter s batting average graph for 2017 years 그림 21은 2016년도, 2017년도의타자타율성적을분석하기위해사용한코드의모습을보여주며, KBO16, KBO17 변수에데이터를읽고, t1 변수에데이터프레임을구성한후 barplot 함수로그래프로표현하였다. - 183 -

그림 22와그림 23은 2016년도, 2017년도 KBO 타자의타율성적을그래프로보여준다. 2016년도에는최형우, 김태균순으로타율성적이좋고, 2017년도에는김선빈, 서건창순으로타율성적이좋았다. 자의출루율성적을그래프로보여준다. 2016년도에는김태균, 최형우순으로타율성적이좋고, 2017년도에는최형우, 서건창순으로타율성적이좋았다. KBO16_2 <- read.csv("16obp.csv", header=t) KBO17_2 <- read.csv("17obp.csv", header= T) f2<- data.frame(c=factor(sample(rep(kbo16$obp))) t2 <- table(f1$c) barplot((sort(t2,decreasing = TRUE)[1:10]),xlab=" 선수이름 ", ylab="obp", col="lightgreen", border="white", main = "OBP") barplot((sort(t2,decreasing = TRUE)[1:10]),xlab=" 선수이름 ", ylab="obp", col="lightgreen", border="white", main = "OBP") 그림 24. 2016, 2017 년도 KBO 타자출루율 (OBP) 성적코드 Fig. 24. KBO hitter s OBP code for 2016, 2017 years 그림 25. 2016 년도 KBO 타자출루율 (OBP) 성적그래프 Fig. 25. KBO hitter s OBP graph for 2016 years Ⅴ. 결론 본논문에서는프로야구에서생성되는데이터를이용하여특정프로야구단과관련된기사분석, 순위와관중률분석, 타자의타율및출루율분석연구를수행하였다. 다양한데이터가존재하지만, 직접데이터를수집하는방법을사용하기위해크롤링및셀레늄기법을사용하였고, 다른데이터는외부포탈사이트에존재하는데이터를사용하였다. 데이터처리에는 Hive-QL을지원하는하이브를사용하여정제하였으며, 직접코딩이어려운부분은액셀프로그램을이용하여데이터를정형화하였다. 분석결과로는특정프로야구단의기사빈도횟수와어떤단어가가장많이이슈되고있는지알아보았으며, 야구단의순위는관중률의증가및감소에는영향이없는것으로확인되었다. 향후연구과제로는트렌드를정확하게분석하기위해서 SNS에서사람들이작성하는글과댓글을같이크롤링하여감정분석을할예정이며, 타율과출루율의상관관계를추가로분석할예정이다. References [1] Crawling & Selenium Tutorial Reference Site, http://www.marinamele.com/selenium-tutorial-web-s craping-with-selenium-and-python [2] KBO Ranking & Crowd Growth Reference Site, https://www.koreabaseball.com/record/player/hitter Basic [3] Betman Batting Average & OBP Reference Site, http://www.betman.co.kr/sportsmain.so?method=inqui remain&item=bs&fromcode=top 그림 26. 2017 년도 KBO 타자출루율 (OBP) 성적그래프 Fig. 26. KBO hitter s OBP graph for 2017 years 그림 25와그림 26은 2016년도, 2017년도의타자출루율성적을분석하기위해사용한코드의모습을보여주며, 그림 21과코드가유사하기에코드설명은생략한다. 그림 25와그림 27은 2016년도, 2017년도 KBO 타 [4] Jeong-Joon Kim, Kwang-Jin Kwak, Don-Hee Lee, Yong-Soo Lee, Study of Trust Bigdata Platform, Journal of The Institute of Internet, Broadcasting and Communication, Vol. 16, No. 6, pp. 225-230, Dec, 2016. DOI: https://doi.org/10.7236/jiibc.2016.16.6.225 [5] Dong-Jin Shin, Jong-Min Eun, Ho-Geun Lee, Myoung Gyun Lee, Jeong-Min Park, Jeong-Joon Kim, Big - 184 -

Data-based Log Collection and Analysis in IoT Environments, Journal of Engineering and Applied Sciences, Vol. 13, No. 5, pp. 1064-1072, May 2018. DOI: http://dx.doi.org/10.3923/jeasci.2018.1064.1072 [6] Dong-Jin Shin, Ji-Hun Park, Ju-Ho Kim, Kwang-Jin Kwak, Jeong-Min Park, Jeong-Joon Kim, Big Data-based Sensor Data Processing and Analysis for IoT Environment, Journal of The Institute of Internet, Broadcasting and Communication, Vol. 19, No. 1, pp. 117-126, Feb, 2019. DOI: https://doi.org/10.7236/jiibc.2019.19.1.117 [7] Ashish Thusoo, Joydeep Sen Sarma, Namit Jain, Zheng Shao, Prasad Chakka, Suresh Anthony, Hao Liu, Pete Wyckoff, Raghotham Murthy, Hive - A Warehousing Solution Over a Map-Reduce Framework, Proceedings of the VLDB Endowment, Vol. 2, No. 2, pp. 1626-1629, 2009. 저자소개 이돈희 ( 정회원 ) Don Hee Lee received his M.S degree in Computer Engineering from Yonsei University, Korea, in 2005, and a Ph.D. in Computer and Information Communication Engineering from Konkuk University, Korea, in 2016. He has been working for SK holdings Ltd, Bundang, Korea, from 2002 to present. His research interests include databases, big data, spatio-temporal index in wireless communications, location-based services, and information system audit. 신동진 ( 준회원 ) 황승연 ( 준회원 ) Dong-Jin Shin received BS in Department of Computer Science and MS in Department of Smart Manufacturing Engineering at the Korea Polytechnic University in 2018 and 2020. He is currently studying PhD in Department of Computer Science at AnYang University. His research interests include Big Data, Internet of Things (IoT), Network&System security. Seung-Yeon Hwang is received his BS in Department of Computer Science at Korea Polytechnic University in 2019. He is currently studying MS in Department of Computer Science at Anyang University. His research interests include Database System, Big Data, Data Analysis, Machine Learning, etc. 문진용 ( 정회원 ) 김정준 ( 정회원 ) Jin Yong Moon received his MS in Computer Science at Konkuk University in 1998. Then he received PhD from Suwon University in 2001. He is currently a professor in the department of Visual Broadcasting Media at Gangdong University. His research interests include Database Systems, Web Science, Geographic Information Systems (GIS) and Multimedia Systems, etc. Jeong-Joon Kim received his BS and MS in Computer Science at Konkuk University in 2003 and 2005, respectively. In 2010, he received his PhD in at Konkuk University. He is currently a professor at the department of ICT Convergence Engineering at Anyang University, His research interests include Database Systems, Big Data, Semantic Web, Geographic Information Systems (GIS) and Ubiquitous Sensor Network (USN), etc. - 185 -