def __init__(self): self.url_base = 'https://kr.api.riotgames.com' path_key = folder.get_data_path('lol_api_key.txt') f = open(path_key, 'r') self.api_key = f.readline() f.close()
def save_data(self, data, file_name: str): """ 크롤링한 데이터를 data 폴더에 저장하는 함수 :param data: 크롤링한 데이터를 담은 Dataframe :param file_name: 저장할 csv 파일명 """ path_data = folder.get_data_path(file_name) data.to_csv(path_data)
def get_data(self): """ data를 가져옴 :return: loaded data """ path = folder.get_data_path('challenger_0521.csv') data = pd.read_csv(path, index_col=0) return data
def evaluate_model(self): path = folder.get_data_path('grandmaster_0521.csv') data = pd.read_csv(path, index_col=0) data = data.iloc[:500] # 20분 이상, mid 포지션만 남김 data = formatter.longer_playtime(data, '20:00') data = data[data['position'] == self.position] data = data.drop(['position'], axis=1) LR = self.modeling x, y = formatter.split_input_output(data) x = LR.scale_input_data(x) print("evaluate ", end='') LR.get_score(x, y)
def get_data(self): """ data를 가져옴 :return: loaded data """ path = folder.get_data_path('challenger_0521.csv') data = pd.read_csv(path, index_col=0) data = formatter.longer_playtime(data, '20:00') # get only one position data = data[data['position'] == self.position] data = data.drop(['position'], axis=1) self.data = data print('columns : ', data.columns)
# coding=utf-8 """ ----------------------------------------------------------------------------------- 메인 함수 # Description: 1. 2. 3. 4. 5. ----------------------------------------------------------------------------------- """ from MiniProject1.src.config import folder # from MiniProject1.src.data_process import summoners # from MiniProject1.src.data_process import crawling # from MiniProject1.src.data_process import formatter # from MiniProject1.src.model import modeling import pandas as pd from MiniProject1.src.config import folder path = folder.get_data_path('challenger_0521.csv') data = pd.read_csv(path, index_col=0) data = formatter.longer_playtime(data, '20:00') # get only one position data = data[data['position'] == self.position] data = data.drop(['position'], axis=1)
data = formatter.longer_playtime(data, '20:00') data = data[data['position'] == self.position] data = data.drop(['position'], axis=1) LR = self.modeling x, y = formatter.split_input_output(data) x = LR.scale_input_data(x) print("evaluate ", end='') LR.get_score(x, y) if __name__ == '__main__': import sys path_log = folder.get_log_path('test1_log.txt') sys.stdout = open(path_log, 'w', encoding="UTF-8") positions = ['top', 'jug', 'mid', 'adc', 'sup'] for position in positions: print("============= Position :", position) func = MainFunction(position) func.get_data() func.train_test_model() func.evaluate_model() path = folder.get_data_path(f'coef_{position}.csv') func.coef.to_csv(path) print() sys.stdout.close()