LINEAR REGRESSION LÀ GÌ

  -  

Trong bài viết, mình sẽ ra mắt một trong những thuật toán thù cơ bạn dạng độc nhất của Machine Learning. Đây là thuật toán Linear Regression (Hồi Quy Tuyến Tính) trực thuộc đội Supervised learning ( Học bao gồm tính toán ). Hồi quy tuyến tính là một trong cách thức khôn cùng đơn giản tuy nhiên đã làm được chứng tỏ được tính có ích đến một số lượng phệ các trường hợp. Trong bài viết này, bạn sẽ tìm hiểu ra chính xác cách thức tuyến tính thao tác thế nào.Trong Việc phân tích tài liệu, các bạn sẽ xúc tiếp cùng với thuật ngữ "Regression" ( Hồi quy ) khôn cùng liên tiếp. Trước lúc đi sâu vào Hồi quy con đường tính, hãy khám phá quan niệm Hồi quy trước đã. Hồi quy chính là một phương thức thống kê lại nhằm tùy chỉnh cấu hình quan hệ thân một vươn lên là nhờ vào với một đội nhóm tập hợp những đổi mới độc lập. lấy ví dụ :

Tuổi = 5 + Chiều cao * 10 + Trọng lượng * 13Ở đó chính ta đã thiết lập cấu hình mối quan hệ giữa Chiều cao và Trọng lượng của một bạn với Tuổi của anh/cô ta. Đây là một ví dụ siêu cơ bản của Hồi quy.

Bạn đang xem: Linear regression là gì

quý khách hàng đã xem: Linear regression là gì

Hồi quy tuyến tính giản đơn

Introduction

"Hồi quy tuyến đường tính" là 1 trong những phương thức những thống kê để hồi quy tài liệu cùng với biến hóa phụ thuộc có giá trị tiếp tục trong lúc những đổi mới tự do hoàn toàn có thể có một trong các nhì quý giá liên tục hoặc là quý giá phân một số loại. Nói cách không giống "Hồi quy con đường tính" là 1 trong những phương thức để dự đân oán phát triển thành phụ thuộc (Y) dựa trên quý giá của trở thành chủ quyền (X). Nó rất có thể được thực hiện cho những trường vừa lòng bọn họ ước ao dự đoán một trong những lượng liên tục. lấy ví dụ, dự đoán giao thông tại một shop kinh doanh nhỏ, dự đoán thù thời hạn người tiêu dùng tạm dừng một trang nào đó hoặc số trang vẫn truy vấn vào một trang web như thế nào kia v.v...

Chuẩn bị

Để bắt đầu cùng với Hồi quy tuyến tính, họ hãy đi lướt qua một vài quan niệm toán học về những thống kê.

Tương quan (r) - Giải mê say quan hệ thân nhị thay đổi, quý hiếm rất có thể chạy tự -1 mang lại +1Phương thơm sai (σ2) - Đánh giá bán độ phân tán vào dữ liệu của bạnĐộ lệch chuẩn (σ) - Đánh giá bán độ phân tán vào dữ liệu của công ty (căn bậc hai của phương sai)Phân păn năn chuẩnSai số (lỗi) - quý giá thực tế - quý giá dự đoánGiả định

Không một form size làm sao cân xứng mang lại tất cả, vấn đề này cũng đúng so với Hồi quy tuyến đường tính. Để vừa ý hồi quy đường tính, dữ liệu phải ưng ý một vài ba mang định quan trọng đặc biệt. Nếu dữ liệu của khách hàng ko làm theo những đưa định, hiệu quả của chúng ta có thể sai ai cũng như tạo phát âm nhầm.

Tuyến tính & Thêm vào : Nên tất cả một quan hệ tuyến tính thân biến đổi chủ quyền cùng biến đổi ko hòa bình và ảnh hưởng của sự biến hóa vào cực hiếm của các biến hóa chủ quyền đề nghị tác động cung ứng cho tới những thay đổi phụ thuộc vào.Tính thông thường của phân chia những lỗi : Sự phân chia không nên khác giữa những giá trị thực cùng quý hiếm dự đân oán (không nên số) đề nghị được phân chia một bí quyết thông thường.Sự tương đồng: Phương không nên của các lỗi phải là 1 quý hiếm không thay đổi đối với ,Thời gianDự đoánGiá trị của những thay đổi độc lậpSự hòa bình về thống kê lại của những lỗi: Các không đúng số (dư) không nên gồm bất kỳ mọt tương quan nào thân chúng. Ví dụ: Trong trường đúng theo tài liệu theo chuỗi thời gian, không nên tất cả sự đối sánh giữa những không nên số liên tục nhau.Đường hồi quy đường tính

