머신러닝 with R
-
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로 예측하는 모델이다. 확률..
-
R 데이터 정제/ 결측치 및 이상치 제거하기머신러닝 with R 2019. 7. 18. 14:54
결측치(Missing Value) 란, 누락된 값, 비어있는 값을 의미하고 이러한 값은 함수 적용이 불가하며 분석 결과를 왜곡시킨다. 따라서 결측 값을 제거 후에 분석을 실시하는 게 좋다. 결측치는 보통 NA 라고 표기하며 작은따옴표나 큰 따옴표를 붙이지 않는다. 결측치를 확인할 때는 is.na(데이터프레임 명칭) ex) is.na(df) 결측치의 빈도를 출력할 때에는 table(is.na(데이터 프레임 명칭))이라는 함수를 사용한다. ex) table(is.na(df)) 결측치를 포함한 상태로 mean( ), sum( )과 같은 분석을 실시하면, 결과 값에 NA라고 뜨면서 제대로 값을 산출하지 못한다. 따라서 결측치가 있는 행을 제거한 후 분석을 실시해야 한다. 결측치를 제외 할 때에는 filter(!..
-
자유자재로 데이터 가공하기2. 데이터 전처리/ dplyr 패키지/mpg 데이터 심화 활용머신러닝 with R 2019. 7. 18. 12:24
이번 포스팅에서는 ggplot2 에서 기본으로 제공하는 mpg 데이터를 활용하여 이전 시간에 배운 dplyr 패키지 함수들을 활용하여 복습해보려고 한다. [filter 함수 활용] 1) displ (배기량)이 4이하인 자동차와 5 이상인 자동차 중 어떤 자동차의 hwy(고속 도로 연비)가 평균적으로 높은지 알아보자. displ1 % filter(displ =5) #배기량이 5이상인 데이터를 추출해 displ2에 할당 mean(displ1$hwy) #배기량이 4이하인 데이터의 고속도로 연비 평균값 mean(displ2$hwy) #배기량이 5이상인 데이터의 고속도로 연비 평균값 배기량이 4이하인 자동차의 hwy의 평균값은 25.96319 이고 5이상인 자동차의 hwy의 평균값은 18.07895로 배기량이 4..
-
자유자재로 데이터 가공하기 1. 데이터 전처리 dplyr 패키지머신러닝 with R 2019. 7. 17. 18:02
데이터 전처리 (Preprocessing) - dplyr 패키지 바로 이전 포스팅한 글에서 설치한 dplyr 패키지는 데이터 전처리에 특화된 R의 패키지이다. 여기에는 다음과 같은 다양한 함수들이 포함되어 있다. 함수 기능 filter( ) 행 추출 select( ) 열(변수) 추출 arrange( ) 정렬 mutate( ) 변수 추출 summarise( ) 통계치 산출 group_by( ) 집단별로 나누기 left_join( ) 데이터 합치기 (열) bind_rows( ) 데이터 합치기 (행) csv_exam 파일을 exam에 넣어 데이터를 준비하고, 패키지를 로드한다. exam % filter(class == 1) # 1반 데이터만 추출 exam %>% filter(class == 2) exam %>..
-
R 데이터 분석의 기초 2. 데이터 수정하기 / 변수 이름 바꾸기/ 파생 변수 생성/ 조건문 ifelse 활용 (예제 있음)머신러닝 with R 2019. 7. 16. 16:12
데이터 분석을 하는 데 있어서 가장 많은 시간을 투자해야 하는 부분이 데이터를 분석에 필요한 형태로 만드는 '데이터 전처리' 과정이다. R언어는 이러한 데이터 전처리를 위한 다양한 패키지를 제공하고 있는데, 그중, 데이터 프레임을 다루는 dplyr 패키지가 있다. 우선 dplyr 을 설치하고 로드한 후 데이터 프레임 내의 변수를 수정해보려고 한다. ggplot2 패키지 안에 있는 mpg 데이터의 변수명은 긴 단어를 짧게 줄인 축약어로 되어 있다. cty 변수는 도시 연비, hwy 변수는 고속도로 연비를 의미하는데, 이 변수명을 이해하기 쉬운 단어로 바꿔보자. [데이터 변수 이름 바꾸기] 1) ggplot2 패키지의 mpg데이터의 raw데이터를 손상시키지 않고 사용할 수 있도록 불러온 뒤 복사본을 만든다...
-
R 데이터 분석의 기초 1. 데이터 파악하기 - head/tail/dim/View/str/summary머신러닝 with R 2019. 7. 16. 00:59
데이터 분석이 중요한 이유는 무엇일까? 우리는 넘쳐나는 정보의 시대, 빅데이터 시대에서 살고 있다. 구글에 R 이라는 단어만 검색해도 R에 대한 설명은 쉽게 찾아 볼 수 있다. '구글링 (googling)' 이라는 단어가 생긴 것 처럼, 이제는 인터넷을 검색하면 모든 정보를 알아낼 수 있는 것이다. 따라서 정보의 양보다, 질이 훨씬 더 중요하게 되었다. 내가 가진 정보들이 얼마나 타당한지, 얼마나 정확한지 등 데이터의 품질을 파악하는 것이 데이터 분석의 하나의 목적인 것이다. R에는 이런 데이터를 파악하는 함수를 기본적으로 제공하고 있다. 이러한 것들을 잘 활용한다면 어마어마한 양의 데이터를 파악하기 쉽게, 다루기 쉽게 수정할 수 있을 것이다. 함수 기능 head( ) 데이터 앞부분 6개를 출력 tail..