ML, DL & Python
-
리그오브레전드 데이터를 활용한 승/패 예측ML, DL & Python/Riot API를 활용환 데이터 분석 2019. 6. 2. 13:00
이전 포스팅에서 수집한 매치데이터를 이용하여 팀의 승/패를 예측해보겠습니다. 다들 teams 변수를 이용하여 데이터프레임화를 했던 것을 기억하시나요. teams데이터는 리스트안에 딕셔너리가 있는 구조로써 dict데이터의 key값을 변수로, value값을 값으로 풀어줘야 했습니다. 데이터를 잠시 보여드리겠습니다. 변수설명 teamId - 경기내의 파랑팀 (100) / 경기내의 빨강팀 (200) win - 승 / 패 , target_variable로 사용할 변수입니다. (W/F) firstBlood - 가장 먼저 상대팀의 챔피언을 킬했는지 여부. (T/F) firstTower - 가장 먼저 상대팀의 포탑을 깻는지 여부. (T/F) firstinhibitor - 가장 먼저 상대팀의 억제기를 깻는지 여부. (T..
-
라이엇 api를 활용한 리그오브레전드 데이터 수집ML, DL & Python/Riot API를 활용환 데이터 분석 2019. 6. 1. 19:36
안녕하세요. 이번 포스팅은 평소에 즐겨하던 "리그오브레전드"의 게임 데이터를 이용하여 분석해보는 시간을 갖도록 하겠습니다. 그전에 리그오브레전드 데이터를 수집해야하는데요, 리그오브레전드를 즐겨하거나 해보신 분들은 알겠지만 리그오브레전드의 게임 정보나, 챔피언 정보를 알 수 있는 사이트인 OP.GG를 알고 계실 것입니다. OP.GG도 마찬가지로 Riot api를 이용하여 데이터를 수집해 유저에게 유용한 정보를 제공하고 있습니다. 여기서 중요한 것은 API로 제공하는 데이터는 게임을 이용하는 소환사별로 최근 20게임만을 저장하고 있는 것인데 OP.GG에서는 소환사별로 20게임보다 훨씬 이전의 데이터까지 볼 수 있다는 것입니다. 이는 OP.GG자체에서 DB에 저장하고 있다는 것을 알 수 있습니다.(엄청난 노력..
-
유튜버 분석ML, DL & Python/Youtube 크롤링 & 분석 2019. 5. 25. 17:10
이번 포스팅은 문득 생각난 의문에서부터 시작한 분석입니다. "유튜버들은 왜 자극적인 제목으로만 사람들의 관심을 끄는 것인가?" 그래서 유튜버들에게 맞춤 키워드를 추천해줄 수 있으면 어떨까 라는 생각을 하게 되었습니다. 따라서 본 포스팅에서는 한 유튜버 "테스터 훈"을 선택해 영상정보들을 수집하여 분석을 시작해보도록 하겠습니다. 1. 테스터훈 영상정보를 수집하겠습니다. 제가 필요한 정보는 영상에 직접 들어가서 수집해야하는 데이터이기 때문에 먼저 각 영상별 url을 수집하도록 하겠습니다. html0 = browser.page_source html = BeautifulSoup(html0,'html.parser') video_ls=html.find_all('ytd-grid-video-renderer',{'cla..
-
주식데이터 크롤링ML, DL & Python/주식데이터를 활용한 분석 2019. 5. 19. 22:17
이번 포스팅은 "네이버 금융"에 있는 주가데이터를 수집하여 분석해보는 시간을 가지려합니다 주식데이터를 크롤링하는 목적으로는 앞으로의 주가를 예측해보고 싶었기 때문입니다. 주가라는 것은 해당 기업의 사업모델, 사업 계획, 신제품 출시 등의 많은 영향을 받아서 많이 변동할 것입니다. 하지만 이와 같은 정보들은 정형적인 정보가 아닌 비정형 데이터로써 존재하고 있습니다. 그렇다면 비정형데이터가 아닌 수치화된, 연속형 데이터를 이용하여 주가를 예측해보면 어떨까 라는 생각을 했습니다. 이에 관해서 여러 정보들을 탐색해봤는데 앞서 말한 비정형 데이터를 이용하지 않고 연속화된, 수치화된 데이터를 이용하여 앞으로의 주가를 예측하고 탐색하여 수익을 얻는 방법이 "퀀트"라는 방법이 있었습니다. 퀀트는 간단히 말해서 valu..
-
youtube text mining3ML, DL & Python/Youtube 크롤링 & 분석 2019. 5. 11. 15:10
저번 포스팅에서는 word embedding와 word2vec을 사용하여 단어를 벡터화하고 벡터공간에 뿌린 뒤에 단어들의 유사도를 확인해보았습니다. 이번 포스팅에서는 벡터공간에 뿌려진 단어들의 밀집정도와 어느 단어들끼리 묶여있는지 확인하기 위해서 군집분석을 진행해보겠습니다. 저는 단어들을 스스로 학습하여 epsilon과 min_scale을 이용하여 군집의 갯수를 정해주는 DBSCAN방식과 중심단어를 기준으로 단어 벡터간의 거리를 기반으로 군집을 형성하는데 군집의 갯수를 지정해줘야하는 KMEANS방식을 사용했습니다. kmeans는 초기에 지정한 군집 갯수에 따라 중심 데이터를 지정합니다. 그리고 중심 데이터와 가까운 데이터들을 군집으로 묶습니다. 다시 형성된 각 군집에서 중심이 되는 데이터를 지정한 뒤 중..
-
youtube text mining 2ML, DL & Python/Youtube 크롤링 & 분석 2019. 5. 8. 17:12
text mining은 말 그대로 텍스트를 이용하여 데이터를 분석하는 것인데요, 연속형 자료 즉, 수치형 자료는 정형화된 자료로써 바로 분석에 사용되어도 무방한 데이터입니다. 하지만 텍스트 데이터는 비정형 자료로써 분석 하기에 앞서 수치형으로 바꿔주는 작업이 필요한데 이러한 작업을 w2v라고 합니다. word2vec를 설명드리기 전에 초기의 단어들은 어떻게 분류 되었는지부터 설명드리겠습니다. 지금은 벡터 공간에 할당된 단어간의 유사도나 관련성을 기준으로 단어들을 분류하고 군집하는데요. 예전에는 "나이브 베이지안"을 통해서 특정 단어가 들어가면 "1", 특정 단어가 들어가지 않으면 "0"으로 두고 분류하는 작업을 시행했습니다. 하지만 이는 단어마다 어떠한 의미를 가지는지를 컴퓨터가 모르고, 단어의 의미는 ..
-
opencv / pytesseract를 활용한 image2textML, DL & Python/python opencv , pytesseract 2019. 5. 6. 19:03
안녕하세요 오늘은 opencv 와 pytesseract를 활용한 이미지에 있는 글귀를 text로 인식하는 image2text를 할 예정입니다. 업무를 하면서 크롤링한 이미지를 텍스트로 전환해야 하는 일이 생겼습니다. 제가 말하는 image2text란 무엇이냐? 단순히 그림만이 있는 이미지가 아니라 text를 가지고 있는 이미지의 글자를 실제 text형식으로 뽑아내는 작업을 뜻합니다. 아래의 그림을 보시죠! 이 예시는 image captioning으로 text가 없는 그림에서 그림을 묘사하는 기술을 뜻합니다. 하지만 제가 오늘 하려고 하는 image2text는 예시를 보시죠! 즉, image2text는 ocr기술이며 그에 따라 지원하는 모듈로는 opencv, pytesseract가 있습니다. 먼저 pyth..
-
youtube text mining 1ML, DL & Python/Youtube 크롤링 & 분석 2019. 5. 6. 19:02
안녕하세요. 저번 유튜브 댓글 크롤링에 이은 댓글을 이용한 text mining을 해보도록 하겠습니다. 먼저 저번에 긁어왔던 댓글 데이터를 불러와보도록 하겠습니다. 현재 보시는 것 처럼 댓글 데이터는 불필요한 이모티콘, ㅋㅋ, ㅎㅎ 같은 문자들이 존재 합니다. 텍스트 마이닝에서 중요한 것은 이러한 불필요한 단어들을 없애주는 전처리가 굉장히 중요합니다. 따라서 이러한 이모티콘들을 없앤 뒤 분석을 하겠습니다. 먼저 re 모듈을 import 받아서 불용어구들을 compile해주겠습니다. #이모티콘 제거 emoji_pattern = re.compile("[" u"\U0001F600-\U0001F64F" # emoticons u"\U0001F300-\U0001F5FF" # symbols & pictographs ..