Test_size là gì

Trong nội dung bài viết, bản thân đã reviews một trong những thuật toán 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 có đo lường ). Hồi quy tuyến tính là 1 trong những cách thức vô cùng dễ dàng và đơn giản dẫu vậy đã có chứng tỏ được tính có ích cho một số trong những lượng lớn các trường hợp. Trong bài viết này, các bạn sẽ khám phá ra chính xác phương pháp tuyến đường tính thao tác ra làm sao. Trong vấn đề phân tích tài liệu, bạn sẽ xúc tiếp cùng với thuật ngữ "Regression" ( Hồi quy ) rất tiếp tục. Trước khi đi sâu vào Hồi quy đường tính, hãy tìm hiểu khái niệm Hồi quy trước sẽ. Hồi quy đó là một phương thức thống kê nhằm thiết lập mối quan hệ giữa một biến nhờ vào cùng một đội nhóm tập hợp các phát triển thành hòa bình. lấy ví dụ như : Tuổi = 5 + Chiều cao * 10 + Trọng lượng * 13

Ở đó chính ta vẫn tùy chỉnh thiết lập quan hệ thân Chiều cao & Trọng lượng của một người cùng với Tuổi của anh/cô ta. Đây là 1 trong ví dụ rất cơ bạn dạng của Hồi quy.

Bạn đang xem: Hồi quy tuyến tính là gì

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

"Hồi quy tuyến tính" là 1 trong những phương thức thống kê lại nhằm hồi quy dữ liệu cùng với vươn lên là phụ thuộc có mức giá trị tiếp tục trong những lúc những trở thành chủ quyền rất có thể gồm 1 trong hai cực hiếm thường xuyên hay là giá trị phân một số loại. Nói phương pháp không giống "Hồi quy con đường tính" là một trong phương pháp để tham gia đân oán trở thành nhờ vào (Y) dựa vào cực hiếm của biến đổi hòa bình (X). Nó có thể được thực hiện cho các trường hợp bọn họ mong muốn dự đoán thù một số trong những lượng liên tục. lấy một ví dụ, dự đoán thù giao thông tại một siêu thị kinh doanh nhỏ, dự đoán thù thời gian người tiêu dùng tạm dừng một trang như thế nào đó hoặc số trang sẽ truy vấn vào trong 1 website như thế nào đó v.v... Chuẩn bị

Để bước đầu cùng với Hồi quy đường tính, bọn họ hãy đi lướt qua một số định nghĩa tân oán học về những thống kê. Tương quan (r) - Giải thích quan hệ thân nhị biến hóa, cực hiếm có thể chạy từ bỏ -1 mang lại +1 Pmùi hương không đúng (σ2) - Đánh giá chỉ độ phân tán vào dữ liệu của chúng ta Độ lệch chuẩn chỉnh (σ) - Đánh giá độ phân tán vào tài liệu của công ty (cnạp năng lượng bậc nhị của phương sai) Phân phối chuẩn Sai số (lỗi) - Giả định

Không một kích cỡ làm sao cân xứng cho toàn bộ, vấn đề đó cũng giống đối với Hồi quy tuyến đường tính. Để chấp thuận hồi quy tuyến tính, tài liệu nên đống ý một vài giả định đặc biệt. Nếu tài liệu của bạn không làm theo những giả định, tác dụng của bạn cũng có thể sai cũng nlỗi tạo hiểu nhầm. Tuyến tính & Thêm vào : Nên bao gồm một mối quan hệ tuyến đường tính giữa trở nên độc lập và trở thành không độc lập và ảnh hưởng của sự việc thay đổi vào quý hiếm của những đổi mới độc lập nên tác động sản xuất tới những phát triển thành dựa vào. Tính bình thường của phân bổ những lỗi : Sự phân bổ sai khác giữa những quý hiếm thực với giá trị dự đoán thù (không nên số) yêu cầu được phân chia một bí quyết thông thường. Sự tương đồng: Phương thơm không đúng của những lỗi nên là 1 trong cực hiếm không thay đổi đối với , Thời gian Dự đoán thù Giá trị của các đổi thay độc lập Sự độc lập về thống kê lại của những lỗi: Các sai số (dư) không nên bao gồm bất kỳ mối đối sánh như thế nào thân bọn chúng. Ví dụ: Trong trường hòa hợp dữ liệu theo chuỗi thời hạn, không nên tất cả sự đối sánh tương quan thân những không nên số thường xuyên nhau. Đường hồi quy con đường tính

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

