Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
Tags
- java조건문
- 2차원배열
- 비교연산자
- 논리연산자
- 피보나치수열
- 팩토리얼
- switch-case문
- 알고리즘
- #이차원배열
- 소인수분해
- JAVA기초
- 증감연산자
- #알고리즘
- 로또 프로그램
- plusgame
- 이진수
- if문
- 삼항 연산자
- 연산자
- java
- 변수의특징
- for문 369게임
- #java_festival
- else if문
- 별찍기
- 데이터타입
- #Java
- 복합대입연산자
- #완전수구하기
- switch문
Archives
- Today
- Total
숭어 개발 블로그
[딥러닝] keras 맛보기 (폐암 환자 생존 예측) 본문
# 목표
- 폐암환자의 생존을 예측하는 모델을 만들어보자~!
- 신경망을 활용하여 2진분류 문제를 해결해보자~!
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# None = 인덱스 번호로 출력
data = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/딥러닝(SpringB)/data/ThoraricSurgery.csv',header=None)
data
# 문제, 정답 분리하기
X= data.iloc[:,:-1]
y= data.iloc[:,-1]
X.shape,y.shape
# 학습, 평가 데이터로 분리
from sklearn.model_selection import train_test_split
# 기본값은 0.75 / 0.25 비율로 나눠짐
X_train,X_test,y_train ,y_test = train_test_split(X,y,random_state=11)
print(X_train.shape)
print(X_test.shape)
print(y_train.shape)
print(y_test.shape)
# 딥러닝 신경망 모델링
1.신경망 구조 설계
2.학습/평가 방법 설정
3 학습+시각화
4.모델 평가
1.신경망 구조 설계
# 1.신경망 구조설계
model = Sequential()
# 입력층(input_dim) + 중간층 1개(Dense)
# input_dim : 입력되는 데이터의 특성 수
# activation : 활성화 함수 설정(들어온 자극(data)에 대한 응답 여부를 결정 하는 함수)
model.add(Dense(10,input_dim=17, activation = 'sigmoid'))
#중간층
model.add(Dense(6, activation='sigmoid')) # 하나의 층
model.add(Dense(4, activation='sigmoid'))
#출력층
#출력층은 회귀(linear, 디폴트), 2진분류(sigmoid), 다중분류에 따라 사용하는 활성화 함수가 달라진다!
model.add(Dense(1,activation='sigmoid'))
model.summary()

from tensorflow.keras import Sequential # 신경망의뼈대를 설정해주는 함수
from tensorflow.keras.layers import Dense # 뉴런의 묶음을 만들어주는 함수
from sklearn.metrics impor
from pandas.core.strings.accessor import StringMethods
from os import access
# 1.신경망 구조설계
model = Sequential()
# 입력층(input_dim) + 중간층 1개(Dense)
# input_dim : 입력되는 데이터의 특성 수
# activation : 활성화 함수 설정(들어온 자극(data)에 대한 응답 여부를 결정 하는 함수)
model.add(Dense(10,input_dim=17, activation = 'sigmoid'))
#중간층
model.add(Dense(6, activation='sigmoid')) # 하나의 층
model.add(Dense(4, activation='sigmoid'))
#출력층
#출력층은 회귀(linear, 디폴트), 2진분류(sigmoid), 다중분류에 따라 사용하는 활성화 함수가 달라진다!
model.add(Dense(1,activation='sigmoid'))
model.summary()
2.학습/평가 방법 설정
optimizer (최적화 함수) : 경사강법의 방식을 설정해주는 함수
# 2.학습/평가 방법 설정
model.compile(loss="binary_crossentropy",
optimizer="SGD", # 최적화 함수 : 경사강법의 방식을 설정해주는 함수
metrics=['acc']
)
h= model.fit(X_train,y_train, epochs=100)
plt.figure(figsize=(15,5))
plt.plot(h.history['acc'], label='acc')
plt.legend()
plt.show()
model.evaluate(X_test,y_test)
3 학습+시각화
4.모델 평가
'Deep Learning' 카테고리의 다른 글
[딥러닝]_손글씨 이미지데이터 분류 (1) | 2022.10.05 |
---|---|
[딥러닝] Perceptron( 퍼셉트론 ) 이란? (0) | 2022.09.27 |
[딥러닝] Deep Learning이란? (0) | 2022.09.27 |
Comments