본문 바로가기

분류 전체보기195

R을 이용한 머신러닝 - 2 (비선형 회귀분석) 2. 비선형 회귀2.1 SVM를 이용한 비선형 회귀SVM : 고차원의 입력에 대해, 변환함수를 통해 가중치를 찾게 됨이론을 통해 배우는 회귀분석은 대부분 선형적인 모형을 가정하고 있다. 하지만 실제의 데이터는 대부분 선형성을 만족하지 못한다. 따라서 실제적으로 데이터 분석에서 처리해야 하는 데이터는 비선형적인 모델이라고 할 수 있다. 선형 모형은 독립변수에 따라 종속변수가 일정한 변화, 즉 선형성을 보이지만 비선형 모형은 일정한 변화를 보이지 않는다. 수학적인 의미로는, df가 계속 변한다고 할 수 있다. 사인함수나 지수함수처럼 선형적인 모양을 하지 않는 독립변수를 포함하는 모형을 일반적으로 비선형 모형이라 한다. R에서의 SVM 회귀 분석 코드### 비선형 회귀 x = sample(0:2*pi, 100.. 2017. 7. 11.
R을 이용한 머신러닝 - 1 (선형 회귀분석) R을 이용한 머신러닝 -1 (회귀분석 기초)1. 선형 회귀1.1 단순 선형 회귀- 회귀분석은 독립변수와 종속변수간의 관계를 모델링하는 기법을 말한다. - 그 중에서 선형회귀는 변수간의 관계가 선형적 형태로 나타나는 경우이다. - 회귀를 통해 나타난 직선에서부터 멀어진, 측정치의 Y값의 차이를 오차라고 한다. - 선형회귀는 Y = a1X1 + a2X2 + ... + b 의 수식으로 나타낼 수 있다. (단순 선형 회귀는 변수가 1개) - 표본이 등분산일 경우 측정치, 오차가 직선 근처에 모여있어 예측이 상대적으로 좋지만, 이분산일 경우 측정치가 물결을 치게 되므로 선형적 예측이 좋지 않다. - 그래서 선형 회귀에서는 등분산을 가정한다. - 독립 변수간에는 독립을 가정한다 -> 다중 공선성 고려 X - 회귀계.. 2017. 7. 11.
Tistory에 코드를 삽입하는 간단한 방법 블로그에 프로그래밍 글을 쓰기 시작하면서, 코드를 티스토리에 올리는 방법들을 열심히 찾아봤었다. 가장 일반적으로 사용하는 방식이, Highlight.js 를 이용하여 syntax highlighting을 하는 방식이었다. 참고 : [https://www.cmsfactory.net/node/20556] 이 방식으로 포스팅은 티스토리 에디터에서 html 모드로 이것저것 inner html 코드를 삽입하는, 나름 귀찮은 방식이다. 그 방식이 귀찮다고 느껴, 다음으로 사용한 방식은 마크다운 파일을 작성한 뒤 html로 export하여 티스토리에 붙여넣기만 하는 방식이었다. 이 방식 역시 마크다운 파일을 따로 작성해야 하는 불편함이 있었다. (물론 코드 복붙하고 대강 ## 태그만 붙이는 방식이었지만..) 그러다 .. 2017. 7. 7.
R을 이용한 통계분석 - 4 (집단간 차이검정과 분산분석) 집단간 차이검정을 R 코드로 실행해 볼 것이다. 집단간 차이검정 역시 가설검정을 의미하는데, 가설 검정에서 귀무가설의 진위여부를 판별하기 위해 검정 통계량을 사용한다. 일반적인 가설검정의 단계는 다음과 같다. 1. 대립가설을 설정. 2. 유의수준을 설정. 3. 적당한 검정 통계량을 선정. 4. 유의수준에 대한 기각역을 정함. 5. 표본으로부터 검정 통계량을 관찰함. 6. 관찰값이 기각역에 있는지를 판단하여 기각과 채택을 결정함. 1. R에서의 t-test 집단간의 평균 차이 여부를 검증하는 방법인 t-test를 R코드로 진행해보았다. t-검정은 주로 두 집단을 비교할 때 사용한다. # 평균 180, 표준편차 10인 100개의 표본추출 data1 = rnorm(100, mean=180, sd=10) t.t.. 2017. 7. 7.
R을 이용한 통계분석 - 3 (R을 이용한 데이터 조작 및 가설검정 방법) 1. 데이터 조작 1.1 데이터 생성 및 저장 # write data file write.xlsx(iris, 'iris.csv') methods(plot) # check methods a1 = iris a2 = cars save(a1, a2, file = 'a.rdata') # rdata save and load load('a.rdata') 1.2 데이터 manipulation x1 = matrix(1:15, nrow=5) x2 = matrix(1:15, nrow=5, byrow = T) rbind(x1,x2) # bind row data x3 = c(1,3) # concatenate vector data for(i in 1:10){ x3 = c(x3, i) } x4 = c(1,2,3) x5 = c(5,.. 2017. 7. 5.
베이즈 이론 베이즈 정리란, 두 확률변수의 사전확률과 사후확률의 관계를 나타내는 정리이다. 기본 아이디어는 기존의 가설에 현재의 자료를 반영해서 더 새로운 것을 만들어낸다는 아이디어로,기존의 통계학의 패러다임과는 약간 다른 유형이었다. 베이즈 정리는 통계학적으로 비판적인 시각을 받고 있었으나, 심리학, 신경과학, 인공지능 등의 분야에서 인간의 정보처리방식과 유사하다는 점에서 계속하여 발전되어 왔었다. 최근에는 컴퓨팅 환경이 좋아지면서 머신 러닝에 대한 흐름이 가속화됨에 따라 베이즈주의적으로 해석하는 기법이 많이 발전되었다. 이제 수학적인 측면에서 살펴보자. 기본적 용어로 다음의 용어들이 있다. 1. 사후 확률 : 관측자가 이미 알고 있는 사건으로부터 나온 확률로, 베이즈 정리에서는 P(A1), P(A2)... 을 의.. 2017. 7. 5.
R을 이용한 통계분석 - 2 (Textmining 에서의 데이터 전처리 & 종류별 데이터 import방법) 1. 비정형 데이터 처리 R 패키지 참고 : http://r4pda.co.kr/ 텍스트와 음성, 이미지는 비정형 데이터라고 할 수 있다. 최근 머신러닝 분야에서 가장 활발하게 연구 및 개발이 이루어지고 있는 것들이 바로 이 비정형 데이터라고 할 수 있다. 비정형 데이터를 이용하여 인사이트를 도출하는 것이 데이터 분석 / 머신 러닝 분야의 가장 큰 화두인듯 하다. 1.1 텍스트 처리 : KoNLP를 이용 텍스트마이닝 전처리 과정 텍스트를 분석에 용이한 형태로 전처리 하기 위해서는, 가장 먼저 사전작업이 필요하다. 여기서 사전은 Dictionary를 의미한다. R Studio에서는 사전을 메모리상에 올린 뒤, MergeUserDic(discrete 되었다.) 으로 사전을 구성한다. 다음으로 텍스트를 pre-.. 2017. 7. 5.
R을 이용한 통계분석 - 1 (기본 통계분석 실습과 rJava 환경설정 Window + Mac OS) 1. 개발환경 구축 1.1 기본 설치 : Java 최신버전과 R, Rstudio 설치. 참고 : R 패키지 리스트 (https://cran.r-project.org/ - package) cmd, terminal 에서 javac 명령어로 자바 설치 및 path 확인 1.2 javac 명령어가 안될때 / 설정법 (윈도우 7 기준) JAVA_HOME 이라는 변수를 추가하고, JAVA_HOME에는 java sdk 설치 경로를 입력한다. 시스템 변수 path에 JAVA_HOME을 추가하고, bin을 하위 디렉토리로 가리킨다. (;%JAVA_HOME%\bin) 다음처럼 되었으면 성공. 1.3 Mac OS에서 rJava 연동하기 맥 환경에서 R, R Studio 설치는 동일하다. sudo R CMD javarecon.. 2017. 7. 3.
데이터베이스 개론 정리 - 4 (SQL join, 부속질의, 정의어 다루기) 4일차 0-1. 4일차 학습 내용 - 2개 이상의 테이블을 합체하는 조인 - 부속질의 개념과 실습 - 정의어 SQL 작성 1. 3일차 복습 --그룹 지어진 부서별 평균 급여가 3000 이상인 부서의 번호와 부서별 평균 급여를 출력하는 쿼리문 select deptno, avg(sal) from emp group by deptno having avg(sal) > 3000; --부서별 사원들의 급여 총합과 최소급여, 최대급여, 평균 급여를 구하시오. select deptno, sum(sal), max(sal), min(sal), avg(sal) from emp group by deptno --부서별 변호가 20인 사원들 중에서 급여가 1000 이상인 사원의 이름을 출력하시오. select ename from .. 2017. 6. 30.
Install Python 3 + Anaconda(+tensorflow) + Jupyter on Mac OS 0. 시작하며 Mac OS에서 GPU 버젼을 사용하려면 NVIDIA CUDA를 사용해야 한다. 유감스럽게도 비교적 최근에 나온 Mac 제품들에는 NVIDIA 그래픽카드가 들어가 있지 않기 때문에 Mac OS 에서 GPU 버젼을 쓰려면 NVIDIA 그래픽카드가 들어있는 제품을 이용하거나 Linux 환경의 서버에서 개발을 진행해야 할 것이다. 1. Install Python3 on Mac OS Mac OS에서 GPU 버젼을 사용하려면 NVIDIA CUDA를 사용해야 한다. 유감스럽게도 비교적 최근에 나온 Mac 제품들에는 NVIDIA 그래픽카드가 들어가 있지 않기 때문에 Mac OS 에서 GPU 버젼을 쓰려면 NVIDIA 그래픽카드가 들어있는 제품을 이용하거나 Linux 환경의 서버에서 개발을 진행해야 할 .. 2017. 6. 30.