Công cụ regression đánh giá hệ số hồi quy năm 2024

Tại bước phân tích hồi quy chúng ta xác định được biến độc lập nào có sự tác động lên biến phụ thuộc và mức độ tác động của các biến mạnh, yếu thế nào nhờ vào giá trị sig kiểm định t và các hệ số hồi quy. Hệ số hồi quy có thể dương hoặc âm, tuy nhiên chúng ta lại thường xuyên nhìn thấy các kết quả hệ số hồi quy dương khá nhiều nên một số bạn chưa nắm rõ lý thuyết phần này cảm thấy khá rối khi diễn giải hệ số hồi quy âm. Vậy thì, hệ số hồi quy âm hay cụ thể là hệ số B hoặc Beta âm trong hồi quy trên SPSS mang ý nghĩa gì?

Nếu bạn nào chưa hiểu rõ về cách phân tích và đọc kết quả hồi quy bội trên SPSS. Các bạn có thể thực hiện theo hướng dẫn tại bài viết này.

Thực hiện từng bước theo bài viết, các bạn sẽ có được bảng Coefficients chứa các thông số về hệ số hồi quy cần thiết như: sig kiểm định t, hệ số hồi quy chưa chuẩn hóa B, hệ số hồi quy đã chuẩn hóa Beta như ví dụ mẫu bên dưới. Các biến tham gia trong bảng này gồm:

- Biến độc lập: Giá cả sản phẩm, Khuyến mãi, Chất lượng sản phẩm, Dịch vụ sau mua hàng.

- Biến phụ thuộc: Sự hài lòng của khách hàng.

Có thể dễ dàng thấy rằng, ngoài biến Giá cả sản phẩm có hệ số hồi quy âm thì các biến còn lại đều có hệ số hồi quy dương. Cần làm rõ rằng, trước khi nhận xét hệ số hồi quy là âm hay dương thì cần xem xét giá trị sig của kiểm định t trước.

  • Nếu sig kiểm định t nhỏ hơn 0.05, biến độc lập có tác động lên biến phụ thuộc, khi đó chúng ta mới xét đến hệ số hồi quy âm hay dương. Hệ số hồi quy dương, nghĩa là biến độc lập tác động thuận chiều với biến phụ thuộc, biến độc lập càng tăng, biến phụ thuộc sẽ càng tăng. Hệ số hồi quy âm, nghĩa là biến độc lập tác động nghịch chiều lên biến phụ thuộc, biến độc lập càng tăng, biến phụ thuộc càng giảm.
  • Nếu sig kiểm định t lớn hơn 0.05, biến độc lập KHÔNG có sự tác động lên biến phụ thuộc. Khi đó dù hệ số hồi quy âm hay dương đi chăng nữa, chúng ta cũng không đề cập đến. Bản chất biến đó đã không có sự tác động lên biến phụ thuộc thì chúng ta không thể đánh giá là nó tác động thuận hay nghịch chiều được.

Nhìn vào bảng ta thấy được biến Giá cả sản phẩm có sig kiểm định t nhỏ hơn 0.05 và hệ số hồi quy chuẩn hóa Beta và chưa chuẩn hóa B mang giá trị âm. Như vậy, biến Giá cả sản phẩm có sự tác động lên biến Sự hài lòng và sự tác động này là nghịch chiều: Giá cả sản phẩm càng tăng thì Sự hài lòng của khách hàng càng giảm.

Khi viết phương trình hồi quy, chúng ta sẽ để cả dấu đi cùng với hệ số hồi quy, ví dụ bên dưới là phương trình hồi quy chuẩn hóa từ kết quả ở trên:

Hài lòng = -0.334*Giá cả + 0.322*Khuyến mãi + 0.543*Dịch vụ sau mua hàng + 𝜀

Do tác giả lấy độ tin cậy 95% [mức ý nghĩa 5%] nên biến Chất lượng sản phẩm không tác động lên Hài lòng bởi sig = 0.056 > 0.05. Khi viết phương trình, chúng ta không đưa biến không có ý nghĩa vào.

