순환 신경망(Recurrent Neural Network, RNN) - 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력받은 데이터를 잠시 기억해 놓는 방법 - 기억된 데이터가 얼마나 중요한지 판단하고 별도의 가중치를 주어 다음 데이터로 넘김 1. 다수 입력 단일 출력 ex) 문장을 읽고 뜻을 파악할 때 2. 단일 입력 다수 출력 ex) 사진의 캡션을 만들 때 3. 다수 입력 다수 출력 ex) 문장을 번역할 때 LSTM(Long Short Term Memory) - 반복되기 전에 다음 층으로 기억된 값을 넘길지 여부를 관리하는 단계를 하나 더 추가 - RNN의 기울기 소실 문제를 보완 LSTM 예제 - 로이터 뉴스 카테고리 분류 데이터 - 11,228개의 뉴스 기사를 읽고 이 데이터가 어떤 의미를 지..
원-핫 인코딩(one-hot encoding) - 단어 또는 문장을 이진 벡터로 변환하여 각 단어 또는 문장 요소의 존재 여부를 표현 - 각 단어를 모두 0으로 바꾸고 원하는 단어만 1로 바꾸어 주는 것 나는 = [ 0 1 0 0 0 0 0 0 ] 그대만큼 = [ 0 0 1 0 0 0 0 0 ] 사랑스러운 = [ 0 0 0 1 0 0 0 0 ] 사람을 = [ 0 0 0 0 1 0 0 0 ] 본 = [ 0 0 0 0 0 1 0 0 ] 적이 = [ 0 0 0 0 0 0 1 0 ] 없다 =[ 0 0 0 0 0 0 0 1 ] ※ 맨 첫 번째는 0 인덱스 자리 1. 토큰화 및 인덱스 값 출력 text = '나는 그대만큼 사랑스러운 사람을 본 적이 없다' token = Tokenizer() token.fit_on_..
MNIST 데이터 - 미국 국립표준기술원(NIST)이 고등학생과 인구조사국 직원 등이 쓴 손글씨를 이용해 만든 데이터 - 7만 개의 글자 이미지에 각각 0부터 9까지 이름표를 붙인 데이터셋 - keras API를 이용해 불러올 수 있음 이미지 인식 1. 데이터 준비 - X : 불러온 이미지 데이터 / y : 이미지에 0~9를 붙인 이름표 - X_train, y_train : 학습셋 / X_test, y_test : 테스트셋 from tensorflow.keras.datasets import mnist # MNIST 데이터셋을 불러와 학습셋과 테스트셋으로 저장 (X_train, y_train), (X_test, y_test) = mnist.load_data() # 학습셋과 테스트셋이 각각 몇 개의 이미지로..
부동산 가격 예측 데이터 분석 - 아이오와주 에임스 지역에서 2006년부터 2010년까지 거래된 실제 부동산 판매 기록을 보고 집의 가격 예측 - 빠진 부분, 범위에서 너무 벗어난 부분, 가격과는 관계 없는 정보 포함 1. 환경 및 데이터 준비 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import seaborn as..
와인 품질 예측 데이터 - 레드 와인과 화이트 와인에 대한 화학적 특성과 품질 등급을 통해 와인의 종류 예측 1. 환경 및 데이터 준비 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from sklearn.model_selection import train_test_split import pandas as pd # 데이터 입력 df = pd.read_csv('./data/wine.csv', header=None) # 데이터를 미리 봄 df.head() # 와인의 속성을 X로 와인의 분류를 y로 저장 X = df.iloc[:,0:12] y = df.iloc[:,12] 2. 검증셋 포함하여 모델 ..
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..