전체 글
-
R과 기초통계 - 좋은 회귀 모형? 회귀분석의 확장 LASSO머신러닝 with R 2019. 8. 24. 17:43
회귀분석을 쓰는 이유 두개의 포스팅을 통해 회귀분석을 공부해 보았다. 회귀분석을 사용 하는 이유는 무엇일까? 두 가지로 정리할 수 있는데 간단히 '해석'과 '예측' 을 위해서 사용한다고 할 수 있다. 해석: 회귀식을 통해 입력 변수들이 목표 변수에 미치는 영향력을 측정 예측: 입력변수를 통해 목표 변수를 예측 해석 필요 없이 예측만을 위한 모델: random forest, kenel machine, deep learning... 좋은 회귀 모형이란? 또 한가지 생각해 봐야할 부분은 좋은 회귀 모형은 과연 어떤 것인가에 대한 것이다. 바로 "가장 적은 수의 독립변수로 종속 변수의 분산을 가장 많이 설명할 수 있는 모형" 이다. 하지만 100개의 입력변수로 95% 설명한 모형과 10개의 입력변수로 80%를 ..
-
R 기초 통계/ 로지스틱 회귀 분석 (Logistic Regression)이란?머신러닝 with R 2019. 8. 23. 21:01
회귀분석의 한계점 데이터를 분석할 때 목표 변수가 이분형인 분류 문제가 있을 수 있다. 예를 들어 고객 이탈, 응답여부, 부도 여부, 구매 여부 등등 yes 혹은 no로 분류해야 할 경우이다. x 변수: 월수입 y 변수: 어떤 상품에 대한 구입 여부(1 = 구입/ 0 = 구입하지 않음) 이때, 우리는 예측값(y)으로 이산형을 얻어야 하지만, 단순 회귀분석을 적용한다면 예측값이 이산형이 나올 수 없다. 단순 회귀분석은 선형식으로 나오기 때문에 식에 따라 음수가 나올 수도 있고, 1보다 큰 숫자들이 나올 수 있다. 즉, y 에 대한 확률분포가 선형 회귀모형에서 가정되는 확률 분포가 아니다. 그렇다면 어떻게 해결해야 할까? 종속변수를 확률값 P로 가정하여 결과를 예측해야 한다. P는 확률 값이기 때문에 0~1..
-
R 기초 통계 / 회귀 분석이란? (상관분석, 설명력, 다중공선성)머신러닝 with R 2019. 8. 22. 20:36
회귀분석이 쓰이는 이유? 가장 기본적인 분석으로 모형의 결과가 선형 1차 방정식으로 매우 단순하고 매우 잘 맞는다. 입력 변수의 회귀 계수를 이용해 각 변수들의 영향력을 쉽게 파악할 수 있어 매우 투명하다 데이터가 적더라도 모형을 만들 수 있으며 데이터가 많더라도 모형을 만드는데 시간이 오래 걸리지 않는다. 하지만 선형적이지 않는 데이터는 선형성을 가지도록 변수를 변환해야 한다. 상관분석 상관분석(correlation analysis)은 x값과 y 값, 두 변수 간의 상관관계를 탐색하기 위해 사용된다. 즉 연속적인 두 변수 간에 선형 관계가 있는지 탐색 및 확인하는 방법이다. 상관 분석에서 구해지는 상관 계수 r은 두 변수의 직선적인 연관성의 정도를 나타낸다. 간단히 말해서, x가 증가하면 y도 증가하는..
-
R 머신러닝 지도학습의 모형 성능 평가머신러닝 with R 2019. 8. 7. 18:50
모형 평가 만들어진 모형의 성능을 평가할 때, 일반적으로 테스트 테이터와 훈련 데이터를 나누게 된다. 그렇다면 왜 굳이 데이터를 분할하는지에 대해서도 생각해 볼 필요가 있다. 이는 학생이 시험을 볼 때와 비슷하다. 학생이 공부를 할 때 공부한 것을 바탕으로 연습문제를 풀어본다. 그 연습문제들이 실제 시험을 볼 때 똑같이 나온다면 답만 외운 학생들이 시험을 더 잘 볼 수도 있다. 그렇기에 시험을 볼 때는 그 연습 문제가 절대 똑같이 나오지 않는다. 문제가 응용되거나 조금씩 바뀌거나 하는 등 처음 보는 문제들로 학생의 실력을 평가하는 것이다. Training Data & Test Data 머신러닝에서도 마찬가지이다. 기존에 학습하지 않았던 데이터들로 평가해야 모형의 성능을 더욱 정확하게 평가할 수 있다. 우..
-
앙상블(Ensemble) 모형 / Bagging과 boosting머신러닝 with R 2019. 7. 28. 16:16
데이터 분석에 있어서 모델링은 최적의 알고리즘을 선택함으로써 최종 모델을 도출하는 데 있어서 큰 역할을 한다. 앙상블(ensemble)이란 '함께, 동시에, 한꺼번에, 협력하여'라는 의미의 프랑스어이다. 이 의미와 같이 데이터 분석에서도 여러 개의 값을 하나로 하치는 방법을 '앙상블'이라고 말한다. 이는 모델링 기법 중에서 머신러닝에서 가장 많이 사용되고 있는 기법으로 여러 개의 분류 모형에 의한 결과를 종합하여 분류의 정확도를 높이는 방법이다. 이 모형은 여러 개의 weak leaner를 결합한다면 single learner 보다 더 나은 성능을 얻을 수 있다는 일종의 '집단 지성'으로부터 아이디어가 나왔다. 일반적으로 학습에서 나타나는 오류는 1) 지나친 치우침(bias)으로 인한 underfitti..
-
R로 그래프 만들기 /ggplot2 패키지 /R 시각화머신러닝 with R 2019. 7. 25. 19:28
R의 장점 중 하나는 시각화와 관련한 다양한 그래프를 표현하는 기능을 포함하고 있다는 것이다. 2차원, 3차원 그래프는 물론 산점도, 상자 도표, 지도 그래프, 네트워크 그래프, 모션 차트, 3D 그래프 등 다양한 함수를 사용하면 만들지 못하는 그래프가 없다. 그래프를 그리는 패키지 중 가장 기본적으로 사용되는 것이 ggplot2이고, 최소한의 설정으로 빠르게 결과물을 만들어 낼 수 있다. ggplot2는 3가지 레이어 구조로 구성되어 있다. 1) 배경 설정(축 설정) 2) 그래프 추가(점, 막대, 선) 3) 설정 추가(축 범위, 색, 표식 등) [산점도 그래프 만들기] 산점도(Scater Plot)는 데이터를 x축과 y축에 점으로 표현한 그래프이다. 나이와 소득처럼, 연속 값으로 된 두 변수 간의 관계..
-
R 데이터 마이닝 '의사결정 나무 (Decision Tree)'란?머신러닝 with R 2019. 7. 23. 01:21
의사결정 나무 추론이란? 의사결정 나무 추론은 데이터 마이닝에서 대중적으로 사용하는 방법론이다. 의사결정규칙을 나무 구조로 도표화하여 분류(classification)와 추정(esimation)을 수행하는 분석 방법이다. 입력된 변수(x)를 바탕으로 목표 변수(y)의 값을 예측하는 모델을 생성하는 것이 목적이다. 의사결정나무는 규칙들을 표현하고 있으며, 이러한 규칙은 문장 형태로 표현될 수 있다. 신경망, 판별분석, 회귀분석보다 이해하기 쉽고 설명력이 높다는 특징이 있다. 의사결정 나무는 초등학생 때 누구나 한 번쯤 해본 '스무고개'와도 같다. 어떤 연속된 질문들에 대해 예/아니오로 대답함으로써 정답을 찾아 나가는 과정이다. 처음 질문의 답에 따라 다음 질문이 달라지는 것도 스무고개와 비슷하다고 볼 수 ..
-
R 기계학습 모델링 기법 및 알고리즘 (지도학습, 비지도학습, 분류모델, 추정모델, 군집모델, 연관성 모델)머신러닝 with R 2019. 7. 22. 17:32
기계학습 (Machine Learning)의 종류 기계 학습에는 크게 두가지 종류가 있는데, 대표적으로 지도학습과 비지도학습이 있다. 지도학습은 데이터 안에 예측하려는 변수, 즉 결과값(y)이 존재해, 이것을 이용해 입력변수(x)의 조합을 학습해 y 값을 최대한 잘 예측할 수 있는 y = f(x) 함수를 만드는 방법이다. 정확한 y 값을 알고 있기 때문에 우리가 학습한 것이 얼마나 잘 맞는지를 평가할 수 있다. 지도학습의 모델에는 분류(Classification) 모델과 추정(Estimation) 모델이 있다. 먼저, 분류 모델이란 입력변수(x)가 있고 목표변수(y)가 있는데, x 변수를 조합하여 변수 (y')를 예측하는 함수를 만드는 것이다. 즉 y' 변수를 yes or no로 예측하는 모델이다. 확률..