*

lấy một ví dụ, sinh sống các điểm sinh hoạt hình trên (trái) biểu diễn các điểm tài liệu khác biệt với mặt đường trực tiếp (bên phải) đại diện cho 1 đường giao động hoàn toàn có thể giải thích quan hệ giữa những trục x & y. Thông qua, hồi quy tuyến tính họ cố gắng tìm thấy một đường như thế. ví dụ như, nếu bọn họ bao gồm một biến chuyển phụ thuộc vào Y và một đổi mới độc lập X - quan hệ giữa X với Y hoàn toàn có thể được biểu diễn dưới dạng pmùi hương trình sau: Y = Β0 + Β1*X

Ở phía trên, Y = Biến dựa vào X = biến đổi độc lập Β0 = Hằng số Β1 = Hệ số mối quan hệ thân X với Y Một vài ba tính chất của hồi quy con đường tính Đường hồi quy luôn luôn luôn luôn trải qua vừa phải của đổi mới hòa bình (x) cũng như vừa phải của trở thành nhờ vào (y) Đường hồi qui về tối tđọc hóa tổng của "Diện tích những không đúng số". Đó là nguyên nhân vì sao cách thức hồi quy con đường tính được Hotline là "Ordinary Least Square (OLS)" Β1 giải thích sự chuyển đổi trong Y với sự thay đổi X bởi một đơn vị chức năng. Nói biện pháp không giống, trường hợp bọn họ tăng giá trị của X bởi một đơn vị chức năng thì nó đang là sự việc đổi khác giá trị của Y Tìm đường hồi quy đường tính

Sử dụng phương tiện những thống kê ví như Excel, R, SAS ... bạn sẽ trực tiếp tìm hằng số (B0 và B1) như thể hiệu quả của hàm hồi quy đường tính. Nlỗi lý thuyết sống bên trên, nó chuyển động bên trên định nghĩa OLS cùng nỗ lực giảm sút diện tích S sai số, những nguyên lý này sử dụng những gói phần mềm tính các hằng số này.

lấy ví dụ, giả sử họ ý muốn dự đoán y từ bỏ x trong bảng sau và trả sử rằng phương thơm trình hồi quy của họ sẽ giống như y = B0 + B1 * x x y Predict "y" 1 2 Β0+B1*1 2 1 Β0+B1*2 3 3 Β0+B1*3 4 6 Β0+B1*4 5 9 Β0+B1*5 6 11 Β0+B1*6 7 13 Β0+B1*7 8 15 Β0+B1*8 9 17 Β0+B1*9 10 trăng tròn Β0+B1*10

Tại trên đây, Độ lệch chuẩn chỉnh x 3.02765 Độ lệch chuẩn y 6.617317 Trung bình x 5.5 Trung bình y 9.7 Tương quan x với y .989938

Nếu bọn họ riêng biệt các Tổng còn sót lại của diện tích S không đúng số (RSS) khớp ứng với B0 & B1 với tương tự cùng với các tác dụng bằng không, bọn họ có được các pmùi hương trình dưới đây như là một trong kết quả: B1 = Tương quan * ( Độ lệch chuẩn của y / Độ lệch chuẩn chỉnh của x) B0 = trung bình (Y) - B1 * Trung bình (X)

Đưa quý giá tự bảng 1 vào các phương trình trên, B1 = 2,64 B0 = -2,2

Do đó, phương trình hồi quy duy nhất đã trở nên - Y = -2,2 + 2,64 * x

Hãy xem, dự đoán của họ ra sao bằng cách thực hiện phương trình này x Y -quý giá thực Y - Dự đân oán 1 2 0.44 2 1 3.08 3 3 5.72 4 6 8.36 5 9 11 6 11 13.64 7 13 16.28 8 15 18.92 9 17 21.56 10 trăng tròn 24.2

