k겹 교차 검증(k-fold cross validation) - 데이터셋을 여러 개로 나누어 하나씩 테스트셋으로 사용하고 나머지를 모두 합해서 학습셋으로 사용 - 가지고 있는 데이터의 100%를 학습셋으로 사용할 수 있고, 동시에 테스트셋으로도 사용 가능 - 데이터셋을 k개로 나눈 후 그 중 k-1개를 학습셋으로, 1개를 테스트셋으로 만들어 k번의 학습을 순차적으로 실시 5겹 교차 검증 예제 - 초음파 광물 예측 데이터 - 초음파 광물 예측 데이터 분석은 https://codingmoding.tistory.com/93 여기서 확인! 1. 환경 및 데이터 준비 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import..
초음파 광물 예측 데이터 - 수중 음파 탐지기로 쏜 결과를 보고 광석인지 일반 암석인지 구분 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import pandas as pd df = pd.read_csv('./data/sonar3.csv', header=None) # 음파 관련 속성을 X로, 광물의 종류를 y로 저장 X = df.iloc[:,0:60] y = df.iloc[:,60] # 모델 설정 model = Sequential() model.add(Dense(24, input_dim=60, activation='relu')) model.add(Dense(10, activation='rel..
아이리스(iris) 품종 데이터 - 아이리스 꽃잎의 모양과 길이에 따라 세 가지 품종으로 나눈 데이터 - 여러 개의 답 중 하나를 고르는 다중 분류 사용 1. 환경 및 데이터 준비 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 아이리스 데이터를 불러옴 df = pd.read_csv('./data/iris3.csv') 2. 상관도 그래프 - 시본(seaborn) 라이브러리 활용 pairplot() : 데이터프레임에 있는 모든 수치형 변수들 간의 관계를 시각화 :..
피마 인디언 당뇨병 예측 데이터 - 피마 인디언을 대상으로 당뇨병 발병 여부를 예측 1. 환경 및 데이터 준비 - pandas와 seaborn 라이브러리가 설치되어 있지 않다면 '!pip install 라이브러리'로 먼저 설치 # 필요한 라이브러리 호출 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns read_csv() : csv 파일을 불러오는 함수 : pandas에 존재 # 피마 인디언 당뇨병 데이터셋을 불러옴 df = pd.read_csv('./data/pima-indians-diabetes3.csv') 2. 데이터 조사 - 판다스(pandas) 활용 판다스(pandas) : 넘파이의 기능을 포함하면서도 다양한 포맷..
1. 환경 및 데이터 준비 # 텐서플로 라이브러리 안에 있는 케라스 API에서 필요한 함수들 호출 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 데이터를 다루는 데 필요한 라이브러리 호출 import numpy as np # 준비된 수술 환자 데이터를 불러옴 Data_set = np.loadtxt("./data/ThoraricSurgery3.csv", delimiter=",") X = Data_set[:,0:16] # 환자의 진찰 기록을 X로 지정 y = Data_set[:,16] # 수술 1년 후 사망/생존 여부를 y로 지정 2. 구조 결정 - 딥러닝의 구조를 짜고 층 설정 model =..
오차 역전파(back propagation) - 가중치와 바이어스를 조정하기 위해 사용하는 알고리즘 - 예측 출력과 실제 출력 사이의 오차를 계산한 다음, 이 오차를 계층별로 역방향으로 전파하여 가중치를 적절히 조정 ※ 경사 하강법은 단일 퍼셉트론에서만 가능 구동 방식 1. 임의의 초기 가중치를 준 뒤 결과 계산 2. 계산 결과와 우리가 원하는 값 사이의 오차 계산 3. 경사 하강법을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 업데이트 4. 1~3 과정을 더이상 오차가 줄어들지 않을 때까지 반복 '모두의 딥러닝 개정 3판'의 내용과 https://github.com/taehojo/deeplearning의 코드 참고
다층 퍼셉트론(multilayer perceptron) - 입력층과 출력층 사이에 한 개 이상의 은닉층(hidden layer)을 포함한 신경망 구조 - 퍼셉트론 두 개를 각각 처리하는 은닉층을 만들어 두 개를 한 번에 계산하면 XOR 문제 해결 가능 설계 : 입력 값인 x1과 x2에 각각 가중치(w)를 곱하고 바이어스(b)를 더해 은닉층(node)으로 전송 : 은닉층에 모인 값들은 활성화 함수(ex. 시그모이드 함수)를 통해 최종 값으로 결과 보냄 : 각각의 가중치(w)와 바이어스(b) 값 결정 XOR 문제 해결 - 각각의 가중치와 바이어스 값 설정 - x1 값과 x2 값을 입력해 원하는 y 값이 나오는지 확인 XOR 문제 해결 - 파이썬 코드로 구현 1. 가중치와 바이어스 선언 import numpy..