Trong lúc áp dụng hồi quy đường tính, phương châm của chúng ta là để triển khai sao một đường trực tiếp hoàn toàn có thể tạo nên sự phân bổ sớm nhất với phần đông những điểm. Do đó làm sút khoảng cách (không nên số) của các điểm tài liệu cho đến mặt đường kia.


*

lấy một ví dụ, ngơi nghỉ các điểm nghỉ ngơi hình trên (trái) trình diễn các điểm tài liệu khác biệt và mặt đường thẳng (bên phải) đại diện thay mặt cho một con đường gần đúng hoàn toàn có thể lý giải mối quan hệ giữa các trục x và y. Thông qua, hồi quy tuyến đường tính chúng ta nỗ lực đưa ra một đường những điều đó. lấy một ví dụ, ví như chúng ta bao gồm một biến đổi phụ thuộc vào Y với một biến hóa tự do X - mối quan hệ thân X cùng Y hoàn toàn có thể được trình diễn dưới dạng phương trình sau:

Y = Β0 + Β1*XỞ đây,

Y = Biến prúc thuộcX = biến đổi độc lậpΒ0 = Hằng sốΒ1 = Hệ số quan hệ thân X cùng YMột vài ba đặc điểm của hồi quy tuyến đường tínhĐường hồi quy luôn luôn luôn trải qua vừa đủ của vươn lên là chủ quyền (x) cũng như vừa phải của trở thành phụ thuộc (y)Đường hồi qui buổi tối tđọc hóa tổng của "Diện tích những sai số". Đó là nguyên nhân vì sao phương pháp hồi quy tuyến tính được call là "Ordinary Least Square (OLS)"Β1 phân tích và lý giải sự thay đổi vào Y với sự đổi khác X bằng một đơn vị chức năng. Nói bí quyết không giống, ví như bọn họ đội giá trị của X vì chưng một đơn vị chức năng thì nó vẫn là việc thay đổi giá trị của YTìm con đường hồi quy tuyến tính

Sử dụng lý lẽ thống kê lại ví như Excel, R, SAS ... bạn sẽ trực tiếp tìm hằng số (B0 với B1) như thể kết quả của hàm hồi quy con đường tính. Nhỏng kim chỉ nan sinh hoạt bên trên, nó vận động bên trên có mang OLS và cố gắng giảm bớt diện tích S không nên số, các luật pháp này sử dụng những gói ứng dụng tính những hằng số này.

Ví dụ, mang sử chúng ta hy vọng dự đân oán y từ bỏ x vào bảng sau và mang sử rằng pmùi hương trình hồi quy của họ sẽ y như y = B0 + B1 * x

xyPredict "y"
12Β0+B1*1
21Β0+B1*2
33Β0+B1*3
46Β0+B1*4
59Β0+B1*5
611Β0+B1*6
713Β0+B1*7
815Β0+B1*8
917Β0+B1*9
1020Β0+B1*10

Tại trên đây,

Độ lệch chuẩn chỉnh x3.02765
Độ lệch chuẩn y6.617317
Trung bình x5.5
Trung bình y9.7
Tương quan x cùng y.989938

Nếu bọn họ riêng biệt các Tổng còn lại của diện tích không đúng số (RSS) khớp ứng với B0 & B1 cùng tương tự cùng với các hiệu quả bằng không, bọn họ đã có được các phương thơm trình sau đây nlỗi là 1 kết quả:

B1 = Tương quan tiền * ( Độ lệch chuẩn của y / Độ lệch chuẩn chỉnh của x)B0 = vừa phải (Y) - B1 * Trung bình (X)Đưa cực hiếm trường đoản cú bảng 1 vào các phương thơm trình bên trên,

B1 = 2,64B0 = -2,2Do đó, phương thơm trình hồi quy độc nhất đã biến -