Chỉ cùng với 10 điểm tài liệu để cân xứng với 1 đường trực tiếp thì dự đoán thù của chúng ta đã đúng đắn lắm, nhưng mà nếu chúng ta thấy sự đối sánh tương quan giữa "Y-Thưc tế" với "Y - Dự đoán" thì triển vọng sẽ khá cao cho nên vì thế cả nhì series đang dịch chuyển bên nhau cùng đây là biểu thiết bị nhằm hiển thị quý giá dự đoán:

*

Hiệu suất của mô hình

Một khi chúng ta kiến tạo mô hình, câu hỏi tiếp theo sau mang lại trong đầu là để hiểu liệu mô hình của người sử dụng tất cả đầy đủ để tham gia đân oán sau đây Hay là quan hệ nhưng bạn đã chế tạo thân những biến hóa dựa vào cùng độc lập là đủ hay không.

Vì mục tiêu này có không ít chỉ số cơ mà họ buộc phải tmê say khảo R  Square (R^2)

Công thức tính R^2 đã bởi :

*

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

Trong đó N là số quan lại gần kề được sử dụng nhằm tương xứng với quy mô, σx là độ lệch chuẩn chỉnh của x, với σy là độ lệch chuẩn chỉnh của y. R2 xấp xỉ tự 0 cho 1. R2 của 0 tức thị thay đổi phụ thuộc vào cần yếu dự đoán thù được tự trở thành độc lập R2 của 1 tức là đổi mới dựa vào rất có thể được dự đoán cơ mà không tồn tại không đúng số tự trở thành hòa bình Một R2 giữa 0 với 1 chỉ ra rằng cường độ cơ mà trở nên phụ thuộc vào hoàn toàn có thể dự đoán thù được. Một R2 của 0.20 tức là đôi mươi Xác Suất của phương không đúng vào Y hoàn toàn có thể dự đoán thù được từ bỏ X; Một R2 của 0.40 Có nghĩa là 40 phần trăm là rất có thể dự đân oán v.v...

Root Mean Square Error (RMSE) RMSE cho thấy mức độ phân tán những cực hiếm dự đân oán tự các cực hiếm thực tế. Công thức tính RMSE là

*

N: Tổng số quan liêu sát

Mặc mặc dù RMSE là một trong reviews tốt cho những không nên số nhưng lại sự việc với nó là nó rất đơn giản bị tác động vì chưng phạm vi của trở thành phụ thuộc của khách hàng. Nếu thay đổi phụ thuộc của người tiêu dùng gồm dải vươn lên là thiên thon, RMSE của các bạn sẽ rẻ với giả dụ biến chuyển dựa vào gồm phạm vi rộng RMSE sẽ cao. Do đó, RMSE là một số liệu tốt nhằm đối chiếu 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 chế phần nhiều giảm bớt của RMSE, những nhà đối chiếu đam mê thực hiện MAPE so với RMSE. MAPE đến không đúng số trong tỷ lệ Phần Trăm và vì vậy so sánh được giữa các mô hình. Công thức tính MAPE hoàn toàn có thể được viết nhỏng sau:

*

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

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

Cho mang đến ngày nay, bọn họ đang thảo luận về kịch bạn dạng nhưng chúng ta chỉ bao gồm một đổi mới độc lập. Nếu bọn họ có nhiều hơn một biến đổi độc lập, phương pháp phù hợp tuyệt nhất là "Multiple Regression Linear" - Hồi quy con đường tính nhiều biến Sự khác biệt

Về cơ bạn dạng không có sự khác biệt giữa hồi quy tuyến đường tính "giản đơn" với "nhiều biến". Cả nhì đa số thao tác tuân thủ theo đúng nguyên tắc OLS và thuật toán thù để có được mặt đường hồi quy tối ưu nhất cũng như. Trong ngôi trường vừa lòng sau, pmùi hương trình hồi quy sẽ sở hữu một bề ngoài như sau: Y=B0+B1*X1+B2*X2+B3*X3.....

