[R] 가설검정, 상관분석에서 제시한 기후 데이터를 바탕으로 PM10(미세먼지)에 대한 회귀분석을 진행하고자 한다. 1. 설명변수 선택 회귀선을 나타내는 변수의 수가 많아지면 과적합이 발생하거나 많은 계산이 필요하므로, 가능한 적은 변수로 최적의 회귀선을 찾는 것이 중요하다. summary(lm(PM10 ~ SO2 + CO + NO2, data = data)) 이전 글에서 미세먼지와 비교적 강한 상관관계를 가진 SO2(이산화황), CO(일산화탄소), NO2(이산화질소)를 독립변수로 선정하고 다중회귀를 시행한다. 회귀선은 -12.5523 + 6512.7755 * SO2 + 65.2830 * CO - 214.6248 * NO2로 나타났다. 각 변수의 회귀계수가 모두 0.05보다 작지만, 결정계수의 값이 0...
데이터 사이언스 사용 설명서 검색 결과
데이터 분리 데이터 분석 K-fold 교차 검증을 이용하여 무작위로 데이터를 섞은 다음, 추출하여 일정한 비율만큼을 훈련과 테스트 셋으로 정한다. 시계열 데이터 분석 바로 다음 단계(혹은 2단계)의 데이터를 차례대로 하나씩 일반적인 데이터 분석과 시계열 데이터 분석에서 훈련 / 테스트 데이터를 분리할 때 가장 특징적인 차이점은 시간 순서의 유지 여부이다. 이미지에서 볼 수 있듯이, 이전 데이터들을 학습하여 바로 다음의 값을 예측하고, 이후에 예측한 값 자체를 훈련 데이터와 합하여 그 다음 예측을 진행해 나가는 1스텝 교차 검사(One-step Ahead Cross-Validation)이 있고, 하나를 건너 뛰어서 같은 원리로 예측과 훈련을 반복적으로 수행하는 2스텝 교차검사 (Two-step Ahead ..
1. 가설검정 - t 검정 가설검정은 모집단에 대한 가설을 설정한 후, 가설의 채택여부를 정하는 분석방법이다. 가설의 채택은 귀무가설이 옳다는 전제 하에 test statistic을 구한 다음 유의수준의 크기에 따라 결정한다. 가설은 귀무가설과 대립가설 중 하나를 선택하게 된다. t 검정은 '두 집단의 평균 차이가 없다'는 귀무가설과 '두 집단의 평균 차이가 있다'는 대립가설 중 하나를 선택하는 통계 분석 방법이다. 다음의 기후 데이터를 활용해서 2018년과 2019년의 미세먼지 농도가 통계적으로 유의미한 차이가 있는지 판단하고자 한다. data$year
NLP(자연어처리) - 정규표현식 with python (1) 글에 이어서 진행됩니다. 메타문자 별도 표기법(자주 사용하는) 앞 글에서 [0-9], [가-힣]과 같은 표현을 보았는데, 이 표현보다는 w와 d처럼 한 문자로 메타문자를 표현하는 방법을 자주 사용한다. 이 글에서는 대표적으로 \w와 \d에 대해 알아보고, 대문자와 소문자의 차이에 대해 다루고자 한다. text = "텍스트마이닝은 정말 신기해요.ㅎ헤ㅏ핳" re.findall('[\w]', text) >>> ['텍','스','트','마','이','닝','은','정','말','신','기','해','요','ㅎ','헤','ㅏ','핳'] re.findall('[\W]', text) >>> [' ', ' ', '.'] ph = '''안녕하세요. 제 전화번..
정규표현식이란? 정규표현식의 사전적인 의미로는 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다. 즉 텍스트 데이터의 표현 방법을 다루는 것이라고 생각하면 된다. 하지만 코드가 간단한 만큼 가독성이 떨어져서 표현식을 제대로 숙지하지 않으면 이해하기 힘들다는 문제점이 있다. 하지만 텍스트 데이터를 처리하기 위한 가장 기초적인 문법이고, 데이터 익명화와 같은 여러 기술에서 많이 사용하게 된다. 자연어처리를 하기 위한 토대인 것이다. 문자열 검색 import re re.match('연어','연어초밥') >>> match='연어' re.match('장어','연어초밥') >>> 아무것도 x re.search('연어','연어초밥') >>> match='연어' re.search('장어','장어초밥..
윈도우에서 konlpy를 사용하고 코드를 실행해보면 no jvm shared library file (jvm.dll) found 오류가 나오게 된다. 이 오류는 일단 1) 설치 방법이 잘못 되거나, 2) JAVA 환경 설정을 잘못했거나, 3) 기타 오류의 원인이 있다. 먼저 올바른 설치 방법부터 알아보자 1) 올바른 설치 방법 www.oracle.com/java/technologies/javase-downloads.html 먼저 위 사이트에서 버전에 맞는 jdk 파일을 다운로드해준다. 윈도우면 윈도우, 리눅스는 리눅스, mac이면 mac의 버전을 설치해준다. (최신 버전이 불안정할수도 있으니, 최신 버전 바로 아래 버전을 다운로드 해준다. 2) JAVA 환경 설정 제어판 -> 시스템 -> 시스템 속성 -..
import numpy as np from sklearn.datasets import fetch_openml # mnist 784 dataset을 불러오는 코드 mnist = fetch_openml('mnist_784',version=1,cache=True) X, y = mnist['data'], mnist['target'] #가져 올 때 데이터 형식이 달라지므로 지정 y = y.astype(np.int8) X, y = mnist['data'], mnist['target'] X_train, X_test, y_train, y_test = X[:60000], X[60000:], y[:60000], y[60000:] shuffle_index = np.random.permutation(60000) X_train..
퍼셉트론에서 신경망으로 앞 시간에 퍼셉트론에 대해 배웠는데, 이 퍼셉트론은 가중치를 설정하는 작업을 사람이 직접해야 됩니다. 이 수동으로 작업하는 과정을 해결하기 위해 신경망이라는 개념이 나오게 되었습니다. 신경망의 예 신경망을 그림으로 나타내면 위 그림과 같습니다. 가장 왼쪽 줄을 입력층, 오른쪽 줄을 출력층, 중간 줄을 은닉층이라고 부르는데, 은닉층의 뉴런은 사람 눈에는 보이지 않습니다. 그리고 신경망에는 층이라는 개념이 있는데, 왼쪽부터 0,1,2층이라고 부르고 위에서는 입력층이 0층, 은닉층이 1층, 출력층이 2층이 됩니다. (층을 부르는 개념은 사람마다, 문헌마다 다를 수 있습니다.) 퍼셉트론 복습 신경망의 신호 전달 방법을 보기 전에 퍼셉트론을 복습해보면 위에 사진과 같이 x1, x2라는 두 ..
학습이란? 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 신경망이 학습할 수 있도록 해주는 지표로 손실 함수가 있는데, 이 손실 함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표이다. 신경망의 특징은 데이터를 보고 학습한다는 것, 즉 가중치 매개변수의 값을 데이터를 보고 자동으로 결정한다는 것이다. 매개변수가 수천개 수만개이기 때문에 사람이 수작업으로 정한다는 것은 말이 안된다. 즉 기계가 이 매개변수를 자동으로 찾아줘야 한다. 데이터 주도 학습 기계학습에서는 데이터가 생명이다. 사람이 어떠한 패턴을 찾아낼 때는, 경험과 직관을 단서로 시행착오를 통해 진행한다. 하지만 기계학습은 사람의 개입을 최소화하고 데이터로부터 패턴을 찾으려 시도하는 ..
경사법에서는 기울기 값을 기준으로 나아갈 방향을 정하는데, 기울기란 무엇인지와 학생 때 배운 '미분'을 복습해보고자 한다. 미분 마라톤 선수가 처음부터 10분에 2km씩 달렸다고 해보자. 이때의 속도는 간단히 2/10 = 0.2 [km/분]이라고 계산할 수 있다. 즉 1분에 0.2km만큼의 속도(변화)로 뛰었다고 해석할 수 있다. 이 마라톤 예에서는 '달린 거리'가 '시간'에 대해서 얼마나 변화했는가를 계산했다. 다만 여기서 0.2km는 10분 동안의 평균 속도를 구한 것이고, 미분은 특정 순간의 변화량을 뜻한다. 그래서 10분이라는 시간을 1분, 1초, 0.1초 이렇게 간격을 줄여가면서 어느 한 순간의 변화량을 얻는 것이 미분이다. 수식으로 표현하면 위와 같다. 극한을 취해 h를 한없이 0에 가깝게 하..
최근댓글