You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 머신 러닝 선형 회귀 on Google, you do not find the information you need! Here are the best content compiled and compiled by the kotop.nataviguides.com team, along with other related topics such as: 머신 러닝 선형 회귀 머신러닝 선형회귀 예제, 머신러닝 선형회귀 코드, 선형회귀 구현, 딥러닝 선형회귀 모델, 선형회귀 사례, 파이썬 선형회귀, 딥러닝 선형회귀, 비선형회귀
Table of Contents
03) 선형 회귀(Linear Regression) – 딥 러닝을 이용한 자연어 처리 입문
- Article author: wikidocs.net
- Reviews from users: 39910
Ratings
- Top rated: 3.3
- Lowest rated: 1
- Summary of article content: Articles about 03) 선형 회귀(Linear Regression) – 딥 러닝을 이용한 자연어 처리 입문 이번 챕터에서는 머신 러닝에서 쓰이는 용어인 가설(Hypothesis), 손실 함수(Loss Function) 그리고 경사 하강법(Gradient Descent)에 대한 개념과 선형 회귀에 대해서 … …
- Most searched keywords: Whether you are looking for 03) 선형 회귀(Linear Regression) – 딥 러닝을 이용한 자연어 처리 입문 이번 챕터에서는 머신 러닝에서 쓰이는 용어인 가설(Hypothesis), 손실 함수(Loss Function) 그리고 경사 하강법(Gradient Descent)에 대한 개념과 선형 회귀에 대해서 … 온라인 책을 제작 공유하는 플랫폼 서비스
- Table of Contents:
1 선형 회귀(Linear Regression)
2 가설(Hypothesis) 세우기
3 비용 함수(Cost function) 평균 제곱 오차(MSE)
4 옵티마이저(Optimizer) 경사하강법(Gradient Descent)

[머신러닝] 단순 선형 회귀(Simple Linear Regression)
- Article author: rebro.kr
- Reviews from users: 40224
Ratings
- Top rated: 5.0
- Lowest rated: 1
- Summary of article content: Articles about [머신러닝] 단순 선형 회귀(Simple Linear Regression) 선형 회귀(Linear Regression)는 널리 사용되는 대표적인 회귀 알고리즘이다. 선형 회귀는 종속 변수 y와 하나 이상의 독립 변수 x와의 선형 상관관계를 … …
- Most searched keywords: Whether you are looking for [머신러닝] 단순 선형 회귀(Simple Linear Regression) 선형 회귀(Linear Regression)는 널리 사용되는 대표적인 회귀 알고리즘이다. 선형 회귀는 종속 변수 y와 하나 이상의 독립 변수 x와의 선형 상관관계를 … [목차] 1. 선형 회귀 2. 단순 선형 회귀 실습 1. 선형 회귀(Linear Regression) 선형 회귀(Linear Regression)는 널리 사용되는 대표적인 회귀 알고리즘이다. 선형 회귀는 종속 변수 y와 하나 이상의 독립 변수 x..
- Table of Contents:
‘머신러닝’ Related Articles
티스토리툴바
![[머신러닝] 단순 선형 회귀(Simple Linear Regression)](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWotWR%2FbtrikL5qhmR%2FfssOYAx1C4OFzlM0veY2Q1%2Fimg.png)
머신러닝 – 선형 회귀 모델(Linear Regression)
- Article author: kimdingko-world.tistory.com
- Reviews from users: 14878
Ratings
- Top rated: 4.6
- Lowest rated: 1
- Summary of article content: Articles about 머신러닝 – 선형 회귀 모델(Linear Regression) 선형회귀 모델은 지도 학습 알고리즘으로 주로 수치 예측 문제에 사용합니다. 즉 독립면수 (인풋 변수, X)를 이용해서 숫자인 종속 변수(아웃풋 변수, Y)를 예측하는 … …
- Most searched keywords: Whether you are looking for 머신러닝 – 선형 회귀 모델(Linear Regression) 선형회귀 모델은 지도 학습 알고리즘으로 주로 수치 예측 문제에 사용합니다. 즉 독립면수 (인풋 변수, X)를 이용해서 숫자인 종속 변수(아웃풋 변수, Y)를 예측하는 … 선형회귀 모델 선형회귀 모델은 지도 학습 알고리즘으로 주로 수치 예측 문제에 사용합니다. 즉 독립면수 (인풋 변수, X)를 이용해서 숫자인 종속 변수(아웃풋 변수, Y)를 예측하는 모델입니다. 선형회귀는 인풋..AI/RPA Developer
- Table of Contents:
머신러닝 – 선형 회귀 모델(Linear Regression)
선형회귀 모델
왜 선형식으로 추정하는가
직선에 관하여
선형 회귀 모델
어떤 추정 직선이 가장 좋을까
선형식을 추정하는 방법
왜 제곱합을 사용하는가
결정계수의 개념(R²)
선형회귀를 통한 서울시 집값 예측하기(실습)