Tại đây,

Bi: Các hệ số không giống nhau Xi: Các trở thành chủ quyền không giống nhau

Chạy hồi quy tuyến đường tính bằng Python scikit-Learn

Ở trên, bạn vẫn hiểu được hồi quy tuyến đường tính là một trong những chuyên môn phổ biến với chúng ta có thể thấy các phương trình toán học của hồi quy tuyến tính. Nhưng chúng ta gồm biết có tác dụng cầm cố nào nhằm tiến hành một hồi quy đường tính vào Python ?? Có một vài cách để rất có thể có tác dụng điều này, bạn có thể triển khai hồi quy tuyến tính bằng phương pháp sử dụng những mô hình thống kê, numpy, scipy và sckit learn. Nhưng trong bài bác này bọn họ vẫn sử dụng sckit learn nhằm tiến hành hồi quy con đường tính.

Scikit-learn là một trong những module Pythanh mảnh mạnh khỏe cho Việc học tập máy. Nó chứa hàm mang đến hồi quy, phân loại, phân các, sàng lọc mô hình với bớt kích chiều. Chúng ta vẫn tò mò module sklearn.linear_mã sản phẩm bao gồm đựng "những method để tiến hành hồi quy, trong số ấy quý giá phương châm đang là việc phối hợp con đường tính của những trở nên đầu vào".

Trong bài bác đăng này, bọn họ đang thực hiện cỗ tài liệu Nhà làm việc Boston, bộ dữ liệu chứa thông tin về quý giá thành công ngơi nghỉ ngoại thành đô thị Boston. Tập tài liệu này thuở đầu được đem từ bỏ tlỗi viện StatLib được gia hạn trên Đại học tập Carnegie Mellon cùng hiện nay đã bao gồm bên trên UCI Machine Learning Repository. Khám phá bộ dữ liệu nhà Boston

Sở Dữ liệu Nhà sống Boston bao hàm giá cả nhà đất làm việc những vị trí khác nhau sinh hoạt Boston. Cùng với Ngân sách chi tiêu, tập tài liệu cũng đưa tin như Tội phạm (CRIM), những khu vực marketing không-bán-lẻ sinh hoạt thị trấn (INDUS), tuổi công ty tải nơi ở (AGE) và có nhiều thuộc tính khác gồm sẵn ở chỗ này . Bộ tài liệu bao gồm nó rất có thể down từ bỏ trên đây . Tuy nhiên, vày chúng ta thực hiện scikit-learn, chúng ta có thể import nó từ bỏ scikit-learn. %matplotlib inline import numpy as np import pandas as pd import scipy.stats as stats import matplotlib.pyplot as plt import sklearn import statsmodels.api as sm import seaborn as sns sns.set_style("whitegrid") sns.set_context("poster") # special matplotlib argument for improved plots from matplotlib import rcParams

Trước không còn, chúng ta đã import cỗ dữ liệu Boston Housing với tàng trữ nó vào một đổi thay gọi là boston. Để import nó từ scikit-learn, họ sẽ cần phải chạy đoạn mã này. from sklearn.datasets import load_boston boston = load_boston()

Biến boston là một dạng tự điển, vị vậy bạn cũng có thể kiểm soát key của nó thực hiện đoạn mã bên dưới. print(boston.keys())

Nó đang trả về nhỏng sau

*

Tiếp, print(boston.data.shape)

Thứ nhất, bạn có thể dễ dàng kiểm soát shape của chính nó bằng cách Gọi boston.data.shape và nó đã trả lại kích thước của tập dữ liệu với kích thước column.

*

Như bạn cũng có thể thấy nó trả về (506, 13), Có nghĩa là bao gồm 506 mặt hàng dữ liệu với 13 cột. Bây giờ bọn họ ý muốn biết 13 cột là gì. Chúng ta đang chạy đoạn code sau : print(boston.feature_names)

*

Quý Khách rất có thể sử dụng lệnh print(boston.DESCR) nhằm khám nghiệm mô tả tìm kiếm của dữ liệu cụ bởi vì mlàm việc web nhằm gọi.

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

