머신러닝 17

원핫인코딩, 특성 선택, 릿지 회귀( Ridge Regression )

범주형 자료 - 원핫인코딩 원핫인코딩이란 모델링을 할 때 범주형 변수가 있다면 0과 1등으로 표현하는 것을 말합니다. 즉 도시라는 feature에서 '서울', '부산, '대구'가 있다면 이를 0과 1 등으로 표현합니다. 범주형 자료에도, 순서가 없는 위의 사례같은 명목형과, 순서가 있는 순서형으로 분류됩니다. 주의 할점은 도시와 같이 대소 관계의 의미가 없는데, 아래와 같이 순서형으로 하면 안된다는 것입니다. 원한인코딩 주의점 카테고리가 너무 많으면(high cardinality) 너무 많은 컬럼이 생성되므로, 적합하지 않을 수 있습니다. Python의 Pandas를 이용한 원핫인코딩 ## get_dummies를 이용한 원핫인코딩 import pandas as pd df_dummy = pd.get_dum..

머신러닝 2021.08.04

다중선형회귀( Multiple Linear Regression)

단순선형회귀를 모르신다면, 아래의 블로깅을 한번 보시는 것을 추천드립니다. (https://value-error.tistory.com/25) 단순선형회귀( Simple-Regression ) 단순선형회귀란 종속변수를 하나의 독립변수로 예측하는 것을 말합니다. 즉 기상청이 풍향 한가지로, 강수 확률을 예측하는 것과 같습니다. 왜 풍향만 보냐고 물어보실 수 있습니다. 단순선형 value-error.tistory.com 다중선형회귀란 여러 개의 독립변수(x)를 가지고 종속변수(y)를 예측하기 위한 회귀 모형입니다. 다중선형회귀의 구성 b1 b2.. 를 편 회귀 계수(Partial regression coefficient)라고 합니다. 계수를 통해 설명변수 x1이 종속변수에 대한 영향력을 나타냅니다. 즉 독립변..

머신러닝 2021.08.03

단순선형회귀( Simple-Regression )

단순선형회귀란 종속변수를 하나의 독립변수로 예측하는 것을 말합니다. 즉 기상청이 풍향 한가지로, 강수 확률을 예측하는 것과 같습니다. 왜 풍향만 보냐고 물어보실 수 있습니다. 단순선형이기 때문에 요인을 한가지만 보는 것입니다. 2개 이상의 요인을 고려하는 것은 다중선형회귀입니다. 다중선형은 다음에 블로깅하겠습니다. 단순 선형회귀의 구성 B0과 B1은 회귀계수, ε은 오차항 이라고 한다. 위 그림처럼, 회귀 직선은 잔차들의 제곱들의 합 RSS(Residual sum of squares)를 최소화 하는 직선을 나타냅니다. RSS는 SSE(Sum of Squares Error)라고도 말하며, 이 값이 회귀 모델의 비용함수(Cost Function)가 됩니다. 비용함수가 최소화 하는 모델을 찾는 과정을 학습이라..

머신러닝 2021.08.02

Clustering

Clustering 의 정의 비지도 학습(Unsupervised learning Algorithm)의 한 종류입니다. Clustering 목적 Clustering는 정답지가 없는 비지도 학습이기 때문에, 데이터 간에 얼마나 유사한지를 볼 수 있는 방법중 하나입니다. 또한, 데이터를 요약/정리 하는 방법중 하나이며, 정답을 보장하지 않는다는 문제가 있습니다. 그래서 실제 예측에서 쓰이기보단 EDA를 하는 방법 중 하나로 많이 쓰입니다. Clustering 의 종류 Hierarchical Agglomerative: 개별 포인트에서 시작 후 점점 크게 합쳐감 Divisive: 한개의 큰 cluster에서 시작후 점점 작은 클러스터로 나눠감 Point Assignment 시작 시에 cluster의 수를 정한 다..

머신러닝 2021.07.31

High dimensional data, 차원 축소

Vector transformation 선형 변환은 임의의 두 벡터를 더하거나 혹은 스칼라 값을 곱하는 것을 의미한다. Linear Projection도 일종의 vector transformation이다. Transformation은 matrix를 곱하는 것을 통해, 벡터(데이터)를 다른 위치로 옮긴다라는 의미를 가지고 있다. import matplotlib.pyplot as plt import numpy as np input_vector = np.array([2, 4]) transform_matrix = np.array([[2, 1], [1, -3]]) output_vector = np.matmul(transform_matrix, input_vector)# [8, -10] print(output_vec..

머신러닝 2021.07.31

Feature Engineering, Data Manipulation

Feature Engineering이란 전공 지식, 창의성 등을 바탕으로 데이터셋의 속성들을 조합하여 새로운 속성을 만드는 것을 말한다 예를 들어 BMI지수(몸무게 / (신장 * 신장)) 등이 있다 String의 처리 1,000 + 1,000 = 1,0001,000 # 원하는 결과값 = 2000 일반적으로 머신러닝 모델링에서 문자열로 이루어진 값을 사용하지 않습니다. (매우 복잡) 그렇기 때문에 문자열을 처리해줄 수 있는 방법이 필요합니다. A = 1,000 B = 1,000 A = A.replace(',', '') # 문자열 ,을 공백으로 처리 B = B.replace(',', '') # 문자열 ,을 공백으로 처리 A+B = 2000 위의 원하는 결과 값을 위해선 ,를 제거해야합니다 이때 사용하는 함수..

머신러닝 2021.07.15

EDA

python의 pandas를 통한 기초 EDA(Exploratory Data Analysis) : 데이터를 분석하기 전 탐색하여 패턴을 발견하거나 데이터의 특이성을 확인하거나 시각화를 통해 가설을 검정하는 과정 등을 말합니다. 데이터셋을 불러온 후 해야하는 것 행과 열의 수 체크 # (DataFrame.head(), DataFrame.shape) 열에 헤더가 있는지(컬럼 명 체크) # (DataFrame.head() 결측 데이터(Missing Data) 체크 # isna, isnull EDA관련된 함수 Missing Data isna : NA값을 확인합니다. isnull : NULL값을 확인합니다 notnull : NULL값을 확인합니다 dropna : NA값 제거 fillna : NA값 채우기 Data..

머신러닝 2021.07.15