본문 바로가기

전체 글153

LinearRegression 실습( 주택 가격 예측) LinearRegression은 예측값과 실제 값의 RSS를 최소하해서 OLS(Ordinary Least Squares)추정 방식으로 구현한 클래스입니다. * OLS(Ordinary Least Squares)는 잔차제곱합(RSS, Residual Sum of Squares)를 최소화하는 가중치 벡터를 행렬 미분으로 구하는 방법입니다. 입력 파라미터fit_intercept: 디폴트 값은 True입니다. Intercept 값의 계산 여부를 설정합니다.만약 False로 설정하게 되면 Intercept가 사용되지 않고 0으로 설정됩니다.normalize: 디폴트 값은 False입니다. 만약 True로 설정하면 회귀를 수행하기 전에 입력 데이터 세트를 정규화 하여 줍니다.속성coef(): fit() 메서드를 수행.. 2020. 5. 27.
회귀란? 회귀란?? 회귀는 여러개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 의미합니다.예를들면 아파트의 방 개수, 화장실 크기 등의 독립변수에 따라서 아파트 가격인 종속변수가 어떤 관계를 가지는지를 모델링하고 예측하는 것입니다. 이를 선형 회귀식으로 표현하면 Y = W1*X1+W2*X2+W3*X2+ ... , Wn*Xn 이라고 했을떼 Y는 종속변수이고 X1, X2, Xn등은 방 개수, 화장실 크기 등을 의미합니다. W1, W2, W3, Wn은 독립변수의 영향을 미치는 회귀 계수입니다. 머신런닝 회귀 예측의 핵심은 주어진 피처와 결정 값 데이터를 통해서 최적의 회귀 계수를 찾는 것입니다. 회귀계수는 다음과 같이 나누어 집니다.독립변수 개수회귀 계수의 결합1개: 단일 회귀선형: 선형 회귀여러 .. 2020. 5. 26.
ML 평가 지표 머신러닝 모델을 평가하기 위한 여러 가지 방법들이 존재합니다. 일반적으로는 크게 분류인지? 회귀인지?에 따라서 나누어지게 됩니다. 먼저 분류의 성능 평가 지표에 대해서 알아보도록 하겠습니다. 정확도 정확도(Accuracy)는 실제 데이터에서 예측한 데이터가 얼마나 동일한가를 판단해주는 지표입니다. 정확도는 특히 이진 분류의 경우 데이터의 구성 정도 에 따라서 모델의 성능을 왜곡할 가능성이 있습니다. 그렇기 때문에 정확도 하나만 가지고는 성능을 평가하면 안됩니다. 특히 정확도는 불균형한 레이블을 가지는 모델의 성능을 평가할 경우 적합하지 못한 평가 방법입니다. 예를 들어서 100개의 데이터 중 90개의 데이터의 레이블이 0, 10개의 데이터 레이블이 1이라고 했을때 무조근 그냥 0으로 예측 결과를 나타내주.. 2020. 5. 9.
의사결정 나무 실습 의사결정 나무 패키지 R에서는 의사결정 나무를 구현하기 위해서 다양한 패키지들을 제공합니다. 대표적으로는 rpart, tree, party가 있습니다. 이 패키지들의 차이점은 바로 "가치지기의 방법" 입니다. - rpart: CART(classification and regression trees)을 사용합니다. - tree: binary recursive partitioning을 사용합니다. * 위 두개의 패키지들은 엔토로피와 지니계수를 사용해서 가치지기를 수행할 변수를 정합니다. 연산이 빠르다는 장점이 존재하지만 과적합될 가능성이 큽니다. 그래서 Pruning 과정을 통해서 과적합을 개선해 나가야 합니다. - party: Unbiased recursive partitioning based on per.. 2020. 5. 7.
K-NN 알고리즘 K-NN이란? K-NN은 분류에 사용되는 알고리즘의 종류 중 하나입니다. K-NN은 유사도를 기준으로 하여 '가장 가까운 K개의 레코드'를 찾는 방식으로 분류를 수행합니다. 예시로 다음과 같은 데이터가 있다고 해보겠습니다. 데이터 X축 Y축 A 1 4 B 3 5 C 2 3 D 5 1 E 6 2 F 5 4 ? 4 4 ?의 클래스를 판별하기 위해서 거리를 측정하도록 하겠습니다. 최근접 이웃을 찾기 위해서는 거리 함수 또는 두 인스턴스 간의 유사도를 측정해야 합니다. 일반적으로 K-NN 알고리즘에서는 유클리드 거리를 사용합니다. ▷ 유클리드 거리의 공식은 예를들어 p와 q의 거리를 비교한다고 했을때 다음과 같이 계산이 됩니다. 그럼 위의 데이터를 거리를 측정해 보도록 하겠습니다. 데이터 X축 Y축 거리 계산 .. 2020. 5. 5.
분류 실습(신용카드 사기 데이터) 캐글에서 제공하는 신용카드 데이터를 사용해서 신용카드 사기 검출을 분류하는 실습을 해보겠습니다. 데이터는 캐글에서 내려받을 수 있습니다. 신용카드 사기 데이터 실습 1. 데이터 일차 가공 ▷ 필요한 모듈과 데이터를 불러와줍니다. ▷ 데이터를 살펴본 결과 결측치는 없고 Class레이블만 int형이고 나머지 피처들은 모두 float형인것을 확인하였습니다. ▷ 레이블인 Class의 속성을 자세히 봤을때 매우 불균형한 분포를 가지고 있다는 것을 확인하였습니다. 여기서 0은 정상적인 데이터 1은 사기 데이터를 의미합니다. 일반적으로 사기 검출데이터는 적을 수 있기 때문에 이러한 불균형한 분포를 가지게 된것 같습니다. - 이렇게 레이블이 불균형한 데이터는 학습을 시키면 예측 성능의 문제가 발생할 수 있습니다. 그 .. 2020. 5. 3.