Xem thêm: Usb Là Gì - Cổng Kết Nối Usb Lưu Trữ Dữ Liệu

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

*

Hoặc các bạn co thể dùng đoạn lệnh sau nhằm show được thương hiệu cột bos.columns = boston.feature_names print(bos.head())

*

Có vẻ vẫn chưa xuất hiện column tên là PRICE. bos<"PRICE"> = boston.target print(bos.head())

Ta sẽ add nó vào áp dụng đoạn mã trên

*

Nếu bạn có nhu cầu nhìn những số liệu tổng phù hợp những thống kê, hãy chạy đoạn mã sau . print(bos.describe())

*

Tách tài liệu để train-kiểm tra

Về cơ phiên bản, trước khi chia dữ liệu thành tập dữ liệu để train - demo, bọn họ đề xuất phân tách dữ liệu thành nhì cực hiếm : quý hiếm đích với cực hiếm đoán trước. Hãy call quý hiếm đích Y cùng các cực hiếm dự đoán X. bởi thế, Y = Boston Housing Price X = All other features X = bos.drop("PRICE", axis = 1) Y = bos<"PRICE">

Bây giờ đồng hồ bạn cũng có thể split dữ liệu để train và demo với snippet nhỏng sau. X_train, X_test, Y_train, Y_thử nghiệm = sklearn.cross_validation.train_test_split(X, Y, test_size = 0.33, random_state = 5) print(X_train.shape) print(X_test.shape) print(Y_train.shape) print(Y_test.shape)

Nếu chúng ta khám nghiệm shape của từng đổi mới, bọn họ đã chiếm lĩnh cỗ dữ liệu cùng với tập dữ liệu thí điểm tất cả tỷ lệ 66,66% đối với tài liệu train và 33,33% so với tài liệu thử nghiệm.

*

Linear Regression

Tiếp, bọn họ sẽ chạy hồi quy con đường tính. from sklearn.linear_Model import LinearRegression lm = LinearRegression() lm.fit(X_train, Y_train) Y_pred = lm.predict(X_test) plt.scatter(Y_test, Y_pred) plt.xlabel("Prices: $Y_i$") plt.ylabel("Predicted prices: $hat_i$") plt.title("Prices vs Predicted prices: $Y_i$ vs $hat_i$")

Đoạn mã trên sẽ tương xứng với 1 mô hình dựa vào X_train với Y_train. Bây giờ đồng hồ Cửa Hàng chúng tôi đã bao gồm mô hình tuyến tính, bọn họ đã cố gắng dự đoán nó đến X_test với các quý giá dự đoán sẽ được giữ trong Y_pred. Để tưởng tượng sự biệt lập thân giá chỉ thực tiễn với giá trị dự đân oán, Shop chúng tôi cũng tạo nên một bảng biểu .

*

Thực tế thì đáng lẽ trang bị thị làm việc trên phải tạo lập một con đường đường tính nlỗi bọn họ đã trao đổi triết lý sinh sống trên. Tuy nhiên, Mã Sản Phẩm không thích hợp 100%, do đó nó đã ko thể tạo ra mặt đường tuyến đường tính. Trung bình diện tích không nên số

Để bình chọn mức độ lỗi của một quy mô, chúng ta cũng có thể sử dụng Mean Squared Error. Đây là một trong những cách thức để đo vừa phải của ô vuông của sai số. Về cơ bạn dạng, nó đang soát sổ sự biệt lập thân giá trị thực tiễn với quý giá dự đoán. Để thực hiện nó, bạn có thể sử dụng hàm bình pmùi hương mức độ vừa phải không nên số của scikit-learn bằng phương pháp chạy đoạn mã này mse = sklearn.

Xem thêm: Giàn Giáo Tiếng Anh Là Gì, Giàn Giáo Tuýp Tiếng Anh Là Gì

metrics.mean_squared_error(Y_test, Y_pred) print(mse)

công dụng dìm được 28.5413672756

Tsay mê khảo với 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/

https://medium.com/

Chuyên mục: Hỏi Đáp

Video liên quan