Programming & Machine Learning
-
R을 이용한 머신러닝 - 2 (비선형 회귀분석)Programming & Machine Learning/R X 머신러닝 2017. 7. 11. 00:24
2. 비선형 회귀2.1 SVM를 이용한 비선형 회귀SVM : 고차원의 입력에 대해, 변환함수를 통해 가중치를 찾게 됨이론을 통해 배우는 회귀분석은 대부분 선형적인 모형을 가정하고 있다. 하지만 실제의 데이터는 대부분 선형성을 만족하지 못한다. 따라서 실제적으로 데이터 분석에서 처리해야 하는 데이터는 비선형적인 모델이라고 할 수 있다. 선형 모형은 독립변수에 따라 종속변수가 일정한 변화, 즉 선형성을 보이지만 비선형 모형은 일정한 변화를 보이지 않는다. 수학적인 의미로는, df가 계속 변한다고 할 수 있다. 사인함수나 지수함수처럼 선형적인 모양을 하지 않는 독립변수를 포함하는 모형을 일반적으로 비선형 모형이라 한다. R에서의 SVM 회귀 분석 코드### 비선형 회귀 x = sample(0:2*pi, 100..
-
R을 이용한 머신러닝 - 1 (선형 회귀분석)Programming & Machine Learning/R X 머신러닝 2017. 7. 11. 00:22
R을 이용한 머신러닝 -1 (회귀분석 기초)1. 선형 회귀1.1 단순 선형 회귀- 회귀분석은 독립변수와 종속변수간의 관계를 모델링하는 기법을 말한다. - 그 중에서 선형회귀는 변수간의 관계가 선형적 형태로 나타나는 경우이다. - 회귀를 통해 나타난 직선에서부터 멀어진, 측정치의 Y값의 차이를 오차라고 한다. - 선형회귀는 Y = a1X1 + a2X2 + ... + b 의 수식으로 나타낼 수 있다. (단순 선형 회귀는 변수가 1개) - 표본이 등분산일 경우 측정치, 오차가 직선 근처에 모여있어 예측이 상대적으로 좋지만, 이분산일 경우 측정치가 물결을 치게 되므로 선형적 예측이 좋지 않다. - 그래서 선형 회귀에서는 등분산을 가정한다. - 독립 변수간에는 독립을 가정한다 -> 다중 공선성 고려 X - 회귀계..
-
R을 이용한 통계분석 - 4 (집단간 차이검정과 분산분석)Programming & Machine Learning/R X 머신러닝 2017. 7. 7. 17:59
집단간 차이검정을 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..
-
R을 이용한 통계분석 - 3 (R을 이용한 데이터 조작 및 가설검정 방법)Programming & Machine Learning/R X 머신러닝 2017. 7. 5. 23:03
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,..
-
베이즈 이론Programming & Machine Learning/Mathematics & Statistics 2017. 7. 5. 02:08
베이즈 정리란, 두 확률변수의 사전확률과 사후확률의 관계를 나타내는 정리이다. 기본 아이디어는 기존의 가설에 현재의 자료를 반영해서 더 새로운 것을 만들어낸다는 아이디어로,기존의 통계학의 패러다임과는 약간 다른 유형이었다. 베이즈 정리는 통계학적으로 비판적인 시각을 받고 있었으나, 심리학, 신경과학, 인공지능 등의 분야에서 인간의 정보처리방식과 유사하다는 점에서 계속하여 발전되어 왔었다. 최근에는 컴퓨팅 환경이 좋아지면서 머신 러닝에 대한 흐름이 가속화됨에 따라 베이즈주의적으로 해석하는 기법이 많이 발전되었다. 이제 수학적인 측면에서 살펴보자. 기본적 용어로 다음의 용어들이 있다. 1. 사후 확률 : 관측자가 이미 알고 있는 사건으로부터 나온 확률로, 베이즈 정리에서는 P(A1), P(A2)... 을 의..
-
R을 이용한 통계분석 - 2 (Textmining 에서의 데이터 전처리 & 종류별 데이터 import방법)Programming & Machine Learning/R X 머신러닝 2017. 7. 5. 02:02
1. 비정형 데이터 처리 R 패키지 참고 : http://r4pda.co.kr/ 텍스트와 음성, 이미지는 비정형 데이터라고 할 수 있다. 최근 머신러닝 분야에서 가장 활발하게 연구 및 개발이 이루어지고 있는 것들이 바로 이 비정형 데이터라고 할 수 있다. 비정형 데이터를 이용하여 인사이트를 도출하는 것이 데이터 분석 / 머신 러닝 분야의 가장 큰 화두인듯 하다. 1.1 텍스트 처리 : KoNLP를 이용 텍스트마이닝 전처리 과정 텍스트를 분석에 용이한 형태로 전처리 하기 위해서는, 가장 먼저 사전작업이 필요하다. 여기서 사전은 Dictionary를 의미한다. R Studio에서는 사전을 메모리상에 올린 뒤, MergeUserDic(discrete 되었다.) 으로 사전을 구성한다. 다음으로 텍스트를 pre-..
-
R을 이용한 통계분석 - 1 (기본 통계분석 실습과 rJava 환경설정 Window + Mac OS)Programming & Machine Learning/R X 머신러닝 2017. 7. 3. 22:49
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..
-
Install Python 3 + Anaconda(+tensorflow) + Jupyter on Mac OSProgramming & Machine Learning/Python X 머신러닝 2017. 6. 30. 01:12
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 환경의 서버에서 개발을 진행해야 할 ..
-
Django를 이용한 웹사이트 제작부터 배포까지 -1 (로컬 가상환경 구축 및 Django 프로젝트 시작)Programming & Machine Learning/Python X 머신러닝 2017. 6. 29. 23:56
장고를 이용한 웹사이트 제작부터 배포까지 - 1 원래 개발용 서버로 AWS EC2 Console을 만족스럽게 사용하고 있었지만, 프리티어 만료가 되었기 때문에 서버를 옮기기로 하였다. 리눅스 환경 테스트나 기타 삽질은 회사 서버를 몰래 이용하면 되기도 하고, 게다가 포트폴리오 용도로 홈페이지를 구축할 생각이었기 때문에 때마침 가볍게 사용할 무료 서버가 필요했다. 포트폴리오중에 Django 웹 어플리케이션이나 Python 기반 프로젝트가 많은 관계로, 이를 모두 담아내기 위해 약간의 구동이 가능한 포트폴리오 사이트를 만들고자 하였고, 결국 Django를 이용하여 웹 어플리케이션을 만드는 방식으로 홈페이지를 구성하기로 하였다. 그래서 최종적으로 www.pythonanywhere.com 를 선택하였다. 이친구..