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 là hữu ích cho một số lượng lớn các vấn đề. 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 quá trình 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ụ Show
Ở đâ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 Đơn giản quy tắc tuyến tínhGiới thiệu"Hồi quy tuyến tính" là một phương pháp thống kê để phục hồi quy định dữ liệu với các 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 các biến phụ thuộc 4 dựa trên giá trị của biến độc lập 5. 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 tại 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 trang web nào đó v. vChuẩn bịĐể bắt đầu với Hồi quy tuyến tính, chúng ta hãy lướt qua một số khái niệm toán học về thống kê
Giả địnhKhông có kích thước nào phù hợp với tất cả, điều này cũng phù hợp với Hồi quy tuyến tính. Để phục hồi quy định tuyến tính, dữ liệu phải đối mặt với 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 lầm
Đường hồi quy tuyến tínhTrong 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 ra sự phân bố gần nhất với hầu hết các điểm. Làm giảm khoảng cách (sai số) của các điểm dữ liệu cho đến đường đó Ví dụ, tại 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 6 & 7. Thông qua, hồi quy tuyến tính chúng ta cố gắng tìm ra một con đường như vậy. Ví dụ, nếu chúng ta có một biến phụ thuộc 8 và một biến độc lập 9 - mối quan hệ giữa 9 và 8 có thể được biểu diễn dưới dạng phương trình sau
at here,
Một vài tính chất của hồi quy tuyến tính
Tìm đường hồi quy tuyến tínhSử 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ố ( 35 và 36) 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 thiểu số lượng sai số, các công cụ này sử dụng các gói phần mềm tính toán hằng số nàyVí dụ, giả sử chúng ta muốn dự đoán 7 từ 6 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ư 39xyPredict 'y'12____28021 8133 8246 8359 84611 85713 86815 87917 881020 89at here, Độ lệch chuẩn x3. 02765Độ lệch chuẩn y6. 617317Trung bình x5. 5Trung bình y9. 7Tương quan x và y. 989938Nếu chúng ta phân biệt các Tổng còn lại của diện phân tích sai số (RSS) tương ứng với 35 & 36 và tương đương với các kết quả bằng không, thì chúng ta có các phương pháp sau đây như một kết quả 0write value from the table 1 to the on the program, 1Do đó, phương trình hồi quy nhất sẽ trở thành -
Hãy xem, dự đoán của họ là như thế nào bằng cách sử dụng phương pháp này xY -giá trị thựcY - Dự đoán120. 44213. 08335. 72468. 36591161113. 6471316. 2881518. 9291721. 56102024. 2Chỉ 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ẽ Hiệu suất của mô hìnhMột khi bạn xây dựng mô hình, câu hỏi tiếp theo xuất hiện trong đầu là để biết liệu mô hình của bạn có đủ để dự đoán trong tương lai hay 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à Vì mục đích này có nhiều chỉ số mà chúng ta cần tham khảo 2Công thức tính toán 42 sẽ bằng
Trong đó 44 là số liệu quan sát được sử dụng để phù hợp với mô hình, 45 là độ lệch tâm của 6, và 47 là độ lệch tâm của 7
Root Mean Square Error (RMSE) RMSE cho biết mức phân chia các giá trị dự đoán từ các giá trị thực tế. Công thức tính RMSE là 44. Tổng số quan sátMặc dù RMSE là một đánh giá tốt cho các số sai nhưng vấn đề là nó rất dễ bị ảnh hưởng bởi phạm vi của các 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 cơ, RMSE của bạn sẽ thấp và nếu biến phụ thuộc có phạm vi rộng thì 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 Lỗi tỷ lệ phần trăm tuyệt đối trung bình (MAPE) Để giải quyết các 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 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. 44. Tổng số quan sátHồi quy tuyến tính đa biếnCho đế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, thì 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ệtVề cơ bản không có sự khác biệt giữa hồi quy tuyến tính 'giả đơ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, quy trình hồi quy sẽ có dạng như sau 3at here, 29. Các số khác nhau 00. Các biến độc lập khác nhauChạ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 pháp 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 quy tắc tuyến tính trong Python ?? . Nhưng trong bài này chúng ta sẽ sử dụng scikit learn để thực hiện hồi quy tuyến tính Scikit-learning là một mô-đun Python mạnh mẽ cho việc học máy. Nó chứa hàm hồi quy, phân loại, phân cụm, lựa chọn mô hình và giảm kích thước. Chúng ta sẽ khám phá mô-đun 01 có chứa "các phương thức để thực hiện các quy định hồi quy, trong đó giá trị mục tiêu sẽ là sự kết hợp tính toán tuyến tính của các biến đầu vào"Trong bài đăng này, chúng tôi 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. Ban đầu tập dữ liệu này được lấy từ thư viện StatLib được duy trì tại Đại học Carnegie Mellon và hiện đã có trên UCI Machine Learning Repository Khám phá bộ dữ liệu nhà BostonBộ 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 nhà (AGE) và có nhiều thuộc tính . Bộ dữ liệu chính nó có thể được tải xuống từ đây. Tuy nhiên, vì chúng ta sử dụng 02, nên chúng ta có thể nhập nó từ 02 8Trước hết, chúng ta sẽ nhập dữ liệu Boston Housing và lưu trữ nó trong một biến gọi là boston. To import it from 02, we will must run this đoạn mã 4Biến 05 là một dạng từ điển, vì vậy chúng ta có thể kiểm tra 06 của nó bằng cách sử dụng đoạn mã bên dưới 2It will return as after Tiếp, 0Đầu tiên, chúng ta có thể dễ dàng kiểm tra 07 của nó bằng cách gọi 08 và nó sẽ trả lại kích thước của tệp dữ liệu với cột kích thướcNhư chúng ta có thể thấy nó trả về 09, 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 mã sau 1Bạn có thể sử dụng lệnh 10 để kiểm tra mô tả của dữ liệu thay vì mở web để đọcNext, convert data about pandas format. Rất đơn giản, gọi hàm 11 và truyền tải 12. Chúng ta có thể kiểm tra 5 dữ liệu đầu tiên bằng 13 2Hoặc bạn có thể sử dụng đoạn lệnh sau để hiển thị cột được đặt tên 3Có vẻ như vẫn chưa có cột tên là 14 4Ta sẽ thêm nó vào đoạn mã sử dụng trên Nếu bạn muốn xem các số liệu tổng hợp, hãy chạy đoạn mã sau 5Tách dữ liệu để huấn luyện-kiểm traVề cơ bản, trước khi chia dữ liệu thành tập dữ liệu để huấn luyện - kiểm tra, chúng ta cần chia dữ liệu thành hai giá trị. giá trị đích và giá trị dự báo. Vui lòng gọi giá trị đích 8 và giá trị dự báo 9. Such, 6 7Bây giờ chúng ta có thể chia nhỏ dữ liệu để huấn luyện và kiểm tra với đoạn trích như sau 8Nếu chúng ta kiểm tra hình dạng của từng biến, thì chúng ta đã có bộ dữ liệu với dữ liệu thử nghiệm tập tin có tỷ lệ 66,66% đối với tập dữ liệu và 33,33% đối với thử nghiệm dữ liệu hồi quy tuyến tínhTiếp theo, chúng ta sẽ chạy hồi quy tuyến tính 9Đoạn mã trên sẽ phù hợp với một mô hình dựa trên 17 và 18. Bây giờ chúng tôi đã có mô hình tuyến tính, chúng tôi sẽ cố gắng dự đoán nó cho 19 và các giá trị dự đoán sẽ được lưu trong 20. Để 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ểuThực tế thì đáng lẽ đồ thị ở trên phải tạo ra một lộ trình tính toán như chúng ta đã thảo luận lý thuyết ở trên. Tuy nhiên, mô hình không thích hợp 100%, cho nên nó không thể tạo ra được đường tính Trung bình diện phân sốĐể kiểm tra mức độ lỗi của một mô hình, chúng ta có thể sử dụng 21. Đâ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 02 bằng cách chạy đoạn mã này 00kết quả nhận được 01Tham khảo và dịchhttp. //dữ liệu lớn được làm đơn giản. com/how-to-run-linear-regression-in-python-scikit-learn/ http. // aimotion. blogspot. com/2011/10/machine-learning-with-python-linear. html http. //máy học thành thạo. com/simple-linear-regression-tutorial-for-machine-learning/ http. //máy học thành thạo. com/implement-simple-linear-regression-scratch-python/ https. //Trung bình. com/@haydar_ai/learning-data-science-day-9-linear-regression-on-boston-housing-dataset-cd62a80775ef |