Y = -2,2 + 2,64 * xHãy xem, dự đoán của chúng ta như thế nào bằng cách sử dụng pmùi hương trình này

xY -quý hiếm thựcY - Dự đoán
120.44
213.08
335.72
468.36
5911
61113.64
71316.28
81518.92
91721.56
102024.2

Chỉ cùng với 10 điểm dữ liệu nhằm phù hợp với cùng một mặt đường thẳng thì dự đoán của họ đã đúng đắn lắm, nhưng mà nếu họ thấy sự tương quan thân "Y-Thưc tế" cùng "Y - Dự đoán" thì triển vọng sẽ tương đối cao vì vậy cả nhị series đã dịch rời với mọi người trong nhà và đây là biểu vật nhằm hiển thị quý giá dự đoán:


*

Hiệu suất của tế bào hình

Một khi chúng ta xây dựng quy mô, thắc mắc tiếp theo sau mang lại vào đầu là để tìm hiểu liệu mô hình của người tiêu dùng có đầy đủ để tham gia đoán về sau hay là mối quan hệ mà lại chúng ta vẫn xây dừng thân các biến hóa phụ thuộc vào cùng hòa bình là đủ hay không.

Vì mục đích này có tương đối nhiều chỉ số cơ mà chúng ta bắt buộc ttê mê khảo

R – Square (R^2)Công thức tính R^2 đang bằng :


*

Tổng những diện tích (TSS): TSS là một trong phnghiền đo tổng biến chuyển thiên trong phần trăm đáp ứng nhu cầu / thay đổi phụ thuộc vào Y với hoàn toàn có thể được xem là con số đổi thay thiên vốn tất cả vào thỏa mãn nhu cầu trước khi hồi quy được tiến hành.Sum of Squares (RSS): RSS đo lường và thống kê lượng thay đổi sót lại ko giải thích được sau khoản thời gian tiến hành hồi quy.(TSS - RSS) giám sát và đo lường cường độ biến đổi trong thỏa mãn nhu cầu được giải thích (hoặc nhiều loại bỏ) bằng phương pháp thực hiện hồi quy

Trong đó N là số quan tiền cạnh bên được sử dụng để tương xứng cùng với mô hình, σx là độ lệch chuẩn của x, cùng σy là độ lệch chuẩn của y.

R2 xấp xỉ từ bỏ 0 mang lại 1.R2 của 0 tức thị trở nên phụ thuộc thiết yếu dự đân oán được trường đoản cú đổi mới độc lậpR2 của 1 tức là biến đổi dựa vào hoàn toàn có thể được dự đoán nhưng mà không tồn tại không đúng số tự trở thành độc lậpMột R2 thân 0 cùng 1 đã cho thấy cường độ mà vươn lên là phụ thuộc rất có thể dự đoán được. Một R2 của 0.trăng tròn Tức là đôi mươi tỷ lệ của phương thơm sai trong Y có thể dự đoán được trường đoản cú X; Một R2 của 0.40 Tức là 40 Tỷ Lệ là hoàn toàn có thể dự đoán thù v.v...

Root Mean Square Error (RMSE)RMSE cho thấy cường độ phân tán những cực hiếm dự đoán thù trường đoản cú những quý giá thực tế. Công thức tính RMSE là

*

N: Tổng số quan lại sát

Mặc mặc dù RMSE là một Reviews giỏi cho các không nên số nhưng lại vụ việc với nó là nó rất dễ dàng bị ảnh hưởng vì phạm vi của đổi thay dựa vào của người tiêu dùng. Nếu phát triển thành phụ thuộc của khách hàng bao gồm dải thay đổi thiên nhỏ nhắn, RMSE của các bạn sẽ phải chăng với nếu như phát triển thành phụ thuộc vào có phạm vi rộng RMSE vẫn cao. Do kia, RMSE là một vài liệu xuất sắc để so sánh thân các lần lặp lại khác biệt của tế bào hình

Mean Absolute Percentage Error (MAPE)

Để khắc phục và hạn chế các tinh giảm của RMSE, các đơn vị so với say mê thực hiện MAPE đối với RMSE. MAPE đến không nên số vào tỷ lệ Tỷ Lệ và vì thế so sánh được giữa những quy mô. Công thức tính MAPE hoàn toàn có thể được viết nlỗi sau:

