엑셀 다중회귀분석 그래프 그리기 - egsel dajunghoegwibunseog geulaepeu geuligi

엑셀은 장부 정리와 같은 기본적인 스타일시트 툴로 잘 알려져 있지만, 분석(Analysis) 측면에서도 정말 괜찮은 프로그램이다. 

오늘은 엑셀을 이용해서 선형 회귀 분석을 수행하는 방법을 정리해 보려고 한다. 

선형 회귀 분석(Linear Regression)… 

말이 어려워 보일 뿐, 중고등학교 시절 수학 시간에 배운 X축, Y축의 선형 그래프를 생각해 보면 된다. 

엑셀 다중회귀분석 그래프 그리기 - egsel dajunghoegwibunseog geulaepeu geuligi

엑셀로 선형 회귀 분석을 하기 위해서 간단한 데이터를 만들어 보자. 

광고 노출과 클릭간의 관계를 살펴볼 수 있는 데이터를 가상으로 구성한다. 

(다음 글에서 실제 광고 노출/클릭 데이터를 가지고 회귀분석을 해 볼 계획이다.)

다음과 같은 결과를 만드는 것이 최종 목표이다. 

분산형 차트 활용 

먼저 엑셀에서 출력할 위 데이터를 모두 선택한 후, "삽입" > "분산형" 그래프를 선택한다. 

아래 그림과 같은 분산형 차트가 생성될 것이다. 

메뉴에서 "차트도구"의 "레이아웃" > "추세선" > "기타 추세선 옵션"을 선택한다. 

이 "추세션"이 바로 엑셀 회귀 분석의 핵심이다. 

여기에서 "선형"을 선택하고, 하단의 "수식을 차트에 표시", "R-제곱 값을 차트에 표시"를 체크하도록 하자. 

그리고 난 후, 그래프를 보면 다음과 같다. 

위 데이터에 대한 선형 회귀 분석을 통한 방정식이 하나 만들어 졌고, 결정계수(R-제곱) 값도 구한 것이다. 

데이터 분석 활용

대부분 엑셀에 "데이터 분석"이라는 메뉴가 있는 것을 모를 것이다. 

왼쪽 상단의 로고를 선택한 후, "Excel 옵션"을 실행하자. 

그리고 왼쪽 메뉴에서 "추가 기능"을 선택하고, 우측 하단의 "이동" 버튼을 클릭한다. 

여기에서 "분석 도구"를 체크하고 "확인" 버튼을 적용한다. 

이제 "데이터" > "데이터 분석"이 있는 것을 볼 수 있다. 

"데이터 분석"을 선택하고, "회귀 분석"을 지정한 후, "확인"을 누른다. 

X축, Y축을 지정하면 해당 데이터에 대한 회귀 분석 결과를 아래와 같이 만들어 준다. 

선형 회귀 분석 데이터를 요약해서 보여준다. 

선형 회귀 분석의 데이터를 이해하고 활용하는 부분은 다음 글에서 설명하기로 하자...

당신은 주제를 찾고 있습니까 “다중 회귀 분석 그래프 – [엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기)“? 다음 카테고리의 웹사이트 https://ppa.1111.com.vn 에서 귀하의 모든 질문에 답변해 드립니다: ppa.1111.com.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 ECO LAB 이(가) 작성한 기사에는 조회수 1,314회 및 좋아요 13개 개의 좋아요가 있습니다.

  • 다중 회귀 분석 그래프 주제에 대한 동영상 보기
  • d여기에서 [엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기) – 다중 회귀 분석 그래프 주제에 대한 세부정보를 참조하세요
  • 다중 회귀 분석 그래프 주제에 대한 자세한 내용은 여기를 참조하세요.
    • 표와 그래프(5): 다중회귀분석 – 정보사회학연구소
    • 파이썬) 다중선형회귀그래프 그리기 (+sklearn, mpl_toolkits)
    • 다중회귀모형에서 상호작용의 시각화 – RPubs
    • 엑셀에서 다중 선형회귀분석(Multiple Linear Regreesion) 하기
    • 머신러닝 – 다중선형회귀(Multiple Linear Regression) – DH’s blog
    • 5 회귀진단과 모형의 선택 – AWS
  • 주제와 관련된 이미지 다중 회귀 분석 그래프
  • 주제에 대한 기사 평가 다중 회귀 분석 그래프
  • 파이썬) 다중선형회귀그래프 그리기 (+sklearn, mpl_toolkits)
  • 엑셀에서 다중 선형회귀분석(Multiple Linear Regreesion) 하기
  • 다중선형회귀(Multiple Linear Regression)
  • 키워드에 대한 정보 다중 회귀 분석 그래프
  • 사람들이 주제에 대해 자주 검색하는 키워드 [엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기)

