유전자 분석을 통한 암 진단
신경망 구조
- 4층 짜리 FNN
- 입력층의 사이즈도 커지기에 2층과 3층에는 드롭아웃을 적용한다.
- 4개의 암 카테고리를 분류하기 위해 4로 지정 및 소프트맥스를 적용
층수 | 종류 | 크기 | 활성화 함수 |
---|
1층 | FNN | 20000 | - |
2층 | FNN | 2048 | ReLu |
- | Dropout | rate=0.5 | - |
3층 | FNN | 256 | ReLu |
- | Dropout | rate=0.5 | - |
4층 | FNN | 4 | Softmax |
딥러닝 모델 코딩
"""
Author : Byunghyun Ban
"""
from tensorflow import keras
import data_reader
EPOCHS = 20
dr = data_reader.DataReader()
model = keras.Sequential([
keras.layers.Dense(20000),
keras.layers.Dense(2048, activation="relu"),
keras.layers.Dropout(rate=0.5),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dropout(rate=0.5),
keras.layers.Dense(4, activation='softmax')
])
model.compile(optimizer="adam", metrics=["accuracy"],
loss="sparse_categorical_crossentropy")
print("\n\n************ TRAINING START ************ ")
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(dr.train_X, dr.train_Y, epochs=EPOCHS,
validation_data=(dr.test_X, dr.test_Y),
callbacks=[early_stop])
data_reader.draw_graph(history)
BMI분석을 위한 키,체중 추론
신경망 구조
- 4층 짜리 FNN
- 입력층의 사이즈도 커지기에 2층과 3층에는 드롭아웃을 적용한다.
- 4개의 암 카테고리를 분류하기 위해 4로 지정 및 소프트맥스를 적용
층수 | 종류 | 크기 | 활성화 함수 |
---|
1층 | FNN | 6 | 없음 |
2층 | FNN | 256 | ReLu |
3층 | FNN | 256 | ReLu |
4층 | FNN | 256 | ReLu |
5층 | FNN | 256 | ReLu |
6층 | FNN | 2 | sigmoid |
딥러닝 모델 코딩
"""
Author : Byunghyun Ban
"""
from tensorflow import keras
import data_reader
EPOCHS = 50
dr = data_reader.DataReader()
model = keras.Sequential([
keras.layers.Dense(6),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(256, activation="relu"),
keras.layers.Dense(2, activation='sigmoid')
])
model.compile(optimizer="adam", loss="mse", metrics=['mae'])
print("\n\n************ TRAINING START ************ ")
early_stop = keras.callbacks.EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(dr.train_X, dr.train_Y, epochs=EPOCHS,
validation_data=(dr.test_X, dr.test_Y),
callbacks=[early_stop])
data_reader.draw_graph(model(dr.test_X), dr.test_Y, history)
