[머신러닝] Simple Regression

Colacan·2022년 2월 22일
1

[머신러닝]

목록 보기
8/8

선형회귀분석

  • 독립변수, 종속변수로 이루어짐

  • 최소제곱법을 이용한 선형회귀분석 계산
    1) 회귀식을 찾는다는것은 곧, 회귀식을 구성하는 모수들을 찾는것
    2) 회귀선을 그리기 위한 계수들 (기울기모수 : β1 , 절편모수 : β0)
    3) 최소제곱법 : 근사적으로 구하려는 해와 실제 해의 오차의 제곱의 합이 최소가 되는 해를 구하는 방법

  • Tabular Data
    1) 행과 열로 표현이 가능한 데이터
    2) 요소 3가지 : Observation(행), Variables(열), Relationships(다른 table과의 관계)

  • 분류와 회귀 비교
    1) 분류
    output type : 이산적 데이터
    찾으려는 것 : decision boundary(결정경계)
    evaluation (평가) : accuracy (정확도)
    2) 회귀
    output type : 연속적 데이터
    찾으려는 것 : best fit line
    evaluation (평가) : sum of squared error 이나 r squared (에러)

  • 오늘 사용하려는 데이터
    1) 주택의 판매가격 예측
    2) 사용하는 변수
    SalePrice: 우리가 예측해야 하는 타겟값으로 주택판매가격(달러) 입니다.
    LotArea: 집과 마당의 사이즈(square feet)
    GrLivArea: 지상 생활면적(square feet)

예측의 방법

  • 기존 경험을 바탕으로 예측 : 오류의 위험성이 있다.

  • 통계정보를 활용

기준모델

  • 예측모델 만들기 전에, 가장 간단하고 직관적이면서 최소한의 성능을 나타내는 기준이 되는 모델
    1) 회귀 : 타겟의 평균
    2) 분류 : 타겟의 최빈값
    3) 시계열 : 직전 타임스탬프

  • 평균값을 기준으로 사용하면 평균기준모델

  • 에러로 성능 확인, 여기서는 MAE로 검증 (평균절대오차)

  • LotArea와 GrLivArea의 상관관계를 통해 평균값을 기준으로 하는 것은 여러 특성을 고려하지 못한다는 것을 알 수 있다.

예측모델 활용

  • scatterplot에 가장 잘 맞는 직선(best fit)을 그리는 것이 목표

  • 잔차 : 예측값과 관측값 차이 (오차는 모집단에서 예측값과 관측값 차이)

  • RSS : 잔차 제곱들의 합

  • 회귀선 : RSS를 최소화하는 직선

  • RSS는 SSE라고도 말하며 이 값이 회귀모델의 비용함수

  • 비용함수를 최소화하는 모델을 찾는 과정을 학습이라고 함

  • RSS를 최소화하는 방법을 최소제곱회귀, OLS라고 부름

  • Seaborn regplot : 회귀선 그리는 메소드

  • 선형회귀 모델의 역할
    1) 주어져 있지 않은 점의 함수값을 보간하여 예측하는데 도움을 줌
    2) 기존 데이터의 범위를 넘어서는 값을 예측하기 위한 외삽 제공

  • 선형회귀 모델은 독립변수와 종속변수 간의 관계를 요약해줌

  • 독립변수와 종속변수 호칭
    1) 종속변수 : 반응변수, 레이블, 타겟
    2) 독립변수 : 예측변수, 설명, 특성

Scikit-learn을 사용한 선형회귀 모델

  • table 형태의 data가 필요

  • 특성 데이터와 타겟 데이터로 나눔
    1) 특성행렬 : 보통 2차원, 주로 numpy행렬이나 pandas데이터프레임
    2) 타겟배열 : 보통 1차원, numpy배열이나 pandas series로 표현

  • 행렬은 대문자, 벡터는 소문자로 표현하는 것이 관습

  • 구현된 머신러닝 모델들은 모두 유사한 프로세스를 이용하여 사용가능 (원리는 알면서 이용하도록 하자)

  • Scikit-learn 이용과정
    1) 문제 풀기에 적합한 모델을 선택, 클래스를 확인 후 관련 속성과 하이퍼파라미터 확인
    2) 데이터를 준비
    3) fit() 메소드를 사용하여 모델 학습
    4) predict() 메소드를 사용하여 새로운 데이터를 예측

단순 선형 회귀

  • from sklearn.linear_model import LinearRegression를 이용한다.

  • 이 과정은 supervised learning이다.

  • 머신러닝은 어떤 룰에 따라 답을 구해내는 일반적 프로그래밍과 달리 데이터와 탑을 통해 룰을 찾아낸다.

  • 선형회귀모델의 계수
    1) Scikit-learn에서는 coef(계수), intercept(절편) 로 회귀모델 정보를 알 수 있음
    2) ipywidgets bar를 통해 예측값을 변경할 수 있는 메소드 (일종의 팁)

오늘의 참고자료

profile
For DE, DA / There is no royal road to learning

0개의 댓글