다중 회귀 분석 그래프 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

#엑셀 #EXCEL #선형회귀분석 #선형추세선 #linear #regression #기울기 #함수 #SLOPE
독립변수 X를 사용해서 종속변수 Y의 움직임을 예측하고 설명하는 선형추세선(linear regression)을 그려보는 것을 배워봅니다.
더 자세한 내용은
https://blog.naver.com/leeilwon210/222298547299
을 참고하세요^^

다중 회귀 분석 그래프 주제에 대한 자세한 내용은 여기를 참조하세요.

표와 그래프(5): 다중회귀분석 – 정보사회학연구소

회귀모형에서 독립 변수가 추가된다는 것은 분석 그래프의 차원이 증가함을 의미하기 때문이다. 단순회귀의 경우는 2차원 공간이었지만, 다중회귀는 …

+ 여기에 표시

Source: piramvill2.org

Date Published: 10/15/2021

View: 6123

파이썬) 다중선형회귀그래프 그리기 (+sklearn, mpl_toolkits)

by Python/Statistical Analysis. 파이썬) 다중선형회귀그래프 그리기 (+sklearn, mpl_toolkits). 성실한 나무 …

+ 자세한 내용은 여기를 클릭하십시오

Source: lovelydiary.tistory.com

Date Published: 12/24/2022

View: 7742

다중회귀모형에서 상호작용의 시각화 – RPubs

회귀분석 결과에서 mpg와 wt의 관계는 기울기가 -5.3445이고 y절편이 … mpg를 반응변수로, am1과 wt를 영향변수로 갖는 다중회귀모형을 만들어보자.

+ 여기에 보기

Source: rpubs.com

Date Published: 8/1/2021

View: 7458

엑셀에서 다중 선형회귀분석(Multiple Linear Regreesion) 하기

다중 선형 회귀분석(Multiple Linear Regreesion)은 두 개 이상의 원인 변수(Explanatory variable)와 반응 변수(reponsive variable) 사이에 관계를 …

+ 여기에 자세히 보기

Source: loadtoexcelmaster.tistory.com

Date Published: 4/13/2022

View: 6060

머신러닝 – 다중선형회귀(Multiple Linear Regression) – DH’s blog

다중선형회귀는 여러개의 특성을 이용해 종속변수를 예측하기 때문에 일반 선형 … 위 그래프에서 양의 상관관계가 높게 측정된 변수들을 대상으로 …

+ 여기를 클릭

Source: kimdingko-world.tistory.com

Date Published: 9/11/2021

View: 7101

5 회귀진단과 모형의 선택 – AWS

5.3 다중공선성(Multicolinearity)이란? · 이상관측치 종합적인 회귀분석은 이상관측치의 선별을 포함합니다. · 이상치(outlier) 이상치는 회귀모형을 잘 예측되지 않는 …

+ 더 읽기

Source: rstudio-pubs-static.s3.amazonaws.com

Date Published: 3/16/2022

View: 4022

주제와 관련된 이미지 다중 회귀 분석 그래프

주제와 관련된 더 많은 사진을 참조하십시오 [엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

엑셀 다중회귀분석 그래프 그리기 - egsel dajunghoegwibunseog geulaepeu geuligi
[엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기)

주제에 대한 기사 평가 다중 회귀 분석 그래프

  • Author: ECO LAB
  • Views: 조회수 1,314회
  • Likes: 좋아요 13개
  • Date Published: 2022. 2. 13.
  • Video Url link: https://www.youtube.com/watch?v=d5pLp1cAPB8

파이썬) 다중선형회귀그래프 그리기 (+sklearn, mpl_toolkits)

#1. 단순선형회귀 그래프 예제는 많다:

1개의 독립변수와 1개의 종속변수를 선정하여 그 인과관계를 시각화하는 방법 중 하나인 단순선형회귀그래프는 직관적으로 x축, y축으로 좌표평면 상에 그려 이해하기 쉽고 코드도 단순해서 그런지 예제들이 엄청 많다.

