본문 바로가기
머신러닝딥러닝/딥러닝

딥러닝(deeplearning) #1 - 폐암 수술 환자의 생존율 예측

by orangecode 2022. 4. 11.
728x90

학습(Training) : 데이터가 입력되고 패턴이 분석되는 과정

 

학습 과정 평면에 환자들을 배치하는 과정이며, 머신러닝 학습은 규칙을 발견해 생존, 사망여부를 정하는 경계를 찾는 걸 말한다.

 

1. 데이터 분석 맟 입력

import numpy

numpy 라이브러리를 불러오라는 뜻.

수치계산을 위해 만들어진 라이브러리로 데이터 분석에 많이 활용됨

 

 

Data_set = numpy.loadtxt("C:/juno1412-1/DL/모두의 딥러닝/dataset/ThoraricSurgery.csv", delimiter=",")

Data_set  임시저장소 만들기.

loadtxt() 함수로 csv 데이터셋 불러오기

 

 

ThoraricSurgery.csv 데이터셋 살펴보기

shape = (470, 18) #470 rows, 18 columns

 

앞 17개 정보 = 속성Attribute(종양 유형, 폐활양, 고통정도, 기침 등 환자 상태)

마지막 18번째 = 클래스Class(수술 후 생존결과)

 

 

# 1~17번째 속성만을 뽑은 데이터셋 X
X = Data_set[:,0:17]

# 클래스를 담는 데이터셋 Y
Y = Data_set[:,17

 

2. 딥러닝 실행부분

from keras.models import Sequential
from keras.layers import Dense
Sequential 함수 : 딥러닝 구조를 한층한층 쉽게 쌓을 수 있게 해주는함수
Sequential 함수 선언 이후 model.add()함수로 필요한 층 차례로 추가하기
 
Dence 함수 : 치밀하게 모여있는 집합이라는 뜻
layer마다 입력, 출력을 연결해주고, 각각 어떤 특성을 가지는지 옵션을 설정하는 역할
 
compile 함수
딥러닝 구조/층별옵션 설정 후,  오차, 최적화, 모니터링을 환경설정하는 역할
 
fit 함수
훈련을 실행하는 함수, X(입력데이터), Y(출력데이터), epoch(훈련반복횟수), batchsize(데이터 iterater에 주는 데이터양)
 
 
 
model.Sequential()
model.add(Dense(30, input_dim = 17, activation = 'relu'))
model.add(Dense(1, activation = 'sigmoid'))
model.compile(loss='mean_squared_error', optimizer = 'adam', metrics =['accuracy'])
model.fit(X, Y, epochs=30, batch_size=10)​
 
 
단어정리
- activation

: 다음층으로 어떻게 값을 넘길지 결정하는 부분, relu/sigmoid 함수 사용

 

- loss

: 한 번신경망이 실행될 때마다 오차 값을 추적하는 함수.

 

- optimizer

: 오차를 어떻게 줄여나가는지 정하는 함수

 

 

3. 결과출력하기

print("\n Accuracy: %.4f" % (model.evaluate(X,Y)[1]))

model.evaluate() 함수를 이용해 딥러닝 모델이 정확하게 예측하는지 점검이 가능하다.

 

 

 

 

 

 

 

 

 

전체코드

from keras.model import sequential
from keras.layers import dense

import numpy
import tensorflow as tf

# 실행 시 같은 결과 출력 설정
seed = 0
numpy.random.seed(seed)
tf.set_random_seed(seed)

# 준비된 수술환자 데이터 불러들이기
Data_set = numpy.loadtxt("C:/juno1412-1/DL/모두의 딥러닝/dataset/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(loss='mean_squared_error', optimizer='adam', metrics=(['accuracy'])
model.fit(X, Y, epoocho=30, batch_size=0)

학습(Training) : 데이터가 입력되고 패턴이 분석되는 과정

 

학습 과정 평면에 환자들을 배치하는 과정이며, 머신러닝 학습은 규칙을 발견해 생존, 사망여부를 정하는 경계를 찾는 걸 말한다.

 

 

반응형

댓글