목록분류 전체보기 (125)
Hippo's data

Chapter 03 회귀 알고리즘과 모델 규제 03-1 k-최근접 이웃 회귀 03-2 선형 회귀 03-3 특성 공학과 규제 기본 미션 Ch.03(03-1) 2번 문제 출력 그래프 인증하기 # k-최근접 이웃 회귀 객체를 만듭니다 knr = KNeighborsRegressor() # 5에서 45까지 x 좌표를 만듭니다 x = np.arange(5, 45).reshape(-1, 1) # n = 1, 5, 10일 때 예측 결과를 그래프로 그립니다. for n in [1, 5, 10]: # 모델 훈련 knr.n_neighbors = n knr.fit(train_input, train_target) # 지정한 범위 x에 대한 예측 구하기 prediction = knr.predict(x) # 훈련 세트와 예측 결과..

오늘은 DNN, CNN에 이어 딥러닝 모델 중 하나인 RNN(Recurrent Neural Network) 순환 신경망을 구현해보도록 하겠습니다 RNN은 입출력을 시퀀스(sequence) 단위로 처리하는 모델인데요 즉, 순서가 있는 문제에 주로 사용되는데요 시계열 처리, 자연어 처리 / 이미지 주석생성, 언어모델링, 음성인식 등에 주로 활용됩니다 DNN에 비해 hidden layer를 위와 옆(두방향)으로 이어진다는 것이 큰 특징입니다 one to many -> 사진 설명 붙이기 many to one -> 감성분류(Positive / negative) many to many -> 번역 ## RNN 문제점 -> 기울기 소실(Gradient Vanishing) -> 역전파시 Gradient가 점점 줄어들어 ..

오늘은 지난번 DNN(Deep Neural Network) 심층 신경망에 이어 딥러닝 모델 중 하나인 CNN(Convolutional Neural Network) 합성곱 신경망을 구현해보도록 하겠습니다 특히 CNN은 이미지 처리에 강세를 보이는 모델인데요 ### DNN은 2차원 형태 이미지를 1차원 형태 나열해서(flatten) 처리하므로 정보 소실을 발생하기 때문에 적합하지 않음 # CNN의 구조 두 영역으로 구분됨 1. 이미지 특징 추출(feature Learning) 영역 + 2. 클래스 분류(classification) 영역 1. 이미지 특징 추출(feature Learning) 영역 -> Convolution Layer + Pooling Layer Convolution Layer -> Convo..

오늘은 딥러닝 모델 중 하나인 DNN(Deep Neural Network) 심층 신경망 모델 구현에 대해 알아보겠습니다! 머신러닝 모델 구현시 사이킷런(scikit-learn)을 사용한 것처럼 딥러닝 또한 라이브러리를 통해 쉽게 구현할 수 있습니다 딥러닝 구현 라이브러리에는 케라스, 텐서플로우, 파이토치 등 여러 종류가 있는데요 그중 텐서플로우(tensorflow)를 활용하여 구현해보도록 하겠습니다!!! 1) 불러오기 2) 모델 생성 3) 모델 학습 1) 불러오기 import tensorflow as tf from tensorflow.keras.models import Sequential # 순차적인 틀을 만듦 / 틀에 레이어들을 채움 from tensorflow.keras.layers import De..

오늘은 앙상블 방법에 대해 알아보겠습니다! 앙상블(Ensemble)이란 여러 기본모델(base model)을 결합하여 새로운 모델(Ensemble model)을 생성하는 것입니다 여러 모델을 결합하므로 단일 모델에 비해 성능이 우수하며 편향과 분산을 고려하므로 과적합 방지에 용이합니다 그렇다면 모델을 결합하는 방법에 대해 알아보겠습니다! 1. 보팅(Voting) -> 여러 모델 결과를 기반으로 투표를 통해 결과 도출 하드 보팅(Hard Voting) -> 다수결 선택 소프트 보팅(Soft Voting) -> 각 모델 예측 확률값 평균으로 선택 2. 배깅(bagging) -> Bootstrap Aggregation의 약자 -> 복원 추출하여 병렬학습 1. 학습데이터를 복원추출하여 여러 샘플 데이터를 만듦 ..

오늘은 머신러닝에 쓰이는 주요 모델들의 모델링 방법에 대해 알아보겠습니다!!! 특히 머신러닝에서 유용하게 사용되는 라이브러리인 사이킷런(Scikit-learn)을 이용해보겠습니다 모델을 처음부터 구현하는 것은 굉장히 어려운 일인데요 사이킷런 라이브러리를 활용하면 간단한 코드 몇줄만으로 모델링을 진행할 수 있습니다! 모델링은 크게 4가지 단계로 구성되는데요 1) 불러오기 2) 모델 생성 3) 모델 학습 4) 예측 ### 모델링 이전 X(학습데이터)와 y(정답데이터)를 생성하고 train(학습), test(검증) 데이터셋을 생성하는 작업이 필요합니다!! y = df['타겟변수'] # 타겟변수(종속변수)가 존재하는 데이터 생성 X = df.drop('타겟변수' , axis = 1) # 타겟변수(종속변수)가 제..

오늘은 저번 분류(Classification)모델의 평가 방법에 이어 회귀(Regression) 모델 평가방법에 대해 알아보겠습니다 1. MAE (Mean Absolute Error) / 평균절대오차 -> 실제값과 예측값의 차이 즉, 오차가 작을 수록 좋은 모델 y = 실제값 ŷ = 예측값 n = 데이터 수 2. MSE (Mean Squared Error) / 평균제곱오차 -> 오차를 절대값이 아닌 제곱하여 더함 / MAE에 비해 제곱하므로 이상치(특이값)의 영향을 크게받음 y = 실제값 ŷ = 예측값 n = 데이터 수 3. RMSE (Root Mean Squared Error) / 평균제곱근오차 -> MSE에 루트를 씌움 / MSE가 이상치에 민감하므로 오차가 발생할 수록 값이 기하급수적으로 커짐, 루..

학습된 모델이 얼마나 뛰어난 성능을 보이는지 평가하는 방법인 모델평가 방식은 분류(Classification)모델인지, 회귀( Regression)모델인지에 따라 다른데요 오늘은 분류(Classification)모델의 평가방법에 대해 알아보겠습니다 1. 오차/혼동 행렬(Confusion matrix) - TP (True Positive): 실제 Positive , 예측 Positive -> 실제와 예측 동일 -> 정답(True) - FP (False Positive): 실제 Negative , 예측 Positive -> 실제와 예측 다름 -> 오답(False) - FN (False Negative): 실제 Positive , 예측 Negative -> 실제와 예측 다름 -> 오답(False) - TN (..