x축을 독립변수, y축을 종속변수로 하는 좌표 평면상에 전체 데이터들의 (x, y) 좌표값을 점으로 좌표평면 상에 그리면 산점도가 된다. 그리고 그 산점도의 경향성을 따라 계산한 추세식을 위에 덧붙여 그리면 단순선형회귀 그래프가 완성된다.

자세한 내용은 별도로 포스팅한 적이 있다:

https://lovelydiary.tistory.com/339

반면, 종속변수가 1개 독립변수가 2개 이상인 다중선형회귀그래프는 2D로 그리기 힘들어서 그런지 예제들이 별로 보이지가 않았다. 다중선형그래프의 경우, 실제로 어떤 모양으로 구현이 될지 그런 시각화 자료를 통해 어떤 insight를 얻을 수 있을지 궁금했다. 그래서 이리저리 찾아보다가 발견한 코드로 그려 본 다중선형회귀그래프를 기록해 보았다.

#2. 다중선형회귀 그래프 그리기

R에 내장되어 있는 car93이라는 데이터로 다중선형회귀그래프를 그려보았다. 3D로 표현하기 때문에 x, y, z 즉, 변수 3개(독립변수 2개: x, y, 종속변수 1개: z)까지만 그릴 수 있고 독립변수가 3개 이상이 되는 다중선형회귀의 경우, 해당 그래프로를 그릴 수 없는 것으로 보인다.

1) 그래프를 그리기에 앞서 패키지들을 설치해서 메서드들을 불러와야 한다.

반응형

여기서 mpl_toolkits의 경우, pip3 명령어를 통해 패키지를 설치해야 할 것 같이 보이지만 matplotlib 패키지를 이미 설치했으면 mpl_tollkits는 설치하지 않아도 바로 import 해올 수 있다. 그밖에 pandas, numpy, sklearn은 기존에 설치한 이력이 없다면 패키지 설치를 진행해야 한다.

mpl이 matplotlib의 약자인 것으로 보인다.

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

from sklearn import linear_model

2) 데이터를 전처리한다.

먼저 다중선형회귀그래프로 시각화 하고자 하는 데이터를 불러온다. 그리고 2개의 독립변수 값과 1개의 종속변수의 값을 각각 X, Y 변수에 담아야 하는데, 독립변수의 경우 두 값을 짝을 지어서 배열로 만들어 주어야 한다. 즉, [[독립변수1값, 독립변수2값], [독립변수 1값, 독립변수2값] …] 이런 식의 2차 배열로 정리해야 하며 해당 전처리를 하기 위해 reshape 함수를 사용하였다.

이번에는 x, y, z라는 변수에 독립변수1의 값, 독립변수2의 값, 종속변수 값을 각각 array의 형태로 할당해주어야 한다.

또한, x_pred, y_pred에 각 독립변수들의 range 값을 할당 하는데 각 데이터의 최소값, 최대값으로 범위를 지정하고 그 구간을 10으로 지정하여 각각 10개의 배열을 할당 받았다.

3) 다중선형회귀모델을 만든다.

