You are on page 1of 5

Danh Sách Thành Viên :

Lưu Gia Phát 1914588


Lê Nguyễn Hoàng Tuấn 1915769
Phạm Cao Tâm 1915029
Lâm Văn Chuẩn 1912792
Bài làm :

Độ chính xác giữa Train và Validation sau mỗi lần chạy

Độ chính xác :
Test model với tập test :
Code file :

import os.path
import tensorflow
from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Activation, Dense, BatchNormalization, Conv2D
from tensorflow.keras.optimizers import Adam
from numpy import loadtxt
from sklearn.utils import shuffle
import matplotlib.pyplot as plt
import numpy as np

# load the dataset


dataset = loadtxt('train.csv', delimiter=',')
# split into input (X) and output (y) variables
train_data = dataset[:,0:20]
label_data = dataset[:,20]
######### shuffle data #########

train_data = np.array(train_data)
label_data = np.array(label_data)
train_data , label_data = shuffle(train_data , label_data)

######## create test data from shuffle data######################


train_data_test , label_data_test = train_data[0:100 , :] , label_data[0:100]
label_data_test = np.array(label_data_test)

################## create module #############################333


model = Sequential()
model.add(Dense(512, input_dim=20, activation='relu'))
model.add(Dense(256, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(64 , activation='relu') , )
model.add(Dense(4, activation='softmax'))
model.summary()

############## compile ########################3


model.compile(optimizer=Adam(learning_rate = 0.001) ,metrics=['accuracy'] ,loss =
'sparse_categorical_crossentropy' )
history=model.fit(x=train_data, y= label_data , validation_split= 0.2, batch_size= 5 ,epochs=
300 , shuffle= True , verbose=2)

######################### predict test ####################################3


predicts = model.predict(train_data_test , batch_size= 1 , verbose= 0 )
#################### print result ####################################
rounded_predictions = np.argmax(predicts, axis=-1)

for i in range(100) :
print('phan tram du doan:' , rounded_predictions[i], 'ket qua la ', label_data_test[i] )

######################## accuracy model ##################


_, accuracy = model.evaluate(train_data, label_data)
print('Accuracy: %.2f' % (accuracy*100))
#################3## save model ###########################

if os.path.isfile('Moblie_price') is False :
model.save('Moblie_price')
###################### plot result############################3

plt.title('Accuracy Train and validation during complie over time ')


plt.xlabel('Epochs')
plt.ylabel('accuracy')
plt.plot(history.history['acc'], label='train')
plt.plot(history.history['val_acc'], label='valid')
plt.legend()
plt.show()

You might also like