사용 데이터셋: ThoraricSurgery.csv 소스 코드 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
from keras.models import Sequential from keras.layers import Dense import numpy as np import tensorflow as tf seed = 3 np.random.seed(seed) # 항상 똑같은 난수가 나오도록 설정 tf.random.set_seed(seed) # 항상 똑같은 난수가 나오도록 설정 Data_set = np.loadtxt("ThoraricSurgery.csv", delimiter=",") X = Data_set[:, 0:17] Y = Data_set[:, 17] model = Sequential() model.add(Dense(30, input_dim=17, activation='relu')) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy']) model.fit(X, Y, epochs=200, batch_size=10) score = model.evaluate(X, Y) print("\n Accuracy: %.4f \n loss : %.4f" % (score[1], score[0])) |
소스 코드 1 실행 결과
|
... ... Epoch 199/200 47/47 [==============================] - 0s 1ms/step - loss: 0.1117 - accuracy: 0.8702 Epoch 200/200 47/47 [==============================] - 0s 2ms/step - loss: 0.1146 - accuracy: 0.8745 15/15 [==============================] - 0s 2ms/step - loss: 0.1264 - accuracy: 0.8574 Accuracy: 0.8574 loss : 0.1264 |
설명 accuracy : 예측이 성공학 확률 loss : 예측이 실패할 확률 예측 성공률은 데이터를 분석해 데이터를 확장하거나, 딥러닝 구조를 적절하게 바꾸는 등의 노력으로 더 향상될 수 있음 소스 코드 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
from keras.models import Sequential from keras.layers import Dense import numpy as np import tensorflow as tf from sklearn.model_selection import train_test_split seed = 3 np.random.seed(seed) # 항상 똑같은 난수가 나오도록 설정 tf.random.set_seed(seed) # 항상 똑같은 난수가 나오도록 설정 Data_set = np.loadtxt("ThoraricSurgery.csv", delimiter=",") X = Data_set[:, 0:17] Y = Data_set[:, 17] X, x_test, Y, y_test = train_test_split(X, Y, train_size=0.8) model = Sequential() model.add(Dense(30, input_dim=17, activation='relu')) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy']) model.fit(X, Y, epochs=200, batch_size=10) score = model.evaluate(x_test, y_test) print("\n Accuracy: %.4f \n loss : %.4f" % (score[1], score[0])) |
소스 코드 2 실행 결과
|
... ... Epoch 199/200 38/38 [==============================] - 0s 1ms/step - loss: 0.1170 - accuracy: 0.8644 Epoch 200/200 38/38 [==============================] - 0s 1ms/step - loss: 0.1143 - accuracy: 0.8723 3/3 [==============================] - 0s 5ms/step - loss: 0.1222 - accuracy: 0.8617 Accuracy: 0.8617 loss : 0.1222 |
… Continue Reading 폐암 수술 환자의 생존율 예측하기