LinearRegression 함수로 다중선형회귀 모델을 만들고, 앞서 만든 독립변수들의 전처리한 배열값인 model_viz값을 넣어 다중선형회귀식으로부터 예측값을 얻는다. Regression 값이라고 볼 수 있다. 또한, 만든 모델의 설명력을 의미하는 “결정계수”, R2을 구할 수도 있는데 그래프에 텍스트로 들어가는 것이기 때문에 넣어도 되고 불필요하다면 제거해도 된다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 # Data 준비 (R에 내장된 cars93 데이터를 가져왔음) # 독립변수 Horsepower(마력), MPG.city(도시연비)로 Price(차 가격)를 예측해보고자 한다 df = pd.read_excel( ‘cars93.xlsx’ ) #df에서 Horsepower, MPG.city 열의 값을 불러와서 배열로 짝지음 X = df[[ ‘Horsepower’ , ‘MPG.city’ ]].values.reshape( – 1 , 2 ) Y = df[ ‘Price’ ] # 시각화를 위한 데이터 준비 x = X[:, 0 ] #Horsepower 열 값만 array로 가져옴 y = X[:, 1 ] #MPG.city 열 값만 array로 가져옴 z = Y #각 독립변수들의 range 지정: 데이터 중 최소값, 최대값, 그 구간을 10으로 설정 x_pred = np.linspace(df[ ‘Horsepower’ ].min(), df[ ‘Horsepower’ ].max(), 10 ) y_pred = np.linspace(df[ ‘MPG.city’ ].min(), df[ ‘MPG.city’ ].max(), 10 ) xx_pred, yy_pred = np.meshgrid(x_pred, y_pred) model_viz = np.array([xx_pred.flatten(), yy_pred.flatten()]).T #sklearn의 linear_model.LinearRegression()함수로 다중선형회귀식을 만들고, ols = linear_model.LinearRegression() model = ols.fit(X, Y) #위에서 만든 model_viz 값을 넣어 다중선형회귀식의 예측값을 얻음 predicted = model.predict(model_viz) # 해당 다중선형회귀식의 결정계수 R^2을 구함: 회귀식의 실제 데이터에 대한 설명력을 확인 r2 = model.score(X, Y) #다중선형회귀 그래프 그리기 plt.style.use( ‘default’ ) fig = plt.figure(figsize = ( 12 , 4 )) ax1 = fig.add_subplot( 131 , projection = ‘3d’ ) ax2 = fig.add_subplot( 132 , projection = ‘3d’ ) ax3 = fig.add_subplot( 133 , projection = ‘3d’ ) axes = [ax1, ax2, ax3] for ax in axes: ax.plot(x, y, z, color = ‘k’ , zorder = 15 , linestyle = ‘none’ , marker = ‘o’ , alpha = 0. 5 ) #검은색 마커들 ax.scatter(xx_pred.flatten(), yy_pred.flatten(), predicted, s = 20 , edgecolor = ‘#70b3f0’ ) #파란색 마커들 ax.set_xlabel( ‘Horsepower’ , fontsize = 12 ) #해당 축을 설명하는 라벨 ax.set_ylabel( ‘MPG.city’ , fontsize = 12 ) ax.set_zlabel( ‘Price’ , fontsize = 12 ) ax.locator_params(nbins = 6 , axis = ‘x’ ) #해당 축의 구간 개수 (쪼개진 구간도 포함) ax.locator_params(nbins = 4 , axis = ‘y’ ) ax.locator_params(nbins = 4 , axis = ‘z’ ) #높이와 방위각을 조절해서 보고 싶은 위치를 조정할 수 있음 #elevation (높이), azimuth (방위각) ax1.view_init(elev = 27 , azim = 112 ) ax2.view_init(elev = 4 , azim = 114 ) ax3.view_init(elev = 60 , azim = 165 ) fig.suptitle( ‘$R^2 = %.2f$’ % r2, fontsize = 20 ) fig.tight_layout() Colored by Color Scripter cs

[코드 출처: https://aegis4048.github.io/mutiple_linear_regression_and_visualization_in_python] [주석은 본인이 작성]

4) 다중선형회귀 그래프 그리기

본격적인 그래프 그리기는 plt 혹은 pyplot으로부터 시작된다. 그래프의 주축이 되는 코드는 plot(선그래프), scatter(산점도그래프)이고 그외의 옵션들을 입력해서 그래프의 완성도를 높일 수 있다.

#3. 다중선형회귀그래프 출력 결과는 다음과 같다.

subplot과 반복문을 통해 3개의 다중선형그래프를 다양한 각도에서 그려 보았다. 결정계수도 가운데에 출력하였다. 결정계수가 0.63인, 즉 데이터의 63%를 설명할 수 있는 다중선형모델이 만들어졌다. 두번째 각도의 그래프를 보니 마력(Horsepower)이 높아질수록 차량 가격(Price)이 높아지는 추세를 확인할 수 있고, 세번째 각도의 그래프에서는 마력(Horsepower)이 높아질수록 도시연비(MPG.city)가 낮아지는 경향을 볼 수 있었다.

다중선형회귀그래프 (독립변수 2개, 종속변수 1개)

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

엑셀에서 다중 선형회귀분석(Multiple Linear Regreesion) 하기

다중 선형 회귀분석(Multiple Linear Regreesion)은 두 개 이상의 원인 변수(Explanatory variable)와 반응 변수(reponsive variable) 사이에 관계를 알아볼 때 사용하는 분석이다.

이번 포스팅에서 엑셀에서 다중 선형회귀분석(Multiple Linear Regreesion)을 시행해본다.

만약에 원인 변수(explanatory variable)가 하나가 있다면 선형 회귀분석(simple Linear regression)을 한다.