Nếu bạn gặp khó khăn khi thực hiện phân tích hồi quy đa biến như biến bị loại nhiều, không đảm bảo điều kiện R bình phương, sig kiểm định F. Bạn có thể tham khảo dịch vụ chạy SPSS thuê của Phạm Lộc Blog hoặc liên hệ trực tiếp email xulydinhluong@gmail.com.

Trong bài viết, mình sẽ giới thiệu một trong những thuật toán cơ bản nhất của Machine Learning. Đây là thuật toán Linear Regression [Hồi Quy Tuyến Tính] thuộc nhóm Supervised learning [ Học có giám sát ]. Hồi quy tuyến tính là một phương pháp rất đơn giản nhưng đã được chứng minh được tính hữu ích cho một số lượng lớn các tình huống. Trong bài viết này, bạn sẽ khám phá ra chính xác cách thức tuyến tính làm việc như thế nào. Trong việc phân tích dữ liệu, bạn sẽ tiếp xúc với thuật ngữ "Regression" [ Hồi quy ] rất thường xuyên. Trước khi đi sâu vào Hồi quy tuyến tính, hãy tìm hiểu khái niệm Hồi quy trước đã. Hồi quy chính là một phương pháp thống kê để thiết lập mối quan hệ giữa một biến phụ thuộc và một nhóm tập hợp các biến độc lập. Ví dụ :

Tuổi = 5 + Chiều cao * 10 + Trọng lượng * 13

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

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

Introduction

"Hồi quy tuyến tính" là một phương pháp thống kê để hồi quy dữ liệu với biến phụ thuộc có giá trị liên tục trong khi các biến độc lập có thể có một trong hai giá trị liên tục hoặc là giá trị phân loại. Nói cách khác "Hồi quy tuyến tính" là một phương pháp để dự đoán biến phụ thuộc

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

2 dựa trên giá trị của biến độc lập

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

3. Nó có thể được sử dụng cho các trường hợp chúng ta muốn dự đoán một số lượng liên tục. Ví dụ, dự đoán giao thông ở một cửa hàng bán lẻ, dự đoán thời gian người dùng dừng lại một trang nào đó hoặc số trang đã truy cập vào một website nào đó v.v...

Chuẩn bị

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

  • Tương quan [r] - Giải thích mối quan hệ giữa hai biến, giá trị có thể chạy từ -1 đến +1
  • Phương sai [σ2] - Đánh giá độ phân tán trong dữ liệu của bạn
  • Độ lệch chuẩn [σ] - Đánh giá độ phân tán trong dữ liệu của bạn [căn bậc hai của phương sai]
  • Phân phối chuẩn
  • Sai số [lỗi] - {giá trị thực tế - giá trị dự đoán}

Giả định

Không một kích thước nào phù hợp cho tất cả, điều này cũng đúng đối với Hồi quy tuyến tính. Để thoả mãn hồi quy tuyến tính, dữ liệu nên thoả mãn một vài giả định quan trọng. Nếu dữ liệu của bạn không làm theo các giả định, kết quả của bạn có thể sai cũng như gây hiểu nhầm.

  1. Tuyến tính & Thêm vào : Nên có một mối quan hệ tuyến tính giữa biến độc lập và biến không độc lập và ảnh hưởng của sự thay đổi trong giá trị của các biến độc lập nên ảnh hưởng thêm vào tới các biến phụ thuộc.
  2. Tính bình thường của phân bổ các lỗi : Sự phân bổ sai khác giữa các giá trị thực và giá trị dự đoán [sai số] nên được phân bổ một cách bình thường.
  3. Sự tương đồng: Phương sai của các lỗi nên là một giá trị không đổi so với ,
  4. Thời gian
  5. Dự đoán
  6. Giá trị của các biến độc lập
  7. Sự độc lập về thống kê của các lỗi: Các sai số [dư] không nên có bất kỳ mối tương quan nào giữa chúng. Ví dụ: Trong trường hợp dữ liệu theo chuỗi thời gian, không nên có sự tương quan giữa các sai số liên tiếp nhau.

Đường hồi quy tuyến tính

