프로젝트/Riot LoL

Modeling을 위한 전처리를 해보자

SigmoidFunction 2021. 9. 15. 11:53
728x90

데이터들을 이것저것 만져보고 처리하다보니까 태그정보가 str형태로 저장되어버리는 문제가 생겼다.

 

이걸 int로 바꿔주어야하는 작업이 필요해졌다.

 

바빠서 정신없이 하다보니까 이런 실수를 범해버렸다...다시 뜯어보기보다는 이걸 일단 호로록 바꿔버리는 작업을 해야겠다.

 

import numpy as np
import pandas as pd


test = pd.read_csv('C:/RiotProject/210902Tag_result_final.csv')
win = test[['win_tags']]
lose = test[['lose_tags']]

win = win.values
lose = lose.values
#
def str_to_array(one_tag):
    total = []
    team = []
    for i in one_tag:
        row = []
        for k in i[0]:
            if len(row) != 7:
                try:
                    temp = int(k)
                    row.append(temp)
                except:
                    continue
            else:
                team.append(row)
                row = []
                if len(team) == 5:
                    total.append(team)
                    team = []

    total_array = np.array((total))
    return total_array

win_tags = str_to_array(win)
lose_tags = str_to_array(lose)

이렇게하면 단순하게 정리가되고 어레이가 된다.

 

하고 보니 승패정보를 주지 않았다는 생각을 해서

 

import numpy as np
import pandas as pd
import ast
# 사용데이터파일은 new_model_data_final.csv 파일(승리팀/패배팀 나누어서 한행 씩 라벨1/0)
df = pd.read_csv('new_model_data_final.csv', encoding='cp949')
x=df['Champ_tag']
y=df['match_result']
num=[]
# import ast 해주세요
# 약 5분이내 실행 완료
for i in range(len(x)):
    print('실행:',i)
    num.append(ast.literal_eval(x[i]))
#print(num) # num프린트는 rate 제한으로 실행 X  
num_array=np.array(num)
print(num_array)
print(type(num_array))
num_array.shape

슈루룩하면

 

조합별로 승패정보가 따악 붙어버린다.

 

모델을 mnist방식대로 살짝 만들어서 해보았는데 accuracy가 50% 근처밖에 안나왔다.

 

데이터를 조금 더 만져야할지 모델을 좀더 개선을 해야될지 고민중이다.

 

 

728x90