예시: 엑셀에서 다중 선형회귀분석(Multiple Linear Regreesion)하기

학생들의 공부시간과 지난 기출문제가 시험 성적과 어떤 관계가 있는 파악하고 싶다. 그래서 ‘공부시간’과 ‘기출문제’를 원인 변수(explanatory variable)로, ‘시험 성적’을 반응 변수(reponsive variable)로 해서 다중 선형회귀분석(Multiple Linear Regreesion)을 시행한다.

엑셀에서 아래단계별로 따라가면서 다중 선형회귀분석(Multiple Linear Regreesion)을 한다.

1단계: 데이터 입력

공부시간, 기출문제 수, 시험점수에 데이터를 엑셀에 입력한다.

2단계: 다중 선형회귀분석(Multiple Linear Regreesion) 하기

데이터 > 데이터분석에 들어간다. 데이터 분석 툴이 없다면 업로드한다.

데이터 분석 툴 업로드하기

데이터 분석 창에서 회귀분석을 선택한다.

y축 범위에는 반응 변수(reponsive variable), ‘공부시간’, ‘기출시험 수’를 넣는다. 넣는다. x축 범위에 원인 변수(explanatory variable)를 넣는다. Labels 카네 체크 표시한다. 선택범위에 제목으로 첫 번째 칸은 데이터에서 제외된다. 출력 범위에 임의의 셀을 지정하고 확인을 한다.

아래와 같은 다중 선형 회귀분석(Multiple Linear Regreesion) 결과를 출력받을 수 있다.

3단계: 결과해석하기

이제 주요 결과물들을 하나하나 해석해본다.

결정계수(R²): 0.734, R²라고 쓰고, 결정계수(coefficient of determination)이다. 이 값은 원인 변수(explanatory variable)로 설명 가능한 반응 변수(response variable)의 변동성을 가리킨다 . 예를 들어 지금 예시에서, 73.40%의 ‘시험 성적(y)’에 변동성이 ‘공부 시간(x1)’과 ‘기출문제 수(x2)’로 설명 가능하다. 1로 갈수록 더 정확한 예측이 가능해진다.

표준오차(standard error): 5.366, 이 값은 관측값과 선형 모델 값과의 오차들에 평균이다. 예를 들어, 지금에 선형 모델에서 관측된 시험 점수와 생성된 선형 모델 값 사이에 오차는 평균적으로 5.366 떨어져 있다.

F 비: 23.46, 선형 모델의 F 통계량(F statistics)이다. 회귀 제곱 평균(MSR) / 잔차 제곱 평균(MSE), 675.378 /28.791 = 23.46

Significance F: 0.0000129, F 통계량에 상응하는 p-값(p-value)다. 이 값은 선형 모델이 통계적으로 타당한지 나타낸다. 한 마디로, 원인 변수(explanatory variable)가 반응 변수(reponse variable)와 통계적으로 유의미한 상관성이 있는지 나타낸다. 지금에 예제에서 p-값(p-value)은 0.05보다 작다. 그러므로 ‘공부 시간’, ‘기출문제 수’와 ‘시험 점수’간에는 유의미한 상관관계가 있다.

P-값(P-value): 각 원인 변수(explanatory variable)의 p-value는, 각 원인 변수(explanatory variable)가 통계적으로 타당한지 검정해준다. ‘공부 시간’에 대한 p-값(p-value)은 0.00001로 유의 수준 알파 값: 0.05보다 작으므로 유의미한 지표다. 그에 반해, ‘기출문제 수’에 대한 p-값(p-value)은 0.52로 0.05보다 크기 때문에 통계적으로 유의미한 지표가 아니다. 그래서 ‘기출문제 수’를 원인 변수(explanatory variable)에서 제외하는 것이 타당하다.

계수(Coefficients): 계수는 선형 모델링을 위한 방정식에 필요한 계수를 제공한다. 지금에 예제에서 선형 모델에 값은

시험 점수 = 67.67 + 5.5557*(공부시간)

시험 성적은 공부시간당 평균 5.5557점씩 증가한다. 그리고 선형 모델에서 ‘공부 시간’이 0시간으로 갈 때 받게 될 최저 시험 점수는 67.67점이다. 단, 여기서 ‘기출문제(x2)’는 고정되었다고 가정한다. 예를 들어 A, B 모두 동일한 숫자에 기출문제를 풀었고 그리고 A가 B보다 한 시간 더 공부했다면, A는 5.5557 높은 점수를 받을 것이다.