Trong khi sử dụng hồi quy tuyến tính, mục tiêu của chúng ta là để làm sao một đường thẳng có thể tạo được sự phân bố gần nhất với hầu hết các điểm. Do đó làm giảm khoảng cách [sai số] của các điểm dữ liệu cho đến đường đó.

Ví dụ, ở các điểm ở hình trên [trái] biểu diễn các điểm dữ liệu khác nhau và đường thẳng [bên phải] đại diện cho một đường gần đúng có thể giải thích mối quan hệ giữa các trục

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

4 &

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

5. Thông qua, hồi quy tuyến tính chúng ta cố gắng tìm ra một đường như vậy. Ví dụ, nếu chúng ta có một biến phụ thuộc

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

6 và một biến độc lập

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

7 - mối quan hệ giữa

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

7 và

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

6 có thể được biểu diễn dưới dạng phương trình sau:

Y = Β0 + Β1*X

Ở đây,

  • B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X] 6 = Biến phụ thuộc
  • B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X] 7 = biến độc lập
  • B1 = 2,64 B0 = -2,2

    2 = Hằng số
  • B1 = 2,64 B0 = -2,2

    3 = Hệ số mối quan hệ giữa

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X]

    7 và

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X] 6

Một vài tính chất của hồi quy tuyến tính

  • Đường hồi quy luôn luôn đi qua trung bình của biến độc lập

    B1 = 2,64 B0 = -2,2

    6 cũng như trung bình của biến phụ thuộc

    B1 = 2,64 B0 = -2,2

    7
  • Đường hồi qui tối thiểu hóa tổng của "Diện tích các sai số". Đó là lý do tại sao phương pháp hồi quy tuyến tính được gọi là "Ordinary Least Square [OLS]"
  • B1 = 2,64 B0 = -2,2

    3 giải thích sự thay đổi trong

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X]

    6 với sự thay đổi

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X]

    7 bằng một đơn vị. Nói cách khác, nếu chúng ta tăng giá trị của

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X]

    7 bởi một đơn vị thì nó sẽ là sự thay đổi giá trị của

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X] 6

Tìm đường hồi quy tuyến tính

Sử dụng công cụ thống kê ví dụ như Excel, R, SAS ... bạn sẽ trực tiếp tìm hằng số [

Y = -2,2 + 2,64 * x

3 và

Y = -2,2 + 2,64 * x

  1. như là kết quả của hàm hồi quy tuyến tính. Như lý thuyết ở trên, nó hoạt động trên khái niệm OLS và cố gắng giảm bớt diện tích sai số, các công cụ này sử dụng các gói phần mềm tính các hằng số này.

Ví dụ, giả sử chúng ta muốn dự đoán

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

5 từ

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

4 trong bảng sau và giả sử rằng phương trình hồi quy của chúng ta sẽ giống như

Y = -2,2 + 2,64 * x

7

x y Predict 'y' 1 2

Y = -2,2 + 2,64 * x

8 2 1

Y = -2,2 + 2,64 * x

9 3 3

R – Square [R^2]

0 4 6

R – Square [R^2]

1 5 9

R – Square [R^2]

2 6 11

R – Square [R^2]

3 7 13

R – Square [R^2]

4 8 15

R – Square [R^2]

5 9 17

R – Square [R^2]

6 10 20

R – Square [R^2]

7

Ở đây,

Độ lệch chuẩn 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à y .989938

Nếu chúng ta phân biệt các Tổng còn lại của diện tích sai số [RSS] tương ứng với

Y = -2,2 + 2,64 * x

3 &

Y = -2,2 + 2,64 * x

4 và tương đương với các kết quả bằng không, chúng ta có được các phương trình sau đây như là một kết quả:

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

Đưa giá trị 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 nhất sẽ trở thành -

Y = -2,2 + 2,64 * x

Hãy xem, dự đoán của chúng ta như thế nào bằng cách sử dụng phương trình này

x Y -giá trị thực Y - Dự đ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 20 24.2

Chỉ với 10 điểm dữ liệu để phù hợp với một đường thẳng thì dự đoán của chúng ta sẽ chính xác lắm, nhưng nếu chúng ta thấy sự tương quan giữa 'Y-Thưc tế' và 'Y - Dự đoán' thì triển vọng sẽ rất cao do đó cả hai series đang di chuyển cùng nhau và đây là biểu đồ để hiển thị giá trị dự đoán:

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

Một khi bạn xây dựng mô hình, câu hỏi tiếp theo đến trong đầu là để biết liệu mô hình của bạn có đủ để dự đoán trong tương lai hoặc là mối quan hệ mà bạn đã xây dựng giữa các biến phụ thuộc và độc lập là đủ hay không.

Vì mục đích này có nhiều chỉ số mà chúng ta cần tham khảo

R – Square [R^2]

Công thức tính

Y=B0+B1*X1+B2*X2+B3*X3.....

0 sẽ bằng :

  • Tổng các diện tích [TSS]: TSS là một phép đo tổng biến thiên trong tỷ lệ đáp ứng / biến phụ thuộc B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X] 6 và có thể được coi là số lượng biến thiên vốn có trong đáp ứng trước khi hồi quy được thực hiện.
  • Sum of Squares [RSS]: RSS đo lường lượng biến đổi còn lại không giải thích được sau khi thực hiện hồi quy.
  • [TSS - RSS] đo lường mức độ thay đổi trong đáp ứng được giải thích [hoặc loại bỏ] bằng cách thực hiện hồi quy

