본문 바로가기

전체 글

(46)
dataframe 합치기 메모 pd.merge 는 열 기준 .join 은 index 기준으로 병합한다. 예를 들어 여러 데이터프레임을 index 기준으로 합치고 싶다면, 아래와 같이 쓰면 된다. df1의 index 기준으로 병합될 것이다. df = df1.join([df2, df3, df4])
Lasso, Ridge in R (error 고치기) R에서 lasso 는 glmnet 으로 할 수 있다. glmnet(x, y, alpha) 가 기본인데, - alpha = 0 : Ridge - alpha = 1 : Lasso 이다. 예를 들어, Lasso 를 하고 싶다면 다음과 같이 하면 된다. fit
차원 축소 (Dimension reduction) feature variable, 즉 X 변수가 너무 많아 차원 축소를 하고 싶을 때 크게 두 가지 방법을 사용할 수 있다. 1) 불필요한 특성 변수 제거 2) 특성변수의 정보 대부분을 가진 새로운 변수로 차원 축소 여기에서는 2) 의 방법을 사용하는 method를 소개하도록 하겠다. 각 머신러닝 기법을 소개하기 전에, 새로운 변수로 차원 축소를 할 때의 보편적인 특징을 알고 가자. 기존의 d차원의 벡터를 l차원으로 바꿀 때, l개의 서로 다른 linear combination으로 새로운 변수를 설명할 수 있으며, 이 새로운 l개의 특성변수는 uncorrelated ( = orthogonal = linearly independent) 하다. 딥러닝의 은닉층이 비슷한 역할을 한다고 볼 수 있다. PCA (P..
Numpy vs. Pandas numpy data 와 pandas data 를 구분하는 것은 머신러닝에서 sklearn 을 쓸 때 중요하기 때문에 따로 정리해놓는다. 먼저 기본적으로 sklearn 을 쓸 때는 data 가 들어가야 함에 명심하자. 1. Numpy tensor 로 들어가야 할 때는 항상 numpy로 import numpy as np numpy data 로 만들어주는 코드: (1) .toarray (2) np.array (3) np.newaxis (4) .values - np.where(A, a, b): A is true 이면 a, not true 이면 b 2. Pandas import pandas as pd pandas는 일반적으로 우리가 알고 있는 2D data를 만들어준다. excel 형태라고 생각하면 쉽다. pan..
Support Vector Machine (SVM, 서포트벡터머신) SVM은 regression과 classification 모두로 활용될 수 있다. 여기서는 classification을 한다고 생각하고 소개하도록 하겠다. Linear SVM 어떤 두 개의 그룹을 직선으로 나눌 수 있다고 가정하자. 이 때, 그을 수 있는 직선은 여러 가지가 될 수 있는데 SVM은 밴드가 가장 큰 것이 합리적이라고 본다. 밴드는 각 그룹에서 직선에 가장 가까운 관측치를 기준으로 그은 직선 사이의 거리이다. 수식으로 봤을 경우, 표준화가 필요함을 참고하자. 그러나 현실에서는 이처럼 분류가 잘 되지 않는 경우가 대부분이다. 즉, SVM으로 선형 분류선을 그었는데 error (오차)가 생길 수 있다. 따라서 이러한 오차를 조절해주는 완화변수(slack variable)가 필요하다. 오차가 없으..
CART (Decision Tree) CART = Classification and Regression Trees 의 약자로 decision tree의 일종이다. CART의 가장 큰 장점은 - 특성변수(X)가 연속형이든 범주형이든 상관없이 적용할 수 있다는 점 - 이상치에 영향을 받지 않는다는 점 이다. decision tree를 만들 때 중요한 것은 1. 노드 선택의 기준 2. 나무의 깊이 이다. 깊이가 너무 깊으면 overfitting의 위험이 있다. 회귀 나무와 분류 나무 각각에서 어떻게 선택해야 하는지 보도록 하겠다. Regression tree (회귀 나무) - y가 연속변수일 때 사용하며, 각 cell/region에서 평균값을 할당한다. - 노드 선택의 기준: 특성변수별로 왼쪽과 오른쪽의 분산을 더하여 SSE를 계산한다. 좋은 나..
cross entropy binary crossentropy = 하나-나머지 분류에서의 손실함수 = 로지스틱 회귀에서의 손실함수 (음의 로그우도함수) = sigmoid 함수 categorical cross entropy = 다범주에서의 손실함수 = softmax 함수
Ridge & Lasso (리지, 라소) Ridge와 Lasso 규제화에 대해 이해한 바를 간단하게 정리해 놓고자 한다. 먼저 리지와 라소는 모형의 과대적합이 의심되는 경우에 사용된다. 1. Ridge 리지 규제화 (L2 규제화)의 기본 형식은 아래와 같다. 이 때, l(w)은 손실함수이며 wj 는 특성변수 x에 대한 가중치이다. 중요하게 보아야 할 것은 lambda 이다. lambda는 규제의 강도(regularization strength)를 나타내는 초모수이다. 만일 lambda 가 크다면: = 원이 작아진다 = w값이 작아진다 = 가중치가 작아진다 = 규제화의 정도가 낮아진다 (weight에 대한 restriction이 낮아진다) = 모형을 원래대로 살려놓는다. Lasso와 다른 점은, wj가 0에 가까워질 수는 있지만 정확히 0의 값을..