다중 선형 회귀분석(Multiple Linear Regreesion)로 선형회귀 방정식: 두 개의 계수(coefficient)를 모두 이용해서 다중 회귀모형의 방정식을 만들 수 있다.

시험 점수 = 67.67 + 5.56*(공부시간) – 0.60*(기출문제 수)

그리고 회귀모형 방정식을 이용해서, 한 학생이 공부시간과 기출문제 수를 가지고 받을 시험 점수를 예측할 수 있다. 예를 들어, ‘공부 시간 = 3시간’, ‘기출문제 수 = 1’ 였다면 예상되는 시험 점수는 83.75다.

시험 점수 = 67.67 + 5.56*(3) – 0.60*(1) = 83.75

하지만 ‘기출문제 수(x2)’는 통계적으로 유의미한 변수가 아니었기 때문에 회귀모형 방정식에 추가된다고 해서 추정 값에 정확도가 증가하진 않는다. 이경우, ‘공부 시간’을 단일 변수로 단순 선형 회귀분석(simple Linear Regreesion)을 할 수 있다.

다중선형회귀(Multiple Linear Regression)

728×90

다중선형회귀(Multiple Linear Regression)

이전 시간에 X와 Y가 하나씩 존재하는 선형회귀에 대해서 다루었습니다. 이번 시간에는 X의 변수가 여러개인 다중선형회귀에 대해서 알아보겠습니다.

다중선형회귀는 여러개의 특성을 이용해 종속변수를 예측하기 때문에 일반 선형회귀보다 더 좋은 성능을 기대할 수 있습니다.

다중선형회귀를 실습하기 위해 맨해튼 집값 데이터를 이용하겠습니다.

데이터 불러오기(맨해튼 집값 데이터)

import pandas as pd # 깃허브 데이터로드 # 깃허브의 데이터를 사용하기 위해선 raw데이터를 로드해야합니다. url = “https://raw.githubusercontent.com/Codecademy/datasets/master/streeteasy/manhattan.csv” manhattan = pd.read_csv(url) manhattan.head()

맨해튼 집값 데이터의 경우 3539개의 행과 18개의 열로 이루어져 있습니다.

데이터 살펴보기(EDA)

머신러닝 모델을 생성하기 전에 먼저 데이터가 어떻게 생겼고 어떤 상관관계를 갖는지 파악하는 것은 굉장히 좋은 습관입니다.

먼저 상관관계 매트릭스를 생성해 레이블에 해당하는 rent특성과 다른 특성들이 어떤 관계를 갖는지 알아보겠습니다.

corr_matrix = manhattan.corr() # 타겟값을 기준으로 관계가 높은 다른 특성들을 정렬해서 역순으로 나열해봅시다. corr_matrix[“rent”].sort_values(ascending=False)

가장 높은 양의 상관관계를 갖는 특성은 집의 size입니다. 그 다음으로는 bathrooms, bedrooms 등의 특성이 나열되었습니다.

더 정확한 수치를 원한다면 현재처럼 각 특성간 수치의 차이가 많이 나는 경우 (rent 변수는 천에서 만대에 이르는 수치, bedrooms는 1의 단위의 수치)에는 특성 스케일링을 통해 각 변수들의 수치적 차이로 인한 왜곡을 방지할 수 있습니다.

하지만 이번시간에는 size가 크면 화장실, 침대 등의 갯수도 많을 것이므로 특성 스케일링에 대해서는 다음에 집중적으로 다루도록 하겠습니다.

위의 매트릭스를 더 직관적으로 보기위해 시각화를 진행해보았습니다.

corr_df = pd.DataFrame(corr_matrix[“rent”].sort_values(ascending=False)) import matplotlib.pyplot as plt plt.figure(figsize=(12,8)) plt.bar(corr_df.index, corr_df[“rent”]) plt.xticks(rotation=45)

위 그래프에서 양의 상관관계가 높게 측정된 변수들을 대상으로 산점도 행렬을 그려 한번 더 상관관계를 확인해보겠습니다.

from pandas.plotting import scatter_matrix attributes = [‘bedrooms’,’bathrooms’,’size_sqft’,’no_fee’,’floor’,’building_age_yrs’,’rent’] scatter_matrix(manhattan[attributes], figsize=(12, 8))

