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
'프로젝트 > Riot LoL' 카테고리의 다른 글
포지션정보넣으면 승률+밴픽률순서로 출력 (0) | 2021.10.19 |
---|---|
챔피언 별 밴픽률을 구해보자 (0) | 2021.09.24 |
Position 순서를 맞춰보자 (0) | 2021.09.06 |
인게임 데이터에서 챔피언 조합과 포지션 정보 취합하기 (0) | 2021.08.23 |
RiotAPI를 사용해서 인게임 정보를 모아보자 (0) | 2021.08.18 |