Trong đó

Y=B0+B1*X1+B2*X2+B3*X3.....

2 là số quan sát được sử dụng để phù hợp với mô hình,

Y=B0+B1*X1+B2*X2+B3*X3.....

3 là độ lệch chuẩn của

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

4, và

Y=B0+B1*X1+B2*X2+B3*X3.....

5 là độ lệch chuẩn của

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

5.

  • Y=B0+B1*X1+B2*X2+B3*X3.....

    7 giao động từ 0 đến 1.
  • Y=B0+B1*X1+B2*X2+B3*X3.....

    7 của 0 nghĩa là biến phụ thuộc không thể dự đoán được từ biến độc lập
  • Y=B0+B1*X1+B2*X2+B3*X3.....

    7 của 1 có nghĩa là biến phụ thuộc có thể được dự đoán mà không có sai số từ biến độc lập
  • Một

    Y=B0+B1*X1+B2*X2+B3*X3.....

    7 giữa 0 và 1 chỉ ra mức độ mà biến phụ thuộc có thể dự đoán được. Một

    Y=B0+B1*X1+B2*X2+B3*X3.....

    7 của 0.20 có nghĩa là 20 phần trăm của phương sai trong

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X]

    6 có thể dự đoán được từ

    B1 = Tương quan [ Độ lệch chuẩn của y / Độ lệch chuẩn của x] B0 = trung bình [Y] - B1 Trung bình [X]

    7; Một

    Y=B0+B1*X1+B2*X2+B3*X3.....

    7 của 0.40 có nghĩa là 40 phần trăm là có thể dự đoán v.v...

Root Mean Square Error [RMSE] RMSE cho biết mức độ phân tán các giá trị dự đoán từ các giá trị thực tế. Công thức tính RMSE là

Y=B0+B1*X1+B2*X2+B3*X3.....

2: Tổng số quan sát

Mặc dù RMSE là một đánh giá tốt cho các sai số nhưng vấn đề với nó là nó rất dễ bị ảnh hưởng bởi phạm vi của biến phụ thuộc của bạn. Nếu biến phụ thuộc của bạn có dải biến thiên hẹp, RMSE của bạn sẽ thấp và nếu biến phụ thuộc có phạm vi rộng RMSE sẽ cao. Do đó, RMSE là một số liệu tốt để so sánh giữa các lần lặp lại khác nhau của mô hình

Mean Absolute Percentage Error [MAPE]

Để khắc phục những hạn chế của RMSE, các nhà phân tích thích sử dụng MAPE so với RMSE. MAPE cho sai số trong tỷ lệ phần trăm và do đó so sánh được giữa các mô hình. Công thức tính MAPE có thể được viết như sau:

