전체 글(92)
-
머신러닝으로 야구 득/실점 예측해보기 (4) 데이터 저장
한 달의 결과만 가져올 것이 아니고 (필요시) 한 팀의 데이터만 가져올 것이 아니기 때문에 다음과 같은 함수를 만들었다. # url 가져오기 def geturl(date, teamname): (year, month) = ym(date) url = "https://sports.news.naver.com/kbaseball/schedule/index.nhn?&month="+str(month)+"&year="+str(year)+"&teamCode="+teamname return url # 날짜 자르기 def ym(date): year = str(date)[:4] month = str(date)[-2:] return (year, month) 이 이후 코드는 앞선 글들에서 확인할 수 있다. pandas를 이용해서 ..
2020.05.05 -
머신러닝으로 야구 득/실점 예측해보기 (3) 스코어 뽑아내기
[('9.1 (금)\n\n18:30', 'NC\n\n1:6\n\n롯데'), ('9.2 (토)\n\n17:00', '한화\n\n0:9\n\n롯데'), ('9.3 (일)\n\n14:00', '한화\n\n2:7\n\n롯데'), ('9.5 (화)\n\n18:30', '롯데\n\n2:6\n\nSK'), ('9.6 (수)\n\n18:30', '롯데\n\nVS\n\nSK\n경'), ('9.7 (목)\n\n18:30', '삼성\n\n6:5\n\n롯데'), ('9.8 (금)\n\n18:30', '삼성\n\n5:6\n\n롯데'), ('9.9 (토)\n\n17:00', '롯데\n\n2:3\n\nkt'), ('9.10 (일)\n\n14:00', '롯데\n\n7:5\n\nkt'), ('9.12 (화)\n\n18:30', '롯데..
2020.05.05 -
머신러닝으로 야구 득/실점 예측해보기 (2) string 정리하기
어떻게 하면 날짜 별로 나눌 수 있을까 생각해보았다. 저번 글을 보면 알 수 있지만 날짜 경기 시작시간 원정팀 스코어 홈팀 경기 장소 의 형식이 반복되고 있기 때문에 string의 처음~ 원정팀 전까지, 원정팀 ~ 홈팀 끝까지, 홈팀 이후~ 다음 원정팀 전까지 ... 로 자르면 어떨까 생각했다. def cutst(st): teamlist = ["SK", "삼성", "LG", "롯데", "KIA", "한화", "넥센", "키움", "KT", "NC", "두산", "kt"] tmp = [] while ("SK" in st) or ("삼성" in st) or ("LG" in st) or ("롯데" in st) or ("KIA" in st) \ or ("한화" in st) or ("넥센" in st) or ("..
2020.05.05 -
머신러닝으로 야구 득/실점 예측해보기 (1) 소스 가져오기
나는 개발자가 아닌 취미로 프로그램을 짜보는 일반인 겸 롯데 팬이다. 요즘에 머신러닝을 공부 중이고 야구 시즌도 개막하는 터라 득/실점을 머신러닝으로 예측할 수 없을까? 생각에 프로그램을 짜보았다. (롯데 팬이기 때문에 롯데 위주로 정리했습니다.) 우선 머신러닝을 위한 데이터를 모아야한다. 데이터는 1. KBO 공식 홈페이지 2. 네이버 스포츠 기록실 3. 스탯티즈 등 3군데에서 모을 수 있다. KBO 공식 홈페이지에서는 2001년 기록부터 확인할 수 있었다. KBO에서 자료를 수집하기 위해 소스보기를 해보았지만 점수 데이터는 들어있지 않았다. 다른 방법으로 데이터를 수집할 수 있겠지만... 초보자 입장에서는 무리였다. (python 언어 외에는 전혀 모르는 초짜다.) 그래서 네이버 스포츠 기록실을 확인..
2020.05.05 -
클립보드 복사 후 번역하는 프로그램 (exe파일)
https://boksup.tistory.com/20 클립보드 번역기(Clipboard Translator) & 화면 / 게임 번역기 v2.072 1. 클립보드 번역기 (15.5MB) 위 두 파일을 모두 다운받아 압축해제 해주세요. 클립보드 번역 기능만 쓰고 싶으신 분들을 위한 버전 2. 화면/게임 번역기 (클립보드 번역기 + Tesseract OCR) (96.3MB) https:// boksup.tistory.com 지금 보고 계신 글에 있는 프로그램에서 여러 기능이 업데이트 된 프로그램 링크입니다. 위 링크의 프로그램을 추천드립니다! 세 파일을 모두 다운 받은 뒤 압축해제를 해주세요. [소개] 저번에 올렸던 python 파일에서 발전시켜서 GUI를 추가시킨 exe 실행버전의 번역기이다. 저번에 만든 ..
2020.03.12 -
클립보드 복사 후 번역하는 프로그램 (Python)
https://boksup.tistory.com/20 클립보드 번역기(Clipboard Translator) v2.031 두 파일을 모두 다운 받은 뒤 압축해제를 해주세요. [소개] 텍스트를 복사한 뒤 클립보드에 저장된 텍스트를 번역하는 프로그램을 리뉴얼했다. 용량도 20MB 아래로 줄었다. 이전에는 pyQt5를 이용�� boksup.tistory.com 지금 보고 계신 글에 있는 프로그램보다 더 발전시킨 프로그램 링크입니다. 위 링크의 프로그램을 추천드립니다! 기존 번역기 혹은 번역 프로그램은 텍스트를 직접 입력하거나 복사된 텍스트를 붙여넣기를 해야 번역을 해주는 약간 번거로운 것이 단점이라면 단점이다. 그래서 아예 클립보드에 새롭게 복사된 텍스트가 있다면 붙여넣기 작업을 따로 할 필요 없이 자동으로 ..
2020.03.03 -
파이썬 기본 (6) def : 나만의 함수 만들기
자연수를 입력받아 그보다 작은 모든 소수와 그 갯수를 출력하는 프로그램 code def chkprime(num): for i in range(int(num/2))[1:]: if num % (i+1) == 0 : return 0 return 1 while True : n = input('1보다 큰 자연수를 입력하세요> ') if n == 'done' : break try : n = int(n) primelist = [] for i in range(n)[1:]: if chkprime(i+1) == 1 : primelist.append(i+1) print(str(len(primelist))+'개 : ') print(primelist) except : print('잘못된 입력입니다.') continue inpu..
2020.01.06 -
파이썬 기본 (5) while 반복문
code1 n = 5 while n > 0 : print(n) n += -1 print("프로그램 종료") output1 5 4 3 2 1 프로그램 종료 복습포인트1. while 이하 조건문이 True면 계속 반복, False면 loop에서 빠져나오는 문법이다. code2 while True: line = input('> ') if line[0] == '#': continue if line == 'done': break print(line) print('Done!') input/ouput example > 5 5 > #2 > done Done! 복습포인트2. while 안의 반복문을 실행하다 continue가 나오면 그 아래 코드를 무시하고 다시 처음부터 반복하게 된다. while 안의 반복문을 실행하다..
2020.01.04 -
파이썬 기본 (4) for 반복문
임의의 자연수 n개를 입력 받아서 그 중 가장 작은 수 출력하기 code n = int(input('list에 들어갈 자연수의 갯수를 입력하세요> ')) numbers = [] for i in range(n): m = int(input(str(i+1)+'번째 자연수를 입력하세요> ')) numbers.append(m) smallest = None for value in numbers: if smallest is None: smallest = value elif value 5 1번째 자연수를 입력하세요> 20 2번째 자연수를 입력하세요> 41 ..
2020.01.04 -
파이썬 기본 (3) list
code1 a = [1,2,3] b = [4,5,6] c = a + b print(c) print(c[1]) print(c[-1]) print(c[2:5]) print(len(c)) output1 [1, 2, 3, 4, 5, 6] 2 6 [3, 4, 5] 6 복습포인트1. list는 대괄호 [] 안에 , 로 구분된 element들의 모임이다. 두 list a와 b를 더한 c는각 element끼리의 합인 [5, 7, 9]가 아닌 [1, 2, 3, 4, 5, 6]이 된다. python에서는 첫 element를 0으로 취급하여 print(c[1])를 하면 첫번째 element인 1이 아닌 두번째 element인 2가 출력이 된다. 이는 string에도 똑같이 적용되어 s = 'Hello World!'라고 했을..
2020.01.03