주요 개념다항 회귀(Polynomial Regression)비선형 데이터편향(Bias)분산(Variance) 다항 회귀(Polynomial Regression)란 비선형 데이터를 학습하기 위해 선형 모델을 사용하는 기법이다. 단순 선형 회귀(SLR)를 이용해 모든 데이터의 관계성을 직선으로 표현할 수는 없으므로 다항 회귀 또는 다중 선형 회귀(MLR) 등과 같은 조금 더 복잡한 회귀 모델이 때에 따라 최적의 회귀선을 나타내고는 한다. 각 변수의 거듭제곱을 새로운 변수로 추가하고 이 확장된 변수를 포함한 데이터셋에 선형 모델을 훈련시킨다. 다중 선형 회귀는 여러 독립 변수들이 필요한 반면 다항 회귀는 하나의 독립 변수에 대한 차수를 확장해가며 단항식이 아닌 2차, 3차 등의 회귀 모델을 도출한다. 다만 주..
2021.12.06 - [etc] - 티스토리 수학기호 입력하는 방법 티스토리에 수학기호를 적는 방법은 위 포스팅을 참고하면 된다. MathJax를 이용한 script를 티스토리 html에 삽입하는 방법에 대한 설명이다. 아래는 모바일 앱에서 티스토리를 실행하였을 때 수학기호가 제대로 나오게 하는 방법이다. 위의 방법으로 html head태그에 MathJax 사용을 위한 코드를 삽입했음에도 모바일에선 기호가 그대로 나온다. MathJax는 LaTex를 사용할 수 있도록 해주는데, 이 LaTex와 markdown 사이에 문법이 충돌하는 부분이 있는 것 같다. 아래 순서대로 수행하면 /m/이 붙은 모바일 웹에서도 수학기호 문법이 깨지지 않는다. 하지만 이 방법은 일괄 적용이 되는 부분이 아니라서 글을 작성할..
주요 개념단순 선형 회귀(SLR)다중 선형 회귀(Multiple Linear Regression, MLR)경사 하강법(Gradient Descent) 다중 선형 회귀(Multiple Linear Regression, MLR)는 단순 선형 회귀(SLR)와 달리 여러 입력변수가 들어간다. 따라서 다중 선형 회귀는 시각적으로 표현하기 힘들다. 하지만 시각화만 못할 뿐이지 기본 개념은 이전과 같다. 다중 선형 회귀를 이용해 도출되는 방정식은 아래와 같다.$$ f(x)=w_{n}x_{n}+w_{n-1}x_{n-1}+...+w_2x_2+w_1x_1+b $$늘어난 입력 변수와 그에 따른 가중치의 개수가 늘어난 것 외에 큰 차이는 없다. 단지 입력 변수가 많은 일차 함수일 뿐이다. 결국 최적의 가중치와 편향 값을 경사..
주요 개념상관관계 분석(correlation analysis)회귀 분석(Regression Analysis)선형 회귀(Linear Rregression) 대표적인 데이터 분석 방법으로 예측에 이용되는 회귀 분석(Regression Analysis)과 상관계수를 이용한 상관관계 분석(Correlation analysis)이 있다.연속형 또는 순위 자료로 이루어진 두 변수간 상호 관계 정도를 알아보고자 할 때는 상관관계 분석(correlation analysis)을 이용두 변수간 인과 관계와 같이 한 변수가 다른 변수에 주는 영향력을 알아보고자 할 때는 회귀 분석법(regression analysis)을 이용 그중 선형 회귀(Linear Rregression)는 종속 변수 y와 한 개 이상의 독립 변수 x와..
회귀분석을 하며 여러 모델들을 만들고 실제 성능이 어느정도인지 판단하기 위한 지표들이 필요하다.위 9가지 방식의 특징을 알아보려 한다. 아래 수식들의 n은 모두 데이터 수를 의미한다. 1. ME(Mean of Error)ME(Mean of Error)는 평균 제곱 오차를 의미한다. 예측오차의 산술평균을 의미하고 다음과 같이 산정된다. $$ ME=\frac{\sum_{i=1}^n{e_i}}{n}=\frac{\sum _{i=1}^n\left(Y_i-\hat{Y_i}\right)}{n} $$ def ME(y, t): return (y-t).mean(axis=None) 2. MAE(Mean Absolute Error)MAE(Mean Absolute Erro)는 예측값과 실제값의 모든 차이의 합이다. 인간이..
30만 개 정도의 데이터를 Dataframe을 이용해 append 연산을 하는 작업을 수행하다 비정상적으로 느리게 동작하는 것을 발견했다. 아무리 느린 파이썬이라 해도 이 정도로 삽입 연산이 느린 것은 잘 와닿지 않아 실험을 해보았다. 아래와 같이 7가지 테스트를 진행하였다. pandas append pandas concat pandas loc dict in list dict list comprehension list append list comprehension 1, 2, 3 번은 각각 Dataframe 첫 행 생성 후 append, concat, loc를 이용하여 데이터를 삽입한다. 4번은 dictionary를 list에 append하며 생성하고 Dataframe으로 변환시켰고, 5번은 diction..