발로란트 무기 예측

정동겸·2023년 4월 19일

위 데이터를 기반으로 무기 예측 모델을 만들것이다.

import numpy as np
import pandas as pd

# 데이터 불러오기
Data_set = pd.read_csv("/content/valorantgunstats.csv", delimiter=",",skiprows = 0)

# 필요한 라이브러리 호출
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from sklearn.model_selection import train_test_split

# 데이터를 X와 Y로 나누어 저장
X = Data_set.iloc[:, 1:7]
Y = Data_set.iloc[:,0]

# 확인
print(X[0:5])
print(Y[0:5])

# Y 값에 원-핫 인코딩 적용
Y = pd.get_dummies(Y)

# 확인
print(Y[0:5])

# 모델 생성
model = Sequential()
# 다중 분류 문제이므로 ReLU 함수 사용
model.add(Dense(12, input_dim=6, activation='relu'))
model.add(Dense(8, activation='relu'))
# 같은 이유로 소프트맥스 함수 사용
model.add(Dense(5, activation='softmax'))
model.summary()

# 같은 이유로 categorical_crossentropy 손실 함수 사용
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

X = X.astype(np.float32)
Y = Y.astype(np.float32)

history = model.fit(X, Y, epochs=1000, batch_size=5)

print(history)
Model: "sequential_4"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_12 (Dense)            (None, 12)                84        
                                                                 
 dense_13 (Dense)            (None, 8)                 104       
                                                                 
 dense_14 (Dense)            (None, 5)                 45        
                                                                 
=================================================================
Total params: 233
Trainable params: 233
Non-trainable params: 0
_________________________________________________________________
Epoch 1/1000
4/4 [==============================] - 2s 6ms/step - loss: 647.1111 - accuracy: 0.3125
Epoch 2/1000
4/4 [==============================] - 0s 5ms/step - loss: 607.8689 - accuracy: 0.3125

...

Epoch 999/1000
4/4 [==============================] - 0s 4ms/step - loss: 0.1113 - accuracy: 1.0000
Epoch 1000/1000
4/4 [==============================] - 0s 4ms/step - loss: 0.1196 - accuracy: 0.9375

모델이 잘 만들어졌다.

0개의 댓글