*

N: Tổng số quan sát

Hồi quy con đường tính nhiều biến

Cho mang lại hiện giờ, chúng ta vẫn bàn bạc về kịch bản nhưng họ chỉ bao gồm một biến chuyển hòa bình. Nếu họ có không ít rộng một biến đổi hòa bình, phương pháp cân xứng tuyệt nhất là "Multiple Regression Linear" - Hồi quy tuyến tính nhiều biến

Sự không giống biệt

Về cơ bạn dạng không tồn tại sự khác hoàn toàn thân hồi quy tuyến tính "giản đơn" và "đa biến". Cả hai mọi thao tác tuân thủ theo đúng chính sách OLS và thuật toán để có được mặt đường hồi quy về tối ưu tuyệt nhất tương tự như. Trong ngôi trường vừa lòng sau, phương trình hồi quy sẽ có được một hình dáng như sau:

Y=B0+B1*X1+B2*X2+B3*X3.....Ở phía trên,

Bi: Các thông số không giống nhauXi: Các trở nên độc lập khác nhau

Chạy hồi quy tuyến tính bởi Pyhạn hẹp scikit-Learn

Ở bên trên, bạn sẽ biết rằng hồi quy tuyến tính là một trong nghệ thuật thông dụng với chúng ta cũng có thể thấy các pmùi hương trình toán học tập của hồi quy tuyến tính. Nhưng các bạn tất cả biết làm cho núm làm sao nhằm thực hiện một hồi quy con đường tính vào Pyhạn hẹp ?? Có một trong những cách để rất có thể có tác dụng điều ấy, bạn cũng có thể tiến hành hồi quy đường tính bằng phương pháp thực hiện các mô hình những thống kê, numpy, scipy cùng sckit learn. Nhưng trong bài bác này chúng ta vẫn sử dụng sckit learn nhằm triển khai hồi quy con đường tính.

Scikit-learn là 1 trong module Pynhỏ khỏe mạnh mang lại vấn đề học tập trang bị. Nó cất hàm cho hồi quy, phân loại, phân nhiều, lựa chọn mô hình với giảm kích chiều. Chúng ta đang mày mò module sklearn.linear_model có đựng "những method để triển khai hồi quy, trong số đó giá trị kim chỉ nam đang là việc phối hợp con đường tính của các biến đầu vào".