산점도 행렬의 장점은 각 변수들의 산점도를 그려 선형적인 관계를 전체적으로 한눈에 파악할 수 있다는 장점이 있습니다. 다만 데이터의 크기가 클수록 각 데이터마다 점을 찍기에 다소 시간이 걸릴 수 있습니다.

이렇게 머신러닝 모델을 생성하기 전에 데이터를 먼저 확인해 머신러닝에 도움이 될 수 있는 특성을 인풋으로 삼는것이 좋습니다. 이를 Garbage-in Garbage-out 이라고도 합니다.

데이터 준비하기

다중선형회귀 역시 수치형 변수를 다루기 때문에 인풋 변수 역시 수치형 변수를 받습니다.

기본적으로 다중선형회귀는 범주형 변수를 다를 수 없지만 원핫 인코딩 방식을 통해 범주형 범수를 받는 것 또한 가능합니다. 이에 대해서는 나중에 자세히 다루도록하고 이번 시간에는 범주형 변수를 제외한 수치형 변수만을 독립변수로 받겠습니다.

먼저 X와 Y변수를 받아 사이킷런의 train_test_split함수를 통해 7:3의 비율로 데이터를 분할합니다.

from sklearn.model_selection import train_test_split x = manhattan[[‘bedrooms’,’bathrooms’,’size_sqft’,’min_to_subway’,’floor’,’building_age_yrs’,’no_fee’,’has_roofdeck’,’has_washer_dryer’,’has_doorman’,’has_elevator’,’has_dishwasher’,’has_patio’,’has_gym’]] y = manhattan[[‘rent’]] x_train, x_test, y_train, y_test = train_test_split(x,y, train_size = 0.7, test_size = 0.3)

다중선형회귀 모델링

다중선형회귀 역시 지도학습으로 먼저 사이킷런의 선형회귀모델을 생성하고 fit메소드를 통해 인풋변수로 입력될 x_train과 레이블로 사용할 y_train변수를 학습시킵니다.

from sklearn.linear_model import LinearRegression mlr = LinearRegression() mlr.fit(x_train, y_train)

모델 테스트하기

이제 test셋의 일부 데이터를 가지고 모델의 예측결과가 얼마나 좋게 나타나는지 확인해보겠습니다.

plt.plot(mlr.predict(x_test[:50]), label=”predict”) plt.plot(y_test[:50].values.reshape(-1, 1), label=”real price”) plt.legend()

테스트셋의 x 데이터 50개를 이용해 rent 비용을 예측하고 실제 테스트셋의 y데이터를 확인한 결과 대체적으로 비슷한 결과를 보였습니다.

새로운 집의 스펙을 리스트로 입력하여 다음처럼 예측하는 방법도 가능합니다.

my_apt = [[1,1,600,16,1,8,1,0,1,0,0,1,1,0]] mlr.predict(my_apt)

array([[2954.89054955]])

이제 전체 test 데이터를 이용해 값을 예측하고 실제 값과 비교하여 산점도를 그려 선형적인 모습인지 확인해보겠습니다.

y_predict = mlr.predict(x_test) plt.scatter(y_test, y_predict, alpha = 0.4) plt.show()

한눈에 봐도 그래프가 이상적인 선형적 모습을 보입니다. 이제 score 메소드를 통해 다중선형회귀 모델의 성능을 측정합니다.

print(mlr.score(x_train, y_train))

0.7935756199928734

결정계수 R²의 최댓값은 1이며 이 수치가 클수록 실제값과 예측값이 유사함을 의미합니다.

우리가 모델링한 다중선형회귀모델은 약 0.79의 결정계수를 가지며 이는 X변수들이 y변수에 미치는 영향이 79%로 X변수들이 rent값 변동의 79%를 설명할 수 있다는 뜻입니다.

728×90

키워드에 대한 정보 다중 회귀 분석 그래프

다음은 Bing에서 다중 회귀 분석 그래프 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기)

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기

[엑셀Excel] #선형회귀분석에 #대해 #알아보고, #선형추세선 #그려보기(+보너스: #함수로 #기울기 #구하기)


YouTube에서 다중 회귀 분석 그래프 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [엑셀Excel] 선형회귀분석에 대해 알아보고, 선형추세선 그려보기(+보너스: 함수로 기울기 구하기) | 다중 회귀 분석 그래프, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.