5. 머신러닝 알고리즘 : 선형회귀(linear regression)
- Article author: nittaku.tistory.com
- Reviews from users: 46710
Ratings
- Top rated: 4.5
- Lowest rated: 1
- Summary of article content: Articles about 5. 머신러닝 알고리즘 : 선형회귀(linear regression) 머신러닝 중 Supervised Learning(정답이 주어진 데이터를 학습하여 분석)에는 2가지 카테고리가 있다. 바로 Classification와 Regression이다. image … …
- Most searched keywords: Whether you are looking for 5. 머신러닝 알고리즘 : 선형회귀(linear regression) 머신러닝 중 Supervised Learning(정답이 주어진 데이터를 학습하여 분석)에는 2가지 카테고리가 있다. 바로 Classification와 Regression이다. image … 캡쳐 사진 및 글작성에 대한 도움 출저 : 유튜브 – 허민석님 머신러닝 중 Supervised Learning(정답이 주어진 데이터를 학습하여 분석)에는 2가지 카테고리가 있다. 바로 Classification와 Regression이다. Class..IT에 관심이 많은 동신대 한의대생의 개발일지
- Table of Contents:
[머신러닝 기초] 지도학습 – 선형 회귀(Regression) 분석
- Article author: ai-creator.tistory.com
- Reviews from users: 3958
Ratings
- Top rated: 4.5
- Lowest rated: 1
- Summary of article content: Articles about [머신러닝 기초] 지도학습 – 선형 회귀(Regression) 분석 [머신러닝 기초] 지도학습 – 선형 회귀(Regression) 분석 … 머신러닝 회귀 알고리즘은 데이터를 계속 학습하면서 이 비용함수가 반환되는 값(=오류 … …
- Most searched keywords: Whether you are looking for [머신러닝 기초] 지도학습 – 선형 회귀(Regression) 분석 [머신러닝 기초] 지도학습 – 선형 회귀(Regression) 분석 … 머신러닝 회귀 알고리즘은 데이터를 계속 학습하면서 이 비용함수가 반환되는 값(=오류 … ㅁ 선형 회귀란? 지도학습은 크게 2가지 유형으로 볼 수 있습니다. 1) 분류 2) 회귀 두가지 기법의 가장 큰 차이는 다음과 같다. 1) 분류 : 예측값이 이산형 클래스 값 2) 회귀 : 예측값이 연속형 숫자 값 데이..
- Table of Contents:
ai-creator
[머신러닝 기초] 지도학습 – 선형 회귀(Regression) 분석 본문ㅁ 선형 회귀란
ㅁ 단순 선형 회귀를 통한 회귀 이해
ㅁ 비용 최소화 하기 (경사하강법 Gradient Descent)
ㅁ 평가지표
ㅁ Sklearn API
ㅁ Regularization = 정규화 = 제약 (penalty)
ㅁ 그외 Sklearn API 에서 제공하는 선형 회귀 알고리즘
ㅁ 선형 회귀 모델을 위한 데이터 변환
ㅁ 추가학습
ㅁ 참고
티스토리툴바
![[머신러닝 기초] 지도학습 - 선형 회귀(Regression) 분석](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFVYwq%2Fbtrigr7iktu%2FHVZyRw3UnbqnpwlMjIb120%2Fimg.png)
머신 러닝 선형 회귀 – 다나와 기술블로그
- Article author: danawalab.github.io
- Reviews from users: 28144
Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about 머신 러닝 선형 회귀 – 다나와 기술블로그 선형 회귀(Linear Regression)의 개념. /images/2022-09-13-MachineLearning-LinearRegression/regression1.png. 출처: 나무위키. …
- Most searched keywords: Whether you are looking for 머신 러닝 선형 회귀 – 다나와 기술블로그 선형 회귀(Linear Regression)의 개념. /images/2022-09-13-MachineLearning-LinearRegression/regression1.png. 출처: 나무위키. 다나와 기술블로그
- Table of Contents:
MachineLearning
21 가설(Hypothesis)
22 비용 함수(Cost function) 평균 제곱 오차(Mean Sqared Error MSE)
23 옵티마이저(Optimizer) 경사하강법(Gradient Descent)
31 TensorFlow를 이용한 선형 회귀 구현
32 keras를 이용한 선형 회귀 구현
33 사이킷런(scikit-learn)을 이용한 선형 회귀 구현
머신 러닝 선형 회귀
- Article author: hleecaster.com
- Reviews from users: 34471
Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about 머신 러닝 선형 회귀 본 포스팅에서는 머신러닝에서 사용할 선형 회귀 분석에 대한 개념 설명을 누구나 이해할 수 있을 정도의 수준으로 가볍게 소개한다. …
- Most searched keywords: Whether you are looking for 머신 러닝 선형 회귀 본 포스팅에서는 머신러닝에서 사용할 선형 회귀 분석에 대한 개념 설명을 누구나 이해할 수 있을 정도의 수준으로 가볍게 소개한다.
- Table of Contents:

머신러닝 선형회귀 (ML, Linear regression) :: BioinformaticsAndMe
- Article author: bioinformaticsandme.tistory.com
- Reviews from users: 10735
Ratings
- Top rated: 4.1
- Lowest rated: 1
- Summary of article content: Articles about 머신러닝 선형회귀 (ML, Linear regression) :: BioinformaticsAndMe 머신러닝 선형회귀 (ML, Linear regression) Start … 선형 회귀 분석은 가장 적합한 직선(회귀선)을 사용하여 종속 변수(Y)와 하나 이상의 독립 … …
- Most searched keywords: Whether you are looking for 머신러닝 선형회귀 (ML, Linear regression) :: BioinformaticsAndMe 머신러닝 선형회귀 (ML, Linear regression) Start … 선형 회귀 분석은 가장 적합한 직선(회귀선)을 사용하여 종속 변수(Y)와 하나 이상의 독립 … 머신러닝 선형회귀 (ML, Linear regression) Start BioinformaticsAndMe 선형 회귀 (Linear Regression) : 가장 기본적이고 널리 사용되는 기계 학습 알고리즘 중 하나 : 선형 회귀 분석은 가장 적합한 직선(회..Training is everything.
- Table of Contents:
머신러닝 선형회귀 (ML Linear regression)
티스토리툴바
머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀
- Article author: karupro.tistory.com
- Reviews from users: 944
Ratings
- Top rated: 3.1
- Lowest rated: 1
- Summary of article content: Articles about 머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀 머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀 · 1. 선형 회귀(Linear Regression). 특징: 독립변수 x와 종속 … …
- Most searched keywords: Whether you are looking for 머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀 머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀 · 1. 선형 회귀(Linear Regression). 특징: 독립변수 x와 종속 … 환영합니다, Rolling Ress의 카루입니다. 이번에는 인공지능에서 사용되는 머신러닝 알고리즘 중 유명한 것들 몇 개를 골라 자세히 비교해보겠습니다. 언어와 매체 수행평가의 일환으로 그동안 올린 것들을 좀..
- Table of Contents:

머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀
- Article author: blog.mathpresso.com
- Reviews from users: 18222
Ratings
- Top rated: 4.2
- Lowest rated: 1
- Summary of article content: Articles about 머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀 가설(방정식이) 몇차 방정식인지? 그리고 계수는 각각 무엇인지 알아보는 것입니다. 이 방정식의 계수가 선형이면 선형 회귀 분석(Linear Regression Analysis). 그 … …
- Most searched keywords: Whether you are looking for 머신러닝 대표 알고리즘의 종류: 선형 회귀, 로지스틱 회귀, 결정 트리, K-최근접 이웃 회귀 가설(방정식이) 몇차 방정식인지? 그리고 계수는 각각 무엇인지 알아보는 것입니다. 이 방정식의 계수가 선형이면 선형 회귀 분석(Linear Regression Analysis). 그 … 환영합니다, Rolling Ress의 카루입니다. 이번에는 인공지능에서 사용되는 머신러닝 알고리즘 중 유명한 것들 몇 개를 골라 자세히 비교해보겠습니다. 언어와 매체 수행평가의 일환으로 그동안 올린 것들을 좀..
- Table of Contents:

See more articles in the same category here: https://kotop.nataviguides.com/blog/.
03) 선형 회귀(Linear Regression)
딥 러닝을 이해하기 위해서는 선형 회귀(Linear Regression)와 로지스틱 회귀(Logsitic Regression)를 이해할 필요가 있습니다. 이번 챕터에서는 머신 러닝에서 쓰이는 용어인 가설(Hypothesis), 손실 함수(Loss Function) 그리고 경사 하강법(Gradient Descent)에 대한 개념과 선형 회귀에 대해서 이해합니다.
1. 선형 회귀(Linear Regression)
시험 공부하는 시간을 늘리면 늘릴 수록 성적이 잘 나옵니다. 하루에 걷는 횟수를 늘릴 수록, 몸무게는 줄어듭니다. 집의 평수가 클수록, 집의 매매 가격은 비싼 경향이 있습니다. 이는 수학적으로 생각해보면 어떤 요인의 수치에 따라서 특정 요인의 수치가 영향을 받고있다고 말할 수 있습니다. 조금 더 수학적인 표현을 써보면 어떤 변수의 값에 따라서 특정 변수의 값이 영향을 받고 있다고 볼 수 있습니다. 다른 변수의 값을 변하게하는 변수를 $x$, 변수 $x$에 의해서 값이 종속적으로 변하는 변수 $y$라고 해봅시다.
이때 변수 $x$의 값은 독립적으로 변할 수 있는 것에 반해, $y$값은 계속해서 $x$의 값에 의해서, 종속적으로 결정되므로 $x$를 독립 변수, $y$를 종속 변수라고도 합니다. 선형 회귀는 한 개 이상의 독립 변수 $x$와 $y$의 선형 관계를 모델링합니다. 만약, 독립 변수 $x$가 1개라면 단순 선형 회귀라고 합니다.
1) 단순 선형 회귀 분석(Simple Linear Regression Analysis)
$$y = {wx + b}$$
위의 수식은 단순 선형 회귀의 수식을 보여줍니다. 여기서 독립 변수 $x$와 곱해지는 값 $w$를 머신 러닝에서는 가중치(weight), 별도로 더해지는 값 $b$를 편향(bias)이라고 합니다. 직선의 방정식에서는 각각 직선의 기울기와 절편을 의미합니다. $w$와 $b$가 없이 $y$와 $x$란 수식은 $y$는 $x$와 같다는 하나의 식밖에 표현하지 못합니다. 그래프 상으로 말하면 하나의 직선밖에 표현하지 못합니다.
$$y = {x}$$
다시 말해 $w$와 $b$의 값에 따라서 $x$와 $y$가 표현하는 직선은 무궁무진해집니다.
2) 다중 선형 회귀 분석(Multiple Linear Regression Analysis)
$$y = {w_1x_1 + w_2x_2 + … w_nx_n + b}$$
집의 매매 가격은 단순히 집의 평수가 크다고 결정되는 게 아니라 집의 층의 수, 방의 개수, 지하철 역과의 거리와도 영향이 있습니다. 이러한 다수의 요소를 가지고 집의 매매 가격을 예측해보고 싶습니다. $y$는 여전히 1개이지만 이제 $x$는 1개가 아니라 여러 개가 되었습니다. 이를 다중 선형 회귀 분석이라고 합니다. 이에 대한 실습은 뒤에서 진행합니다.
2. 가설(Hypothesis) 세우기
단순 선형 회귀를 가지고 문제를 풀어봅시다. 어떤 학생의 공부 시간에 따라서 다음과 같은 점수를 얻었다는 데이터가 있습니다.
hours($x$) score($y$) 2 25 3 50 4 42 5 61
이를 좌표 평면에 그려보면 다음과 같습니다.
알고있는 데이터로부터 $x$와 $y$의 관계를 유추하고, 이 학생이 6시간, 7시간, 8시간을 공부하였을 때의 성적을 예측해보고 싶습니다. $x$와 $y$의 관계를 유추하기 위해서 수학적으로 식을 세워보게 되는데 머신 러닝에서는 이러한 식을 가설(Hypothesis) 이라고 합니다. 아래의 $H(x)$에서 $H$는 Hypothesis를 의미합니다.
$$H(x) = {wx + b}$$
위의 그림은 $w$와 $b$의 값에 따라서 천차만별로 그려지는 직선의 모습을 보여줍니다. 중학교 수학 과정인 직선의 방정식을 알고있다면, 위의 가설에서 $w$는 직선의 기울기이고 $b$는 절편으로 직선을 표현함을 알 수 있습니다. 결국 선형 회귀는 주어진 데이터로부터 $y$와 $x$의 관계를 가장 잘 나타내는 직선을 그리는 일을 말합니다. 그리고 어떤 직선인지 결정하는 것은 $w$와 $b$의 값이므로 선형 회귀에서 해야할 일은 결국 적절한 $w$와 $b$를 찾아내는 일이 됩니다.
아직은 방법을 모르지만, 어떤 방법을 사용하여 적절한 $w$와 $b$의 값을 찾은 덕택에 $y$와 $x$의 관계를 가장 잘 나타내는 직선을 위의 좌표 평면 상에서 그렸다고 한 번 가정해보겠습니다. 이 직선을 $x$가 6일때, 7일때, 8일때에 대해서도 계속해서 직선을 그저 이어그린다면 이 학생이 6시간을 공부했을 때, 7시간을 공부했을 때, 8시간을 공부했을 때의 예상 점수를 말할 수 있게 됩니다. 그저 $x$가 각각 6일 때, 7일 때, 8일 때의 $y$값을 확인하면 되기 때문입니다.
3. 비용 함수(Cost function) : 평균 제곱 오차(MSE)
앞서 주어진 데이터에서 $x$와 $y$의 관계를 $w$와 $b$를 이용하여 식을 세우는 일을 가설이라고 언급했습니다. 그리고 이제 해야할 일은 문제에 대한 규칙을 가장 잘 표현하는 $w$와 $b$를 찾는 일입니다. 머신 러닝은 $w$와 $b$를 찾기 위해서 실제값과 가설로부터 얻은 예측값의 오차를 계산하는 식을 세우고, 이 식의 값을 최소화하는 최적의 $w$와 $b$를 찾아냅니다.
이때 실제값과 예측값에 대한 오차에 대한 식을 목적 함수(Objective function) 또는 비용 함수(Cost function) 또는 손실 함수(Loss function) 라고 합니다. 함수의 값을 최소화하거나, 최대화하거나 하는 목적을 가진 함수를 목적 함수(Objective function)라고 합니다. 그리고 값을 최소화하려고 하면 이를 비용 함수(Cost function) 또는 손실 함수(Loss function)라고 합니다. 이 세 가지는 엄밀히는 같은 의미는 아니지만, 이 책에서는 목적 함수, 비용 함수, 손실 함수란 용어를 같은 의미로 혼용해서 사용합니다.
비용 함수는 단순히 실제값과 예측값에 대한 오차를 표현하면 되는 것이 아니라, 예측값의 오차를 줄이는 일에 최적화 된 식이어야 합니다. 앞으로 배울 러닝, 딥 러닝에는 다양한 문제들이 있고, 각 문제들에는 적합한 비용 함수들이 있습니다. 회귀 문제의 경우에는 주로 평균 제곱 오차(Mean Squared Error, MSE)가 사용됩니다.
위의 그래프에 임의의 $w$의 값 13과 임의의 $b$의 값 1을 가진 직선을 그렸습니다. 임의로 그린 직선으로 정답이 아닙니다. 이제 이 직선으로부터 서서히 $w$와 $b$의 값을 바꾸면서 정답인 직선을 찾아내야 합니다.
사실 $y$와 $x$의 관계를 가장 잘 나타내는 직선을 그린다는 것은 위의 그림에서 모든 점들과 위치적으로 가장 가까운 직선을 그린다는 것과 같습니다. 이제 오차(error)를 정의하겠습니다. 오차는 주어진 데이터에서 각 $x$에서의 실제값 $y$와 위의 직선에서 예측하고 있는 $H(x)$값의 차이를 말합니다. 즉, 위의 그림에서 ↕는 각 점에서의 오차의 크기를 보여줍니다. 오차를 줄여가면서 $w$와 $b$의 값을 찾아내기 위해서는 전체 오차의 크기를 구해야 합니다.
오차의 크기를 측정하기 위한 가장 기본적인 방법은 각 오차를 모두 더하는 방법이 있습니다. 위의 $y = {13x + 1}$ 직선이 예측한 예측값을 각각 실제값으로부터 오차를 계산하여 표를 만들어보면 아래와 같습니다.
hours($x$) 2 3 4 5 실제값 25 50 42 61 예측값 27 40 53 66 오차 -2 10 -9 -5
그런데, 수식적으로 단순히 ‘오차 = 실제값 – 예측값’ 이라고 정의한 후에 모든 오차를 더하면 음수 오차도 있고, 양수 오차도 있으므로 오차의 절대적인 크기를 구할 수가 없습니다. 그래서 모든 오차를 제곱하여 더하는 방법을 사용합니다. 다시 말해 위의 그림에서의 모든 점과 직선 사이의 ↕ 거리를 제곱하고 모두 더합니다. 이를 수식으로 표현하면 아래와 같습니다. 단, 여기서 $n$은 갖고 있는 데이터의 개수를 의미합니다.
$$ \sum_{i=1}^{n} \left[y^{(i)} – H(x^{(i)})\right]^2 = (-2)^{2} + 10^{2} + (-9)^{2} + (-5)^{2} = 210 $$
이때 데이터의 개수인 $n$으로 나누면, 오차의 제곱합에 대한 평균을 구할 수 있는데 이를 평균 제곱 오차(Mean Squered Error, MSE)라고 합니다. 수식은 아래와 같습니다.
$$ \frac{1}{n} \sum_{i=1}^{n} \left[y^{(i)} – H(x^{(i)})\right]^2 = 210 / 4 = 52.5 $$
$y = {13x + 1}$의 예측값과 실제값의 평균 제곱 오차의 값은 52.5입니다. 평균 제곱 오차의 값을 최소값으로 만드는 $w$와 $b$를 찾아내는 것이 정답인 직선을 찾아내는 일입니다. 평균 제곱 오차를 $w$와 $b$에 의한 비용 함수(Cost function)로 재정의해보면 다음과 같습니다.
$$ cost(w, b) = \frac{1}{n} \sum_{i=1}^{n} \left[y^{(i)} – H(x^{(i)})\right]^2 $$
모든 점들과의 오차가 클 수록 평균 제곱 오차는 커지며, 오차가 작아질 수록 평균 제곱 오차는 작아집니다. 그러므로 이 평균 최곱 오차. 즉, $Cost(w, b)$를 최소가 되게 만드는 $w$와 $b$를 구하면 결과적으로 $y$와 $x$의 관계를 가장 잘 나타내는 직선을 그릴 수 있습니다.
$$w, b → minimize\ cost(w, b)$$
4. 옵티마이저(Optimizer) : 경사하강법(Gradient Descent)
선형 회귀를 포함한 수많은 머신 러닝, 딥 러닝의 학습은 결국 비용 함수를 최소화하는 매개 변수인 $w$와 $b$을 찾기 위한 작업을 수행합니다. 이때 사용되는 알고리즘을 옵티마이저(Optimizer) 또는 최적화 알고리즘이라고 부릅니다.
그리고 이 옵티마이저를 통해 적절한 $w$와 $b$를 찾아내는 과정을 머신 러닝에서 훈련(training) 또는 학습(learning)이라고 부릅니다. 여기서는 가장 기본적인 옵티마이저 알고리즘인 경사 하강법(Gradient Descent)에 대해서 배웁니다.
경사 하강법을 이해하기 위해서 cost와 기울기 $w$와의 관계를 이해해보겠습니다. $w$는 머신 러닝 용어로는 가중치라고 불리지만, 직선의 방정식 관점에서 보면 직선의 기울기를 의미하고 있습니다. 아래의 그래프는 기울기 $w$가 지나치게 높거나, 낮을 때 어떻게 오차가 커지는 모습을 보여줍니다.
위의 그림에서 주황색선은 기울기 $w$가 20일 때, 초록색선은 기울기 $w$가 1일 때를 보여줍니다. 각각 $y = {20x}$, $y = {x}$에 해당되는 직선입니다. ↕는 각 점에서의 실제값과 두 직선의 예측값과의 오차를 보여줍니다. 이는 앞서 예측에 사용했던 $y = {13x + 1}$ 직선보다 확연히 큰 오차값들입니다. 즉, 기울기가 지나치게 크면 실제값과 예측값의 오차가 커지고, 기울기가 지나치게 작아도 실제값과 예측값의 오차가 커집니다. 사실 $b$ 또한 마찬가지인데 $b$가 지나치게 크거나 작으면 오차가 커집니다.
설명의 편의를 위해 편향 $b$가 없이 단순히 가중치 $w$만을 사용한 $y=wx$라는 가설 $H(x)$를 가지고, 경사 하강법을 수행한다고 해보겠습니다. 비용 함수의 값 $cost(w)$는 cost라고 줄여서 표현해보겠습니다. 이에 따라 $w$와 cost의 관계를 그래프로 표현하면 다음과 같습니다.
기울기 $w$가 무한대로 커지면 커질 수록 cost의 값 또한 무한대로 커지고, 반대로 기울기 $w$가 무한대로 작아져도 cost의 값은 무한대로 커집니다. 위의 그래프에서 cost가 가장 작을 때는 볼록한 부분의 맨 아래 부분입니다. 기계가 해야할 일은 cost가 가장 최소값을 가지게 하는 $w$를 찾는 일이므로, 볼록한 부분의 맨 아래 부분의 $w$의 값을 찾아야 합니다.
기계는 임의의 랜덤값 $w$값을 정한 뒤에, 맨 아래의 볼록한 부분을 향해 점차 $w$의 값을 수정해나갑니다. 위의 그림은 $w$값이 점차 수정되는 과정을 보여줍니다. 그리고 이를 가능하게 하는 것이 경사 하강법(Gradient Descent)입니다. 이를 이해하기 위해서는 고등학교 수학 과정인 미분을 이해해야 합니다. 경사 하강법은 미분을 배우게 되면 가장 처음 배우게 되는 개념인 한 점에서의 순간 변화율 또는 다른 표현으로는 접선에서의 기울기의 개념을 사용합니다.
위의 그림에서 초록색 선은 $w$가 임의의 값을 가지게 되는 네 가지의 경우에 대해서, 그래프 상으로 접선의 기울기를 보여줍니다. 주목할 것은 맨 아래의 볼록한 부분으로 갈수록 접선의 기울기가 점차 작아진다는 점입니다. 그리고 맨 아래의 볼록한 부분에서는 결국 접선의 기울기가 0이 됩니다. 그래프 상으로는 초록색 화살표가 수평이 되는 지점입니다.
즉, cost가 최소화가 되는 지점은 접선의 기울기가 0이 되는 지점이며, 또한 미분값이 0이 되는 지점입니다. 경사 하강법의 아이디어는 비용 함수(Cost function)를 미분하여 현재 $w$에서의 접선의 기울기를 구하고, 접선의 기울기가 낮은 방향으로 $w$의 값을 변경하고 다시 미분하고 이 과정을 접선의 기울기가 0인 곳을 향해 $w$의 값을 변경하는 작업을 반복하는 것에 있습니다.
비용 함수(Cost function)는 아래와 같았습니다.
$$cost(w, b) = \frac{1}{n} \sum_{i=1}^{n} \left[y^{(i)} – H(x^{(i)})\right]^2$$
이제 비용(cost)를 최소화하는 $w$를 구하기 위해 $w$를 업데이트하는 식은 다음과 같습니다. 이를 접선의 기울기가 0이 될 때까지 반복합니다.
$$ w := w – α\frac{∂}{∂w}cost(w) $$
위의 식은 현재 $w$에서의 접선의 기울기와 $α$와 곱한 값을 현재 $w$에서 빼서 새로운 $w$의 값으로 한다는 것을 의미합니다. $α$는 여기서 학습률(learning rate)이라고 하는데, 우선 $α$는 생각하지 않고 현재 $w$에서 현재 $w$에서의 접선의 기울기를 빼는 행위가 어떤 의미가 있는지 알아보겠습니다.
위의 그림은 접선의 기울기가 음수일 때, 0일때, 양수일 때를 보여줍니다. 접선의 기울기가 음수일 때의 수식은 아래와 같이 표현할 수 있습니다.
$$ w := w – α(음수 기울기) $$
기울기가 음수면 ‘음수를 빼는 것’은 곧 ‘해당 값을 양수로 바꾸고 더하는 것’과 같습니다. (가령, 어떤 수에서 -2를 뺀다는 것은 해당 숫자에 2를 더하는 것과 같습니다.) 결국 음수 기울기를 빼면 $w$의 값이 증가하게 되는데 이는 결과적으로 접선의 기울기가 0인 방향으로 $w$의 값이 조정됩니다. 만약, 접선의 기울기가 양수라면 위의 수식은 아래와 같이 표현할 수 있습니다.
$$ w := w – α(양수 기울기) $$
기울기가 양수면 $w$의 값이 감소하게 되는데 이는 결과적으로 기울기가 0인 방향으로 $w$의 값이 조정됩니다. 결국, 아래의 수식은 접선의 기울기가 음수거나, 양수일 때 모두 접선의 기울기가 0인 방향으로 $w$의 값을 조정합니다.
$$ w := w – α\frac{∂}{∂w}cost(w) $$
그렇다면 여기서 학습률(learning rate)이라고 말하는 $α$는 어떤 의미를 가질까요? 학습률 $α$은 $w$의 값을 변경할 때, 얼마나 크게 변경할지를 결정하며 0과 1사이의 값을 가지도록 합니다. 예를 들어서 0.01이 될 수 있겠습니다. 학습률은 $w$를 그래프의 한 점으로보고 접선의 기울기가 0일 때까지 경사를 따라 내려간다는 관점에서는 얼마나 큰 폭으로 이동할지를 결정합니다. 직관적으로 생각하기에 학습률 $α$의 값을 무작정 크게 하면 접선의 기울기가 최소값이 되는 $w$를 빠르게 찾을 수 있을 것같지만 그렇지 않습니다.
위의 그림은 학습률 $α$가 지나치게 높은 값을 가질 때, 접선의 기울기가 0이 되는 $w$를 찾아가는 것이 아니라 $w$의 값이 발산하는 상황을 보여줍니다. 반대로 학습률 $α$가 지나치게 낮은 값을 가지면 학습 속도가 느려지므로 적당한 $α$의 값을 찾아내는 것도 중요합니다. 지금까지는 $b$는 배제시키고 최적의 $w$를 찾아내는 것에만 초점을 맞추어 경사 하강법의 원리에 대해서 배웠는데, 실제 경사 하강법은 $w$와 $b$에 대해서 동시에 경사 하강법을 수행하면서 최적의 $w$와 $b$의 값을 찾아갑니다.
정리하자면 가설, 비용 함수, 옵티마이저는 머신 러닝 분야에서 사용되는 포괄적 개념입니다. 풀고자하는 각 문제에 따라 가설, 비용 함수, 옵티마이저는 전부 다를 수 있으며 선형 회귀에 가장 적합한 비용 함수와 옵티마이저가 알려져있는데 이번 챕터에서 언급된 MSE와 경사 하강법이 각각 이에 해당됩니다.
[머신러닝] 단순 선형 회귀(Simple Linear Regression)
728×90
반응형
[목차]1. 선형 회귀
2. 단순 선형 회귀 실습
1. 선형 회귀(Linear Regression)
선형 회귀(Linear Regression)는 널리 사용되는 대표적인 회귀 알고리즘이다. 선형 회귀는 종속 변수 y와 하나 이상의 독립 변수 x와의 선형 상관관계를 모델링하는 기법이다. 만약 독립 변수 x가 1개라면 단순 선형 회귀 라고 하고, 2개 이상이면 다중 선형 회귀 라고 한다.
1) 단순 선형 회귀 (Simple Linear Regression)
단순 선형 회귀는 $y = Wx + b$의 식으로 나타난다. 머신러닝에서는 독립 변수 x에 곱해지는 W값을 가중치(weight), 상수항에 해당하는 b를 편향(bias)이라고 부른다.
따라서 단순 선형 회귀 모델을 훈련하는 것은 적절한 W와 b값을 찾는 것이다. 그래프의 형태는 직선으로 나타난다.
2) 다중 선형 회귀 (Multiple Linear Regression)
다중 선형 회귀는 $y = W_1x_1 + W_2x_2 + … + W_nx_n + b$의 식으로 나타난다. 여러 독립 변수에 의해 영향을 받는 경우이다. 만약 2개의 독립 변수면 그래프는 평면으로 나타날 것이다.
2. 단순 선형 회귀 실습
이전 게시글에서 K-NN 회귀의 한계 를 알아보았다. (https://rebro.kr/184)
하지만, 선형 회귀를 이용하면 이러한 한계를 극복할 수 있다. 농어의 길이만을 이용해서 무게를 예측하기 때문에, 정확하게는 하나의 독립 변수를 사용하는 단순 선형 회귀(Simple Linear Regression)다.
이전의 내용과 이어서, 농어 데이터를 가장 잘 나타낼 수 있는 직선을 찾아야 할 것이다.
위의 세 그래프 중 어떤 직선이 농어 데이터를 가장 잘 표현할까? 두 번째 그래프의 직선이 데이터를 잘 표현함을 쉽게 알 수 있다.
첫 번째 그래프는 모든 농어의 무게를 동일하게 예측한다. 만약 이 직선이 훈련 셋의 평균에 가깝다면 $R^2$의 값은 0에 가까워질 것이다.
반면, 마지막 그래프는 완전히 반대로 예측한다. 이는 $R^2$의 값이 음수가 될 수도 있다.
이제 이 직선을 실제로 어떻게 구하는지 알아보자.
먼저, 사이킷런에서 선형 회귀를 구현해둔 클래스를 제공한다.
sklearn.linear_model 패키지 아래 LinearRegression 클래스를 사용하면 된다.
(데이터는 이전 게시글과 동일하다)
from sklearn.linear_model import LinearRegression lr = LinearRegression() lr.fit(train_input, train_target) print(lr.predict([[100]])) # [3192.69585141]
이전에는 길이가 100인 농어의 무게를 예측했을 때 예상보다 훨씬 작은 무게가 나왔었다. 또 길이가 아무리 커지더라도 무게가 늘어나지 않았다.
하지만 선형 회귀를 이용한 결과 위와 같이 무게가 약 3192로 예상대로 높게 나오는 것을 볼 수 있다. 과연 적절한 직선을 구해내었을까?
길이라는 하나의 특성을 사용했기 때문에 그래프는 직선인 $y = ax + b$의 형태로 나타난다. LinearRegression 클래스가 찾은 a와 b는 각각 lr 객체의 coef_와 intercept_ 변수에 저장된다.
print(lr.coef_, lr.intercept_) # [39.01714496] -709.018644953547
즉, $y = (39.01…)x – (709.0186…) $의 직선이 구해졌다는 의미이다. 이제 이 직선을 그래프로 그려보자.
구한 직선의 방정식을 함수 y = f(x)라고 하면, 직선은 두 점 (15, f(15))와 (100, f(100))을 연결하는 직선과 동일할 것이다.
따라서 plot 함수를 이용하여 두 점을 연결하는 선을 그린다.
plt.scatter(train_input, train_target) plt.plot([15, 100], [15*lr.coef_ + lr.intercept_, 100*lr.coef_ + lr.intercept_]) plt.scatter(100, 3192, marker=’^’) plt.show()
적절한 직선을 찾은 것을 볼 수 있다. 이제, 훈련 셋의 범위를 벗어난 농어의 무게도 예측할 수 있게 되었다.
그런데, 그래프가 직선이기 때문에 길이가 10 이하로 내려가면 무게를 음수로 예측하게 되는 것을 그래프에서 볼 수 있는데, 이는 실제로 일어날 수 없는 일이다.
print(lr.score(train_input, train_target)) # 0.9398463339976041 print(lr.score(test_input, test_target)) # 0.8247503123313562
훈련한 모델에 대한 $R^2$ 점수 또한, 훈련 셋과 테스트 셋의 점수에 차이가 있을뿐더러 훈련 셋의 점수도 그렇게 높지 않다.
그 이유는 실제로 농어의 데이터는 직선보단 곡선에 가깝기 때문이다. 그렇기 때문에 최적의 직선을 찾기보단 최적의 곡선을 찾는다면 더 정확한 예측이 가능할 것이다. 따라서 가장 간단한 곡선인 2차 방정식을 구해보자.
2차 방정식을 구하기 위해서 길이를 제곱한 항을 추가한다. 따라서, 길이의 제곱이 배열에 추가되어야 하는데, 이는 넘파이의 column_stack 함수를 이용하면 간단하게 해결할 수 있다.
train_poly = np.column_stack((train_input**2, train_input)) test_poly = np.column_stack((test_input**2, test_input))
column_stack 함수는 열 방향으로 배열을 합쳐주는 기능을 제공한다. 자세한 설명은 링크를 참고하자.
따라서 1열에는 길이의 제곱, 2열에는 길이가 들어있는 2차원 배열이 train_poly와 test_poly에 할당된다.
다시 선형 회귀 모델을 훈련해보자.
lr = LinearRegression() lr.fit(train_poly, train_target) print(lr.coef_, lr.intercept_) # [ 1.01433211 -21.55792498] 116.05021078278259
lr.coef_를 출력해보니 [1.014…. -21.5579….] 로 나왔다. 이는 2차 방정식의 이차항의 계수가 1.014…, 일차항의 계수가 -21.5579… 를 의미한다. 즉, 대략 $y = 1.014x^2 – 21.5579x + 116.05$의 그래프를 학습하였다.
이렇게 다항식을 사용한 선형 회귀를 다항 회귀(Polynomial Regression)라고 부른다.
다중 회귀랑 헷갈릴 수 있는데, 다중 회귀는 2개 이상의 독립 변수가 존재하는 형태이고, 다항 회귀는 하나의 독립 변수를 이용하여 차수를 높이는 개념이라고 생각하면 된다.
이제 훈련한 모델에 길이가 100인 농어의 무게를 예측해보자. 훈련 과정과 동일하게 길이의 제곱을 원래 길이와 함께 넣어주어야 함을 주의해야 한다.
print(lr.predict([[100**2, 100]])) # [8103.57880667]
이전의 무게 결과인 약 3192보다 더 높은 값을 예측한 것을 볼 수 있다. 모델이 적절하게 훈련이 되었을까?
print(lr.score(train_poly, train_target)) # 0.9706807451768623 print(lr.score(test_poly, test_target)) # 0.9775935108325121
아직 약간의 과소적합 이 남아있긴 하지만, 그래도 훈련 셋과 테스트 셋의 점수가 많이 높아졌음을 알 수 있다.
산점도도 그려보자.
point = np.arange(15, 100) plt.scatter(train_input, train_target) plt.plot(point, 1.01*point**2 – 21.6*point + 116.05) plt.scatter([100], [8103], marker=’^’) plt.show()
2차 방정식의 그래프는 짧은 직선들을 이어서 그리면 곡선처럼 표현할 수 있다. 그러므로 [15, 100]을 1씩 나누어서 직선들을 이어서 그린다.
직선 그래프보다 훨씬 샘플에 맞게 그래프가 그려졌다. 하지만 여전히 과소적합 문제는 해결되지 않았기 때문에 조금 더 복잡한 모델이 필요할 것이다. 다음엔 다중 회귀에 대해 알아보자.
참고)
– https://wikidocs.net/21670
– 혼자 공부하는 머신러닝+딥러닝(박해선, 한빛미디어)
PC로 보시는 것을 권장합니다.
피드백은 언제나 환영입니다. 댓글로 달아주세요 ^-^
728×90
반응형
선형 회귀 모델(Linear Regression)
728×90
선형회귀 모델
선형회귀 모델은 지도 학습 알고리즘으로 주로 수치 예측 문제에 사용합니다.
즉 독립면수 (인풋 변수, X)를 이용해서 숫자인 종속 변수(아웃풋 변수, Y)를 예측하는 모델입니다.
선형회귀는 인풋 변수 X와 아웃풋 변수 Y 사이의 관계를 모델링하여 독립 변수와 종속 변수의 관계를 선형식을 이용하여 설명합니다.
선형회귀는 수치 예측 문제에 사용하기 때문에 예측 문제와 추론 문제에 사용합니다.
왜 선형식으로 추정하는가?
선형회귀는 확보한 데이터를 이용해서, 독립변수와 종속변수 사이의 관계를 선형식으로 추정합니다.
그렇다면 왜 실제 식을 찾지 않고 추정(estimation)해야 할까요?
우리는 데이터 분석을 진행할 때 항상 전체 데이터(모집단)이 없고 샘플(표본)을 사용하기 때문입니다.
따라서 실제 식을 찾는다는 것은 불가능하며 샘플을 이용해 실제 식을 추정하는 것입니다.
직선에 관하여
직선의 방정식
– Y = aX + b
– Y = 기울기 * X + Y절편
기울기는 X가 1 단위 증가할 때 Y의 변화량이라고 해석 가능합니다.
따라서 선형식에서 기울기를 알고있다면 X가 Y에 미치는 영향을 알 수 있는것이죠
즉, X를 이용하여 Y를 예측할 수 있습니다. 따라서 선형회귀에서 학습하고자 하는 것은 바로 선형식의 기울기 입니다.
선형 회귀 모델
선형회귀모델에서 사용되는 수식을 아래와 같습니다.
우리가 실제 사용하는 데이터는 모집단이 아닌 표본(샘플)이기에 무작위 에러(noise)를 추가로 더한 수식이 됩니다.
어떤 추정 직선이 가장 좋을까?
모든 관측값과 추정 직선 사이의 오차(error)들의 합이 가장 작은 추정 직선이 가장 좋은 직선이며 모든 관측값들을 대표할 수 있는 직선이라고 할 수 있습니다.
선형식을 추정하는 방법
선형식을 추정하는 방법으로는 최소 제곱법(Method of Least Square)이 사용됩니다.
최소 제곡법은 관측값과 예측값 사이의 오차의 제곱 합이 최소(Sum of the Sqaured Errors, SSE)가 되는 해를 구하는 방법으로 선형 회귀에서 해는 기울기에 해당합니다.
즉, 최소 제곱법을 이용하여 기울기를 추정하는 것입니다.
왜 제곱합을 사용하는가?
오차는 +, – 값이 가능해 서로 상쇄가 일어날 수 있습니다.
따라서 단순 오차의 합은 정확한 오차의 크기를 나타낼 수 없으므로 제곱합을 사용합니다. 또한 미분을 사용하여 계산이 편리하게 하도록 하기 위함입니다.
이렇게 최소제곱법을 이용해서 우리가 가지고 있는 데이터에 한하여 최적의 선형식을 추정하는 것입니다.
추가적으로 독립변수가 여러개인 다중 선형 회귀 ( Multiple Linear Regression)의 경우의 수식은 다음과 같습니다.
결정계수의 개념(R²)
– 회귀 없이 예측하기
만약 우리가 어떠한 샘플(데이터)를 가지고 회귀가 무엇인지 모르는 상태에서 미래의 데이터를 예측해야하는 상황에 있다고 가정합시다.
그렇다면 어떤 방법이 가장 효율적인 방법일까요?
아마도 회귀 없이 미래의 데이터를 예측하는 최선의 방법은 평균으로 예측하는 방법이 가장 오차가 적은 값으로 예측하는 방법이 될 것입니다.
여기서 오차를 측정하는 방법은 각 샘플에 대해서 잔차를 구하고 이를 제곱하면 하나의 면적이 됩니다. 모든 데이터에 대해서 이 면적의 합을 더하면 그것이 오차의 값이 될 것입니다.
– 회귀로 예측하기
평균으로 예측한 오차의 값을 줄이기 위해서 우리는 회귀를 이용해 미래의 데이터를 예측할 수 있습니다.
회귀를 이용하면 오차의 제곱합이 최소가 되는 직선을 찾기 때문에 평균으로 예측한 상황보다 훨씬 오차(제곱한 잔차들의 합)이 줄어든 것을 확인할 수 있습니다.
– 결정계수의 개념
이 때 회귀를 통해서 얼머나 예측 오차가 줄어들었는지를 측정하는 방법으로 결정계수를 구할 수 있습니다.
회귀를 사용하지 않았을 때 제곱한 잔차의 합 : 41.1879
회귀를 사용했을 때 제곱한 잔차의 합 : 13.7627
줄어든 제곱한 잔차의 합 : 41.1879 – 13.7627 = 27.4252
이를 백분율로 나타내면 다음과 같습니다.
66.59 % 라는 값이 결정계수(R²)이며 결정계수는 x에 대한 회귀 분석을 통해 변수 y의 변동비율과 회귀모델의 설명력을 나타냅니다.
선형회귀를 통한 서울시 집값 예측하기(실습)
import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import numpy as np
사용할 데이터의 모습은 다음과 같습니다.
총 1216553개의 행과 13개의 열로 이루어진 데이터프레임입니다.
# 아파트 실거래 가격과 실용면적을 이용해 데이터의 분포도를 알아보겠습니다. X = train[‘exclusive_use_area’] Y = train[‘transaction_real_price’] plt.plot(X,Y,’g.’) plt.xlabel(‘exclusive_area’) plt.ylabel(‘transaction_real_price’)
이제 머신러닝 모델을 학습하기 위해 훈련 데이터와 테스트 데이터를 7:3의 비율로 분리하겠습니다.
x_train, x_test, y_train, y_test = train_test_split(X,Y, test_size=0.3, random_state = 50)
print(len(x_train), len(x_test)) # 851587 364966
이제 분할된 데이터의 산점도를 확인해보겠습니다.
# 전체 데이터의 70%를 사용한 분포도 입니다. fig, axes = plt.subplots(2, 1) axes[0].plot(x_train, y_train, ‘b.’) axes[1].plot(x_test, y_test, ‘r.’)
이제 선형회귀 모델을 만들어 위의 데이터를 가장 잘 대표할 수 있는 선을 추정하겠습니다.
# 선형회귀 모델 생성 lr = LinearRegression() lr.fit(x_train.values.reshape(-1,1), y_train) # train 데이터 학습
fit 메소드로 학습되는 데이터는 x변수와 y변수입니다.
기울기: line_fitter.coef_
절편: line_fitter.intercept_
생성된 선형회귀 모델이 데이터를 학습했으니 기울기와 절편을 다음의 코드로 확인할 수 있습니다.
[lr.coef_,lr.intercept_] # [array([596.7088741]), -8433.665990978763]이제 다음의 함수를 통해 수식을 완성하고 해당 데이터를 가장 잘 나타내는 직선을 그릴 수 있습니다.
f = lambda x: lr.intercept_ + (lr.coef_ * x) import numpy as np
x = np.array([min(x_train), max(x_train)])
# train data set plt.plot(x_train, y_train, ‘b.’) plt.xlabel(‘train_exclusive_use_area’) plt.ylabel(‘train_transaction_real_price’) plt.plot(x, f(x), color = ‘r’)
검증 데이터를 이용하여 추정된 모델을 평가하는 방법으로 결정계수(R^2)을 계산하여 사용합니다.
결정계수가 1에 가까울수록 Y변수에 대한 X 변수의 설명력이 강하다고 할 수 있습니다.
# 결정계수 값 lr.score(x_train.values.reshape(-1,1),y_train)
0.3148295368852634
x = np.array([min(x_test), max(x_test)]) # test data set plt.plot(x_test, y_test, ‘.’, color =’r’) plt.xlabel(‘test_exclusive_use_area’) plt.ylabel(‘test_transaction_real_price’) plt.plot(x, f(x), color = ‘blue’)
# 결정계수 값 lr.score(x_test.values.reshape(-1,1),y_test)
0.3165584782458567
위의 결정계수와 선형식을 통해 독립변수인 실용면적 특성은 종속변수인 실거래 가격과 양의 선형적 관계에 있으며 약 실용면적 특성은 실거래가격에 약 31%의 설명력을 가진다고 설명할 수 있습니다.
plt.plot(y_test[:20].values.reshape(-1, 1), label=”real price”) plt.plot(lr.predict(x_test[:20].values.reshape(-1,1)), label=”predict price”) plt.legend()
마지막으로 테스트 데이터의 20개 데이터를 predict 메소드를 통해 Y 값을 예측한 결과 실제 값과 비슷하게 예측한 것을확인 할 수 있습니다.
728×90
So you have finished reading the 머신 러닝 선형 회귀 topic article, if you find this article useful, please share it. Thank you very much. See more: 머신러닝 선형회귀 예제, 머신러닝 선형회귀 코드, 선형회귀 구현, 딥러닝 선형회귀 모델, 선형회귀 사례, 파이썬 선형회귀, 딥러닝 선형회귀, 비선형회귀