본문 바로가기

데이터 청년 캠퍼스30

[전처리] 라벨 인코딩, 원 핫 인코딩, 오버샘플링 SMOTE 범주형 데이터 인코딩 머신러닝을 위해 범주형 문자열 데이터를 숫자(코드)로 변환 대표적 인코딩 방식 Label Encoding: 범주형 변수를 코드형 숫자값으로 변환. 변환된 숫자의 크기는 의미가 없어, 숫자의 크기가 중요한 회귀분석에서는 사용하지 않는다. 크기에 영향을 받지 않는 분류 분석에 사용한다 from sklearn.preprocessing import LabelEncoder import numpy as np items=['TV', '냉장고', '전자레인지', '컴퓨터', '선풍기', '믹서', '믹서'] encoder = LabelEncoder() labels = encoder.fit_transform(items) print(labels) print(encoder.classes_) print(.. 2022. 7. 20.
[인공신경망] Keras 신경망, 수행과정 정보 시각화, 검증 손실, 모델 저장과 적재, 콜백 패션 MNIST 패션 아이템으로 이루어진 이미지 데이터. 손글씨 MNIST와 크기, 개수가 동일하다. 1.Tensorflow 라이브러리에서 적재 from tensorflow import keras (train_input, train_target),(test_input, test_target) = keras.datasets.fashion_mnist.load_data() print ('train :', train_input.shape, train_target.shape) print ('test :', test_input.shape, test_target.shape) 2. 이미지 데이터 확인하기 import matplotlib.pyplot as plt import numpy as np # 첫 10개 이미지 출.. 2022. 7. 20.
[인공신경망] 학습 테크닉: 오버피팅 해결하기, 하이퍼 파라미터 최적화하기 오버 피팅 매개변수가 많고 표현력이 높은 모델, 훈련 데이터가 적은 모델 등에서 오버피팅이 일어날 가능성이 높다. 오버피팅을 완화하기 위해서 가중치 감소 Weight Decay, 드롭 아웃, Dropout 등을 실시한다 실험설정 고의로 MNIST 신경망이 오버피팅되는 상황을 유도하고 가중치 감소와 드롭아웃을 적용 결과와 비교한다 오버피팅 되는 상황: 복잡한 모델 7층망, 적은 훈련 데이터 300장 Case1 오버피팅 완화기술 미적용 Case2 가중치 감소 (lambda = 0.1) 적용 Case3 드롭아웃 적용 오버피팅이 되는 신경망 만들기 1. 필요한 라이브러리, 패키지, 데이터 불러오고 오버피팅 되는 신경망 모델 만들기 import numpy as np import matplotlib.pyplot a.. 2022. 7. 19.
[인공신경망] 오류역전파 계산 그래프 Q1. 100원인 사과 2개의 구매금액은? 단 소비세 10%을 부과한다 문제풀이 흐름: 계산 그래프를 구성한다 → 그래프에서 계산을 왼쪽에서 오른쪽으로 진행한다(순전파 Forward Propabation) 국소적 계산 계산 그래프는 국소적 계산을 전파해 최종 결과를 얻는다. 국소적은 자시과 직접 관계된 작은 범위를 의미한다. 각 노드는 자신과 관련된 계산만을 담당하며, 노드까지의 중간 결과는 저장한다. 이러한 방식은 복잡한 문제를 단수화하는데 도움이 된다. 역전파 Back Propagation 오른쪽에서 왼쪽으로 전달되는 흐름을 의미한다. 계산 그래프에서 오른쪽으로 왼쪽으로 진행하며 미분값을 구한다 연쇄법칙 합성함수의 미분 z = t**2 t = x+ + y 연쇄법칙과 계산 그래프 각 노드는.. 2022. 7. 19.