Y=B0+B1*X1+B2*X2+B3*X3.....

2: Tổng số quan sát

Hồi quy tuyến tính đa biến

Cho đến hiện tại, chúng ta đã thảo luận về kịch bản mà chúng ta chỉ có một biến độc lập. Nếu chúng ta có nhiều hơn một biến độc lập, phương pháp phù hợp nhất là "Multiple Regression Linear" - Hồi quy tuyến tính đa biến

Sự khác biệt

Về cơ bản không có sự khác biệt giữa hồi quy tuyến tính 'giản đơn' và 'đa biến'. Cả hai đều làm việc tuân theo nguyên tắc OLS và thuật toán để có được đường hồi quy tối ưu nhất cũng tương tự. Trong trường hợp sau, phương trình hồi quy sẽ có một hình dạng như sau:

Y=B0+B1*X1+B2*X2+B3*X3.....

Ở đây,

%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

7: Các hệ số khác nhau

%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

8: Các biến độc lập khác nhau

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

Ở trên, bạn đã biết rằng hồi quy tuyến tính là một kỹ thuật phổ biến và bạn cũng 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 bạn có biết làm thế nào để thực hiện một hồi quy tuyến tính trong Python ?? Có một số cách để có thể làm điều đó, bạn có thể thực hiện hồi quy tuyến tính bằng cách sử dụng các mô hình thống kê, numpy, scipy và sckit learn. Nhưng trong bài này chúng ta sẽ sử dụng sckit learn để thực hiện hồi quy tuyến tính.

Scikit-learn là một module Python mạnh mẽ cho việc học máy. Nó chứa hàm cho hồi quy, phân loại, phân cụm, lựa chọn mô hình và giảm kích chiều. Chúng ta sẽ khám phá module

%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

9 có chứa "các method để thực hiện hồi quy, trong đó giá trị mục tiêu sẽ là sự kết hợp tuyến tính của các biến đầu vào".

Trong bài đăng này, chúng ta sẽ sử dụng bộ dữ liệu Nhà ở Boston, bộ dữ liệu chứa thông tin về giá trị nhà cửa ở ngoại ô thành phố Boston. Tập dữ liệu này ban đầu được lấy từ thư viện StatLib được duy trì tại Đại học Carnegie Mellon và bây giờ đã có trên UCI Machine Learning Repository.

Khám phá bộ dữ liệu nhà Boston

Bộ Dữ liệu Nhà ở Boston bao gồm giá nhà ở những nơi khác nhau ở Boston. Cùng với giá cả, tập dữ liệu cũng cung cấp thông tin như Tội phạm [CRIM], các khu vực kinh doanh không-bán-lẻ ở thị trấn [INDUS], tuổi chủ sở hữu ngôi nhà [AGE] và có nhiều thuộc tính khác có sẵn ở đây . Bộ dữ liệu chính nó có thể down từ đây . Tuy nhiên, vì chúng ta sử dụng

from sklearn.datasets import load_boston
boston = load_boston[]

0, chúng ta có thể import nó từ

from sklearn.datasets import load_boston
boston = load_boston[]

0.

%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 hết, chúng ta sẽ import bộ dữ liệu Boston Housing và lưu trữ nó trong một biến gọi là boston. Để import nó từ

from sklearn.datasets import load_boston
boston = load_boston[]

0, chúng ta sẽ cần phải chạy đoạn mã này.

from sklearn.datasets import load_boston
boston = load_boston[]

Biến

from sklearn.datasets import load_boston
boston = load_boston[]

3 là một dạng từ điển, vì vậy chúng ta có thể kiểm tra

from sklearn.datasets import load_boston
boston = load_boston[]

4 của nó sử dụng đoạn mã bên dưới.

print[boston.keys[]]

Nó sẽ trả về như sau

Tiếp,

Y = Β0 + Β1*X

0

Trước tiên, chúng ta có thể dễ dàng kiểm tra

from sklearn.datasets import load_boston
boston = load_boston[]