Xem thêm: Lỗ Sâu ( Wormhole Là Gì, Lỗ Giun Vũ Trụ (Wormhole) Là Gì, Wormhole Là Gì

Khám phá bộ tài liệu công ty Boston

Sở Dữ liệu Nhà ngơi nghỉ Boston bao gồm giá nhà đất ngơi nghỉ gần như khu vực không giống nhau sống Boston. Cùng cùng với giá cả, tập dữ liệu cũng báo tin như Tội phạm (CRIM), các khoanh vùng sale không-bán-lẻ làm việc thị trấn (INDUS), tuổi chủ tải căn nhà (AGE) và có không ít nằm trong tính không giống tất cả sẵn tại chỗ này .Bộ dữ liệu thiết yếu nó có thể down từ bỏ phía trên . Tuy nhiên, do bọn họ thực hiện scikit-learn, bạn có thể import nó từ scikit-learn.

%matplotlib inline import numpy as npimport pandas as pdimport scipy.stats as statsimport matplotlib.pyplot as pltimport sklearnimport statsmodels.api as smimport seaborn as snssns.set_style("whitegrid")sns.set_context("poster")# special matplotlib argument for improved plotsfrom matplotlib import rcParamsTrước hết, chúng ta đã import cỗ dữ liệu Boston Housing với tàng trữ nó trong một biến đổi điện thoại tư vấn là boston. Để import nó tự scikit-learn, chúng ta sẽ rất cần phải chạy đoạn mã này.

from sklearn.datasets import load_bostonboston = load_boston()Biến boston là một dạng từ bỏ điển, do vậy chúng ta có thể kiểm tra key của nó sử dụng đoạn mã bên dưới.

print(boston.keys())Nó vẫn trả về nlỗi sau

Tiếp,

print(boston.data.shape)trước hết, chúng ta cũng có thể dễ ợt chất vấn shape của nó bằng phương pháp Điện thoại tư vấn boston.data.shape và nó sẽ trả lại kích cỡ của tập tài liệu cùng với kích thước column.


Nlỗi bạn cũng có thể thấy nó trả về (506, 13), Có nghĩa là gồm 506 mặt hàng tài liệu cùng với 13 cột. Bây tiếng bọn họ ước ao biết 13 cột là gì. Chúng ta sẽ chạy đoạn code sau :

print(boston.feature_names)

Quý Khách có thể dùng lệnh print(boston.DESCR) nhằm kiểm soát mô tả tìm kiếm của tài liệu nạm vì mngơi nghỉ web nhằm đọc.

Tiếp, convert dữ liệu về dạng pandas! Rất đơn giản, Call hàm pd.DataFrame() với truyền boston.data. Chúng ta rất có thể đánh giá 5 dữ liệu thứ nhất bởi bos.head().

bos = pd.DataFrame(boston.data)print(bos.head())

Hoặc bạn co thể dùng đoạn lệnh sau để show được tên cột

bos.columns = boston.feature_namesprint(bos.head())

Có vẻ vẫn chưa xuất hiện column thương hiệu là PRICE.

bos = boston.targetprint(bos.head())Ta đang add nó vào thực hiện đoạn mã trên


Tách dữ liệu để train-test

Về cơ bạn dạng, trước khi chia tài liệu thành tập tài liệu nhằm train - kiểm tra, họ bắt buộc phân chia tài liệu thành nhì cực hiếm : quý giá đích với cực hiếm đoán trước. Hãy Gọi quý hiếm đích Y với những quý hiếm dự báo X.Như vậy,

Y = Boston Housing PriceX = All other featuresX = bos.drop("PRICE", axis = 1)Y = bosBây giờ bạn cũng có thể split tài liệu nhằm train với thử nghiệm cùng với snippet nlỗi sau.

X_train, X_thử nghiệm, Y_train, Y_demo = sklearn.cross_validation.train_test_split(X, Y, test_kích cỡ = 0.33, random_state = 5)print(X_train.shape)print(X_test.shape)print(Y_train.shape)print(Y_thử nghiệm.shape)Nếu chúng ta đánh giá shape của mỗi biến hóa, bọn họ đã chiếm lĩnh bộ tài liệu cùng với tập tài liệu thí nghiệm có tỷ lệ 66,66% so với dữ liệu train với 33,33% đối với dữ liệu demo.


Linear Regression

Tiếp, bọn họ vẫn chạy hồi quy tuyến tính.

Xem thêm: Kinh Doanh Chênh Lệch Tỷ Giá, Nhược Điểm Của Kinh Doanh Chênh Lệch Giá


Thực tế thì đáng lẽ đồ vật thị sinh sống trên phải tạo lập một con đường tuyến đường tính nhỏng họ đang luận bàn kim chỉ nan sống bên trên. Tuy nhiên, Mã Sản Phẩm ko phù hợp 100%, cho nên vì vậy nó sẽ ko thể tạo ra mặt đường tuyến tính.

Trung bình diện tích S không đúng số

Để soát sổ cường độ lỗi của một quy mô, bạn cũng có thể áp dụng Mean Squared Error. Đây là 1 trong những trong số phương thức nhằm đo trung bình của ô vuông của không nên số. Về cơ bạn dạng, nó đang soát sổ sự khác biệt thân quý giá thực tế với quý giá dự đân oán. Để sử dụng nó, bạn cũng có thể áp dụng hàm bình phương vừa đủ không đúng số của scikit-learn bằng phương pháp chạy đoạn mã này

mse = sklearn.metrics.mean_squared_error(Y_demo, Y_pred)print(mse)tác dụng thừa nhận được

28.5413672756

Tham mê khảo cùng dịch

http://bigdata-madesimple.com/how-to-run-linear-regression-in-python-scikit-learn/

http://aimotion.blogspot.com/2011/10/machine-learning-with-python-linear.html

http://machinelearningmastery.com/simple-linear-regression-tutorial-for-machine-learning/

http://machinelearningmastery.com/implement-simple-linear-regression-scratch-python/