머신러닝(MACHINE LEARNING)
-
간단한 LinearRegression 으로 Boston_price 예측머신러닝(MACHINE LEARNING)/간단하게 이론(Theory...) 2021. 4. 22. 15:04
간단한 LinearRegression 으로 Boston_price 예측을 해보자. 1. 먼저 load boston 모델 load In [1]: from sklearn.datasets import load_boston import matplotlib.pyplot as plt import numpy as np In [2]: boston = load_boston() boston["data"] Out[2]: array([[6.3200e-03, 1.8000e+01, 2.3100e+00, ..., 1.5300e+01, 3.9690e+02, 4.9800e+00], [2.7310e-02, 0.0000e+00, 7.0700e+00, ..., 1.7800e+01, 3.9690e+02, 9.1400e+00], [2.7290..
-
Gradient_descent 으로 구현한 Linear_Regression머신러닝(MACHINE LEARNING)/간단하게 이론(Theory...) 2021. 4. 22. 14:17
https://www.boostcourse.org/ai222/lecture/24517 머신러닝을 위한 파이썬 부스트코스 무료 강의 www.boostcourse.org 네이버 부스트 코스 (Linear_Regression) 을 참고하였습니다. 1. 모듈 삽입 In [1]: import numpy as np import matplotlib.pyplot as plt %matplotlib inline import pandas as pd 2. LOAD DATASET 여기서, Load_excel()로 import In the following data X = number of claims Y = total payment for all the claims in thousands of Swedish Kronor for..
-
Train_Test_Split & Holdout Sampling머신러닝(MACHINE LEARNING)/간단하게 이론(Theory...) 2021. 4. 22. 13:41
Holdout Sampling holdout Sampling 이란, 데이터를 Training 과 Test 로 나눠서 모델링을 하고, 평가하는 방법이다. 가장 일반적인 모델 생성을 위한 Sampling 방법이며, Training 데이터와 Test를 나누는 비율은 일반적으로 8:2, 7:3등의 비율을 사용한다. Why are Training , Validation, Holdout_sampling sets important? 자 그러면, 도대체 왜 training, validation, holdout_sample 이 중요한지 알아보자. 우리는 데이터에 대해서 현재의 데이터에 맞게 세팅된 모델이 필요한 것이 아닌, 내가 미래의 데이터를 수집하는데에 있어 필요한 모델을 알고 싶다. 따라서 데이터 학습에 필요한 데..
-
Gradient_descent(경사 하강법)머신러닝(MACHINE LEARNING)/간단하게 이론(Theory...) 2021. 4. 22. 01:12
경사 하강법 ( Gradient descent)은 1차 근삿값 발견용 최적화 알고리즘 이다. 기본 개념은 함수의 기울기 (경사)를 구하고 경사의 절댓값이 낮은 쪽으로 계속 이동시켜 극값 에 이를 때까지 반복시키는 것이다. -네이버 백과사전- 사전적 의미는 위와 같지만, 좀 더 쉽게 말하자면, 2차방정식에서 배울때, 미분값이 0 인 지점을 구하면, 극소 또는 극대가 되는 점인 걸 상기시켜서, 극값(극소, 극대) 에 가기 위하여, 기울기에 해당하는 변화율을 계속 적용시키는 것이다. 장점은 구현하기 쉽지만, Learning_rate을 직접 설정해주어야 하는 단점과, 출발지점이 올바르지 않을 경우, 이또한 극소 극대가 잘 안구해진다는 단점이 있다. Code 구현을 살펴보자 1. X 와 X^2 에 해당하는 그래프..
-
Normal Equation(정규방정식)머신러닝(MACHINE LEARNING)/간단하게 이론(Theory...) 2021. 4. 19. 12:22
- Normal Equation 이란. 데이터 분석에서 회귀를 진행했을때, 오차를 줄여 줄 수있도록 하는 방법론 중 하나이다. 네이버 지식백과에서는 잔차의 제곱의 합을 최소로 한다는 조건, 즉 최소제곱법에 의하여 얻어지는, 미지수의 개수와 같은 수의 방정식이다. 라고 정의가 되어있는데, 이는 곧 전체 오차의 합을 줄여나가 회귀식을 구하는데 목적이 있다 할 수 있다. - Cost Function을 최소화 하는 법 여기서 argmin 은 최소가 될때까지 반복시키겠다는 의미이다. 따라서 cost function을 최소화 하기 위해, 각 항들의 오차를 제곱하여, 최소가 될때까지 반복시키는 것이 우리가 원하는 normal eq의 최종 형태이다. - 일차식에서의 회귀식 표현해보기 식을 보게 되면, 좌측에 일차식을 ..
-
Python_pickle[피클 이란?]머신러닝(MACHINE LEARNING) 2021. 4. 18. 19:22
목차 피클[Pickle] 모듈 피클 모듈 이란, 파일을 저장시, 리스트[List], 클래스[Class] 등을 저장 할 수 있도록 도와 주는 모듈이다. 예를 들어, colors=['red','green','black'] 이라는 리스트가 있을시, f.write()으로 저장하게 된다면, 오류가 나올 것이다. 따라서 pickle 이라는 모듈을 통해 이진수로 변형한뒤 저장하는 방법을 주로 쓴다. 간단한 에시를 통해 알아보자. 예시 우선 파일을 열기 전에, import pickle 을 통하여, pickle 모듈을 불러와주고, dump 라는 모듈을 통해, 파일에 원하는 변수를 입력시킨다. pickle.dump(obj, file, protocol=None, *, fix_imports=True, buffer_callba..
-
LightGBM 데이터 분류머신러닝(MACHINE LEARNING) 2021. 4. 14. 17:25
LightGMB 의 장점¶ LightGBM 은 XGB보다 더빠른 학습과 에측 수행시간을 가지고 있고, 더작은 메모리 사용이 가능하다. 또한 카테고리형 피처의 자동 변환과 최적변환이 가능하다는 것이 장점이다. LightGBM 의 파라미터¶ LightGBM 은 XGB 와 다르게 리프노드가 계속 분할 되면서, 트리의 깊이가 깊어지므로 이러한 트리 특성에 맞느 하이퍼 파라미터가 필요하다, 주요 파라미터는 다음과 같다. num_iterations : default 값은 100 이며, 반복 수행하려는 트리의 개수를 지정한다. learning rate : default 값은 0.1 이며, 작을 수 록 예측 성능이 좋아지나, 학습이 길어진다는 것도 고려해야 한다. max_depth : 트리 기반의 max_depth 와..
-
XGboost (Ensemble 학습법)머신러닝(MACHINE LEARNING) 2021. 4. 14. 14:46
XGBoost¶ XGBoost 는 트리 기반의 ensemble 알고리즘 학습법에서 가장 각광받고 있는 알고리즘 중 하나입니다. 기존의 GBM 을 기반으로 하고 있지만, 느린 수행시간, 과적합 규제등을 해결한 알고리즘 이다. 뛰어난 예측 성능 GBM 대비 빠른 수행 시간 과적합 규제(Overfitting Regularization) Tree pruning(트리 가지치기) : 긍정 이득이 없는 분할을 가지치기해서 분할 수를 줄임 자체 내장된 교차 검증 반복 수행시마다 내부적으로 교차검증을 수행해 최적회된 반복 수행횟수를 가질 수 있음 지정된 반복횟수가 아니라 교차검증을 통해 평가 데이트세트의 평가 값이 최적화되면 반복을 중간에 멈출 수 있는 기능이 있음 결손값 자체 처리 In [5]: # 주요 파라매터에 관..