5 của nó bằng cách gọi

from sklearn.datasets import load_boston
boston = load_boston[]

6 và nó sẽ trả lại kích thước của tập dữ liệu với kích thước column.

Như chúng ta có thể thấy nó trả về

from sklearn.datasets import load_boston
boston = load_boston[]

7, có nghĩa là có 506 hàng dữ liệu với 13 cột. Bây giờ chúng ta muốn biết 13 cột là gì. Chúng ta sẽ chạy đoạn code sau :

Y = Β0 + Β1*X

1

Bạn có thể dùng lệnh

from sklearn.datasets import load_boston
boston = load_boston[]

8 để kiểm tra description của dữ liệu thay vì mở web để đọc.

Tiếp, convert dữ liệu về dạng pandas! Rất đơn giản, gọi hàm

from sklearn.datasets import load_boston
boston = load_boston[]

9 và truyền

print[boston.keys[]]

0. Chúng ta có thể kiểm tra 5 dữ liệu đầu tiên bằng

print[boston.keys[]]

1.

Y = Β0 + Β1*X

2

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

Y = Β0 + Β1*X

3

Có vẻ vẫn chưa có column tên là

print[boston.keys[]]

2.

Y = Β0 + Β1*X

4

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

Nếu bạn muốn nhìn các số liệu tổng hợp thống kê, hãy chạy đoạn mã sau .

Y = Β0 + Β1*X

5

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

Về cơ bản, trước khi chia dữ liệu thành tập dữ liệu để train - test, chúng ta cần chia dữ liệu thành hai giá trị : giá trị đích và giá trị dự báo. Hãy gọi giá trị đích

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

6 và các giá trị dự báo

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

7. Như vậy,

Y = Β0 + Β1*X

6

Y = Β0 + Β1*X

7

Bây giờ chúng ta có thể split dữ liệu để train và test với snippet như sau.

Y = Β0 + Β1*X

8

Nếu chúng ta kiểm tra shape của mỗi biến, chúng ta đã có được bộ dữ liệu với tập dữ liệu thử nghiệm có tỷ lệ 66,66% đối với dữ liệu train và 33,33% đối với dữ liệu test.

Linear Regression

Tiếp, chúng ta sẽ chạy hồi quy tuyến tính.

Y = Β0 + Β1*X

9

Đoạn mã trên sẽ phù hợp với một mô hình dựa trên

print[boston.keys[]]

5 và

print[boston.keys[]]

6. Bây giờ chúng tôi đã có mô hình tuyến tính, chúng ta sẽ cố gắng dự đoán nó cho

print[boston.keys[]]

7 và các giá trị dự đoán sẽ được lưu trong

print[boston.keys[]]

8. Để hình dung sự khác biệt giữa giá thực tế và giá trị dự đoán, chúng tôi cũng tạo ra một bảng biểu .

Thực tế thì đáng lẽ đồ thị ở trên phải tạo một đường tuyến tính như chúng ta đã thảo luận lý thuyết ở trên. Tuy nhiên, model không thích hợp 100%, cho nên nó đã ko thể tạo được đường tuyến tính.

Trung bình diện tích sai số

Để kiểm tra mức độ lỗi của một mô hình, chúng ta có thể sử dụng

print[boston.keys[]]

9. Đây là một trong các phương pháp để đo trung bình của ô vuông của sai số. Về cơ bản, nó sẽ kiểm tra sự khác biệt giữa giá trị thực tế và giá trị dự đoán. Để sử dụng nó, chúng ta có thể sử dụng hàm bình phương trung bình sai số của

from sklearn.datasets import load_boston
boston = load_boston[]

0 bằng cách chạy đoạn mã này

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

0

kết quả nhận được

B1 = Tương quan * [ Độ lệch chuẩn của y / Độ lệch chuẩn của x]
B0 = trung bình [Y] - B1 * Trung bình [X]

1

Tham khảo và dịch

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

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

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

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

//medium.com/@haydar_ai/learning-data-science-day-9-linear-regression-on-boston-housing-dataset-cd62a80775ef

Chủ Đề