Nhiều tập lệnh python hồi quy tuyến tính

Chiến lược mô hình hóa mối quan hệ giữa một tính năng phụ thuộc [biến mục tiêu] và một tính năng độc lập duy nhất [hồi quy đơn giản] hoặc nhiều tính năng độc lập [hồi quy bội] được gọi là hồi quy tuyến tính. Thuật toán hồi quy tuyến tính hoạt động dựa trên giả định rằng cả hai loại biến đều có mối quan hệ tuyến tính. Nếu mối quan hệ này tồn tại, chúng ta có thể tính toán các hệ số cần thiết của mô hình để đưa ra dự báo dựa trên dữ liệu mới hoặc dữ liệu chưa biết

Phân tích mô tả các biến

Thông thường, bạn nên vẽ biểu đồ trực quan hóa dữ liệu để hiểu dữ liệu tốt hơn và kiểm tra xem có mối quan hệ nào giữa từng tính năng hay không trước khi tiếp tục áp dụng hồi quy đa tuyến tính. Chúng tôi sẽ sử dụng phương thức pairplot[] từ gói Seaborn để vẽ mối quan hệ giữa các tính năng. Hàm sẽ tạo ra một hình có biểu đồ và biểu đồ phân tán kết nối từng tính năng

Sử dụng nhiều thư viện khác nhau, bao gồm Numpy, Pandas, Scikit-Learn và Scipy, chúng ta sẽ tìm hiểu cách áp dụng và trực quan hóa quy trình hồi quy tuyến tính trong Python từ đầu trong hướng dẫn này

Nhập thư viện

Chúng tôi sẽ nhập một số thư viện Python mà chúng tôi cần, chẳng hạn như NumPy, Pandas, sklearn, matplotlib, v.v. , trong bước đầu tiên của chúng tôi. Ngoài ra, chúng tôi sẽ sử dụng thư viện Pandas để tải tập dữ liệu từ kho lưu trữ GitHub và chuyển đổi tập dữ liệu thành khung dữ liệu có tên là df

Mã số

đầu ra

[545, 4]
      price  area  bedrooms  stories
0  13300000  7420         4        3
1  12250000  8960         4        4
2  12250000  9960         3        2
3  12215000  7500         4        2
4  11410000  7420         4        2

Lựa chọn tính năng

Chúng ta sẽ thấy mối quan hệ giữa các tính năng bằng cách sử dụng biểu đồ cặp

Mã số

đầu ra

Chúng ta có thể thấy trong hàng đầu tiên của hình có mối quan hệ tuyến tính giữa giá và các đặc điểm khu vực của tập dữ liệu. Chúng ta có thể thấy rằng đồ thị phân tán của các biến còn lại là ngẫu nhiên và không thể hiện mối quan hệ nào giữa chúng. Chúng ta chỉ nên lấy một trong nhiều tính năng độc lập có mối quan hệ giữa chúng. Trong khi ở đây, giá là biến mục tiêu, vì vậy không cần phải giảm và làm nổi bật

đa cộng tuyến

Mô hình hồi quy tuyến tính bội giả định không tồn tại mối tương quan giữa các yếu tố dự đoán hoặc các biến độc lập được sử dụng trong hồi quy. Sử dụng phương thức corr[] từ khung dữ liệu Pandas, chúng ta có thể tính toán giá trị hệ số tương quan Pearson giữa hai tính năng của dữ liệu và xây dựng ma trận để xem liệu có bất kỳ mối tương quan nào giữa bất kỳ yếu tố dự đoán nào không. Sau đó, chúng ta có thể sử dụng biểu đồ heatmap[] của Seaborn để hiển thị ma trận dưới dạng bản đồ nhiệt

Mã số

đầu ra

Pearson correlation coefficient matrix for each independent variable: 
               area  bedrooms   stories
area      1.000000  0.151858  0.083996
bedrooms  0.151858  1.000000  0.408564
stories   0.083996  0.408564  1.000000

Xây dựng mô hình hồi quy tuyến tính bội

Hãy tiến tới phát triển mô hình hồi quy của chúng ta. Bây giờ chúng ta đã thấy không có mối quan hệ và cộng tuyến giữa các đặc trưng, ​​chúng ta có thể sử dụng tất cả các đặc trưng để xây dựng mô hình. Chúng tôi sẽ sử dụng lớp LinearRegression[] của thư viện linear_model của Sklearn để tạo các mô hình của chúng tôi

Mã số

đầu ra

Intercept:  157155.2578429943
Coefficients array:  [4.17726303e+02 4.18703502e+05 6.73797188e+05]

Chúng tôi sẽ cố gắng chuyển đổi mô hình của mình thành biểu đồ ba chiều bằng cách sử dụng ô mã bên dưới. Điểm dữ liệu của chúng tôi sẽ được hiển thị trên biểu đồ dưới dạng các chấm màu xám và mô hình tuyến tính sẽ được biểu thị dưới dạng mặt phẳng màu xanh lam

Bạn đang sống trong thời đại của lượng lớn dữ liệu, máy tính mạnh mẽ và trí tuệ nhân tạo. Điều này chỉ là khởi đầu. Khoa học dữ liệu và học máy đang thúc đẩy nhận dạng hình ảnh, phát triển phương tiện tự hành, các quyết định trong lĩnh vực tài chính và năng lượng, những tiến bộ trong y học, sự phát triển của mạng xã hội, v.v. Hồi quy tuyến tính là một phần quan trọng của điều này

Hồi quy tuyến tính là một trong những kỹ thuật thống kê và học máy cơ bản. Cho dù bạn muốn làm thống kê, học máy hay , thì rất có thể bạn sẽ cần đến nó. Tốt nhất là xây dựng một nền tảng vững chắc trước rồi mới tiến tới các phương pháp phức tạp hơn

Đến cuối bài viết này, bạn sẽ học được

  • Hồi quy tuyến tính là gì
  • Hồi quy tuyến tính được sử dụng để làm gì
  • Hồi quy tuyến tính hoạt động như thế nào
  • Cách triển khai hồi quy tuyến tính trong Python, từng bước một

Tiền thưởng miễn phí. hướng dẫn bạn các hướng dẫn, video và sách tốt nhất để cải thiện kỹ năng NumPy của bạn

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Hồi quy tuyến tính trong Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

hồi quy

Phân tích hồi quy là một trong những lĩnh vực quan trọng nhất trong thống kê và học máy. Có nhiều phương pháp hồi quy có sẵn. Hồi quy tuyến tính là một trong số đó

Loại bỏ các quảng cáo

Hồi quy là gì?

Hồi quy tìm kiếm mối quan hệ giữa các biến. Ví dụ: bạn có thể quan sát một số nhân viên của một số công ty và cố gắng hiểu mức lương của họ phụ thuộc như thế nào vào các đặc điểm của họ, chẳng hạn như kinh nghiệm, trình độ học vấn, vai trò, thành phố làm việc, v.v.

Đây là một vấn đề hồi quy trong đó dữ liệu liên quan đến mỗi nhân viên đại diện cho một quan sát. Giả định là kinh nghiệm, trình độ học vấn, vai trò và thành phố là những đặc điểm độc lập, trong khi mức lương phụ thuộc vào chúng

Tương tự, bạn có thể thử thiết lập sự phụ thuộc toán học của giá nhà đất vào diện tích, số phòng ngủ, khoảng cách đến trung tâm thành phố, v.v.

Nói chung, trong phân tích hồi quy, bạn xem xét một số hiện tượng quan tâm và có một số quan sát. Mỗi quan sát có hai hoặc nhiều tính năng. Theo giả định rằng ít nhất một trong số các tính năng phụ thuộc vào các tính năng khác, bạn cố gắng thiết lập mối quan hệ giữa chúng

Nói cách khác, bạn cần tìm một hàm ánh xạ một số tính năng hoặc biến cho những tính năng hoặc biến khác đủ tốt

Các tính năng phụ thuộc được gọi là biến phụ thuộc, đầu ra hoặc phản hồi. Các tính năng độc lập được gọi là các biến độc lập, đầu vào, hồi quy hoặc dự đoán

Các bài toán hồi quy thường có một biến phụ thuộc liên tục và không bị chặn. Tuy nhiên, đầu vào có thể là dữ liệu liên tục, rời rạc hoặc thậm chí là dữ liệu phân loại như giới tính, quốc tịch hoặc thương hiệu

Một thực tế phổ biến là biểu thị đầu ra bằng 𝑦 và đầu vào bằng 𝑥. Nếu có hai hoặc nhiều biến độc lập, thì chúng có thể được biểu diễn dưới dạng vectơ 𝐱 = [𝑥₁, …, 𝑥ᵣ], trong đó 𝑟 là số lượng đầu vào

Khi nào bạn cần hồi quy?

Thông thường, bạn cần hồi quy để trả lời liệu một số hiện tượng có ảnh hưởng đến hiện tượng kia hay không và một số biến có liên quan như thế nào. Ví dụ: bạn có thể sử dụng nó để xác định xem kinh nghiệm hoặc giới tính có ảnh hưởng đến tiền lương hay không và ở mức độ nào

Hồi quy cũng hữu ích khi bạn muốn dự đoán phản hồi bằng cách sử dụng một bộ dự đoán mới. Ví dụ: bạn có thể thử dự đoán mức tiêu thụ điện của một hộ gia đình trong giờ tiếp theo dựa trên nhiệt độ ngoài trời, thời gian trong ngày và số lượng cư dân trong hộ gia đình đó

Hồi quy được sử dụng trong nhiều lĩnh vực khác nhau, bao gồm kinh tế, khoa học máy tính và khoa học xã hội. Tầm quan trọng của nó tăng lên mỗi ngày với sự sẵn có của một lượng lớn dữ liệu và nâng cao nhận thức về giá trị thực tế của dữ liệu

hồi quy tuyến tính

Hồi quy tuyến tính có lẽ là một trong những kỹ thuật hồi quy quan trọng nhất và được sử dụng rộng rãi. Đó là một trong những phương pháp hồi quy đơn giản nhất. Một trong những ưu điểm chính của nó là dễ dàng giải thích kết quả

Xây dựng vấn đề

Khi thực hiện hồi quy tuyến tính của một số biến phụ thuộc 𝑦 trên tập hợp các biến độc lập 𝐱 = [𝑥₁, …, 𝑥ᵣ], trong đó 𝑟 là số biến dự đoán, bạn giả sử mối quan hệ tuyến tính giữa 𝑦 và 𝐱. 𝑦 = 𝛽₀ + 𝛽₁𝑥₁ + ⋯ + 𝛽ᵣ𝑥ᵣ + 𝜀. Phương trình này là phương trình hồi quy. 𝛽₀, 𝛽₁, …, 𝛽ᵣ là các hệ số hồi quy và 𝜀 là sai số ngẫu nhiên

Hồi quy tuyến tính tính toán các ước lượng của các hệ số hồi quy hoặc đơn giản là trọng số dự đoán, được biểu thị bằng 𝑏₀, 𝑏₁, …, 𝑏ᵣ. Các công cụ ước tính này xác định hàm hồi quy ước tính 𝑓[𝐱] = 𝑏₀ + 𝑏₁𝑥₁ + ⋯ + 𝑏ᵣ𝑥ᵣ. Chức năng này sẽ nắm bắt đủ tốt sự phụ thuộc giữa đầu vào và đầu ra

Phản hồi ước tính hoặc dự đoán, 𝑓[𝐱ᵢ], cho mỗi quan sát 𝑖 = 1, …, 𝑛, phải càng gần càng tốt với phản hồi thực tế tương ứng 𝑦ᵢ. Hiệu 𝑦ᵢ - 𝑓[𝐱ᵢ] đối với tất cả các quan sát 𝑖 = 1, …, 𝑛, được gọi là phần dư. Hồi quy là về việc xác định các trọng số được dự đoán tốt nhất, tức là các trọng số tương ứng với phần dư nhỏ nhất

Để có được trọng số tốt nhất, bạn thường giảm thiểu tổng bình phương phần dư [SSR] cho tất cả các quan sát 𝑖 = 1, …, 𝑛. SSR = Σᵢ[𝑦ᵢ - 𝑓[𝐱ᵢ]]². Phương pháp này được gọi là phương pháp bình phương nhỏ nhất thông thường

Loại bỏ các quảng cáo

Hiệu suất hồi quy

Sự thay đổi của các phản ứng thực tế 𝑦ᵢ, 𝑖 = 1, …, 𝑛, xảy ra một phần do sự phụ thuộc vào các yếu tố dự đoán 𝐱ᵢ. Tuy nhiên, cũng có một phương sai cố hữu bổ sung của đầu ra

Hệ số xác định, được ký hiệu là 𝑅², cho bạn biết lượng biến thiên trong 𝑦 có thể được giải thích bằng sự phụ thuộc vào 𝐱, sử dụng mô hình hồi quy cụ thể. 𝑅² lớn hơn cho thấy mức độ phù hợp tốt hơn và có nghĩa là mô hình có thể giải thích tốt hơn sự thay đổi của đầu ra với các đầu vào khác nhau

Giá trị 𝑅² = 1 tương ứng với SSR = 0. Đó là sự phù hợp hoàn hảo, vì các giá trị của phản hồi dự đoán và phản hồi thực tế hoàn toàn khớp với nhau

Hồi quy tuyến tính cơ bản

Hồi quy tuyến tính đơn biến hoặc đơn biến là trường hợp đơn giản nhất của hồi quy tuyến tính, vì nó có một biến độc lập duy nhất, 𝐱 = 𝑥

Hình dưới đây minh họa hồi quy tuyến tính đơn giản

Ví dụ về hồi quy tuyến tính đơn giản

Khi triển khai hồi quy tuyến tính đơn giản, bạn thường bắt đầu với một tập hợp các cặp đầu vào-đầu ra [𝑥-𝑦] nhất định. Các cặp này là quan sát của bạn, được hiển thị dưới dạng các vòng tròn màu xanh lá cây trong hình. Ví dụ: quan sát ngoài cùng bên trái có đầu vào 𝑥 = 5 và đầu ra thực tế hoặc phản hồi, 𝑦 = 5. Cái tiếp theo có 𝑥 = 15 và 𝑦 = 20, v.v.

Hàm hồi quy ước tính, được biểu thị bằng đường màu đen, có phương trình 𝑓[𝑥] = 𝑏₀ + 𝑏₁𝑥. Mục tiêu của bạn là tính toán các giá trị tối ưu của trọng số dự đoán 𝑏₀ và 𝑏₁ để giảm thiểu SSR và xác định hàm hồi quy ước tính

Giá trị của 𝑏₀, còn được gọi là giao điểm, cho biết điểm mà tại đó đường hồi quy ước lượng cắt qua trục 𝑦. Đó là giá trị của phản hồi ước tính 𝑓[𝑥] cho 𝑥 = 0. Giá trị của 𝑏₁ xác định độ dốc của đường hồi quy ước lượng

Các câu trả lời dự đoán, được hiển thị dưới dạng hình vuông màu đỏ, là các điểm trên đường hồi quy tương ứng với các giá trị đầu vào. Ví dụ: đối với đầu vào 𝑥 = 5, phản hồi dự đoán là 𝑓[5] = 8. 33, hình vuông màu đỏ ngoài cùng bên trái đại diện cho

Các đường màu xám đứt nét dọc biểu thị phần dư, có thể được tính như 𝑦ᵢ - 𝑓[𝐱ᵢ] = 𝑦ᵢ - 𝑏₀ - 𝑏₁𝑥ᵢ cho 𝑖 = 1, …, 𝑛. Chúng là khoảng cách giữa các hình tròn màu xanh lá cây và hình vuông màu đỏ. Khi bạn triển khai hồi quy tuyến tính, thực tế là bạn đang cố gắng giảm thiểu những khoảng cách này và làm cho hình vuông màu đỏ càng gần với hình tròn màu xanh lá cây được xác định trước càng tốt

Nhiều hồi quy tuyến tính

Hồi quy tuyến tính nhiều biến hoặc đa biến là trường hợp hồi quy tuyến tính có hai biến độc lập trở lên

Nếu chỉ có hai biến độc lập thì hàm hồi quy ước tính là 𝑓[𝑥₁, 𝑥₂] = 𝑏₀ + 𝑏₁𝑥₁ + 𝑏₂𝑥₂. Nó đại diện cho một mặt phẳng hồi quy trong không gian ba chiều. Mục tiêu của hồi quy là xác định giá trị của các trọng số 𝑏₀, 𝑏₁ và 𝑏₂ sao cho mặt phẳng này càng gần với phản hồi thực tế càng tốt, đồng thời mang lại SSR tối thiểu

Trường hợp có nhiều hơn hai biến độc lập cũng tương tự nhưng tổng quát hơn. Hàm hồi quy ước lượng là 𝑓[𝑥₁, …, 𝑥ᵣ] = 𝑏₀ + 𝑏₁𝑥₁ + ⋯ +𝑏ᵣ𝑥ᵣ, và có 𝑟 + 1 trọng số được xác định khi số lượng đầu vào là 𝑟

hồi quy đa thức

Bạn có thể coi hồi quy đa thức là một trường hợp tổng quát của hồi quy tuyến tính. Bạn giả sử sự phụ thuộc đa thức giữa đầu ra và đầu vào và do đó, hàm hồi quy ước tính đa thức

Nói cách khác, ngoài các số hạng tuyến tính như 𝑏₁𝑥₁, hàm hồi quy 𝑓 của bạn có thể bao gồm các số hạng phi tuyến tính như 𝑏₂𝑥₁², 𝑏₃𝑥₁³ hoặc thậm chí 𝑏₄𝑥₁𝑥₂, 𝑏₅²𝑥₁𝑥₂

Ví dụ đơn giản nhất về hồi quy đa thức có một biến độc lập duy nhất và hàm hồi quy ước tính là một đa thức bậc hai. 𝑓[𝑥] = 𝑏₀ + 𝑏₁𝑥 + 𝑏₂𝑥²

Bây giờ, hãy nhớ rằng bạn muốn tính 𝑏₀, 𝑏₁ và 𝑏₂ để giảm thiểu SSR. Đây là những ẩn số của bạn

Lưu ý điều này, hãy so sánh hàm hồi quy trước đó với hàm 𝑓[𝑥₁, 𝑥₂] = 𝑏₀ + 𝑏₁𝑥₁ + 𝑏₂𝑥₂, dùng cho hồi quy tuyến tính. Chúng trông rất giống nhau và đều là hàm tuyến tính của các ẩn số 𝑏₀, 𝑏₁ và 𝑏₂. Đây là lý do tại sao bạn có thể giải bài toán hồi quy đa thức dưới dạng bài toán tuyến tính với số hạng 𝑥² được coi là một biến đầu vào

Trong trường hợp hai biến và đa thức bậc hai, hàm hồi quy có dạng này. 𝑓[𝑥₁, 𝑥₂] = 𝑏₀ + 𝑏₁𝑥₁ + 𝑏₂𝑥₂ + 𝑏₃𝑥₁² + 𝑏₄𝑥₁𝑥₂ + 𝑏₅𝑥₂²

Thủ tục giải quyết vấn đề giống hệt với trường hợp trước. Bạn áp dụng hồi quy tuyến tính cho năm yếu tố đầu vào. 𝑥₁, 𝑥₂, 𝑥₁², 𝑥₁𝑥₂ và 𝑥₂². Là kết quả của hồi quy, bạn nhận được các giá trị của sáu trọng số giúp giảm thiểu SSR. 𝑏₀, 𝑏₁, 𝑏₂, 𝑏₃, 𝑏₄ và 𝑏₅

Tất nhiên, có nhiều vấn đề tổng quát hơn, nhưng điều này là đủ để minh họa điểm

Loại bỏ các quảng cáo

Mặc thiếu và mặc quá nhiều

Một câu hỏi rất quan trọng có thể phát sinh khi bạn thực hiện hồi quy đa thức có liên quan đến việc lựa chọn bậc tối ưu của hàm hồi quy đa thức

Không có quy tắc đơn giản để làm điều này. Nó phụ thuộc vào trường hợp. Tuy nhiên, bạn nên lưu ý hai vấn đề có thể xảy ra sau khi chọn bằng cấp. trang bị thiếu và trang bị quá nhiều

Thiếu phù hợp xảy ra khi một mô hình không thể nắm bắt chính xác sự phụ thuộc giữa các dữ liệu, thường là do tính đơn giản của chính nó. Nó thường mang lại 𝑅² thấp với dữ liệu đã biết và khả năng khái quát hóa kém khi áp dụng với dữ liệu mới

Quá khớp xảy ra khi một mô hình học cả phụ thuộc dữ liệu và dao động ngẫu nhiên. Nói cách khác, một mô hình học dữ liệu hiện có quá tốt. Các mô hình phức tạp, có nhiều tính năng hoặc thuật ngữ, thường dễ bị quá khớp. Khi áp dụng cho dữ liệu đã biết, các mô hình như vậy thường mang lại 𝑅² cao. Tuy nhiên, chúng thường không tổng quát hóa tốt và có 𝑅² thấp hơn đáng kể khi được sử dụng với dữ liệu mới

Hình tiếp theo minh họa các mô hình vừa vặn, vừa vặn và quá vừa vặn

Ví dụ về các mô hình trang bị quá mức, trang bị vừa vặn và trang bị quá mức

Biểu đồ trên cùng bên trái hiển thị một đường hồi quy tuyến tính có 𝑅² thấp. Điều quan trọng nữa là một đường thẳng không thể tính đến thực tế là phản hồi thực tế tăng lên khi 𝑥 di chuyển ra khỏi 25 và về 0. Đây có thể là một ví dụ về trang phục không phù hợp

Biểu đồ trên cùng bên phải minh họa hồi quy đa thức với mức độ bằng hai. Trong trường hợp này, đây có thể là mức độ tối ưu để mô hình hóa dữ liệu này. Mô hình có giá trị 𝑅² thỏa đáng trong nhiều trường hợp và thể hiện xu hướng một cách độc đáo

Biểu đồ dưới cùng bên trái trình bày hồi quy đa thức với mức độ bằng ba. Giá trị của 𝑅² cao hơn trong các trường hợp trước. Mô hình này hoạt động tốt hơn với dữ liệu đã biết so với mô hình trước đó. Tuy nhiên, nó cho thấy một số dấu hiệu của việc khớp quá mức, đặc biệt là đối với các giá trị đầu vào gần bằng sáu, khi đường bắt đầu giảm, mặc dù dữ liệu thực tế không cho thấy điều đó

Cuối cùng, trên biểu đồ dưới cùng bên phải, bạn có thể thấy sự phù hợp hoàn hảo. sáu điểm và đường đa thức bậc năm [hoặc cao hơn] mang lại 𝑅² = 1. Mỗi phản hồi thực tế bằng dự đoán tương ứng của nó

Trong một số trường hợp, đây có thể chính xác là thứ bạn đang tìm kiếm. Tuy nhiên, trong nhiều trường hợp, đây là một mô hình được trang bị quá mức. Nó có thể có hành vi kém với dữ liệu không nhìn thấy, đặc biệt là với đầu vào lớn hơn năm mươi

Ví dụ: nó giả định, không có bất kỳ bằng chứng nào, rằng có sự sụt giảm đáng kể trong các phản hồi cho 𝑥 lớn hơn năm mươi và 𝑦 đạt đến 0 cho 𝑥 gần sáu mươi. Hành vi như vậy là kết quả của nỗ lực quá mức để tìm hiểu và phù hợp với dữ liệu hiện có

Có rất nhiều tài nguyên mà bạn có thể tìm thêm thông tin về hồi quy nói chung và hồi quy tuyến tính nói riêng. Trang phân tích hồi quy trên Wikipedia, mục hồi quy tuyến tính của Wikipedia và bài viết về hồi quy tuyến tính của Khan Academy là những điểm khởi đầu tốt

Gói Python cho hồi quy tuyến tính

Đã đến lúc bắt đầu triển khai hồi quy tuyến tính trong Python. Để làm điều này, bạn sẽ áp dụng các gói thích hợp cũng như các hàm và lớp của chúng

NumPy là một gói khoa học cơ bản của Python cho phép nhiều hoạt động hiệu suất cao trên các mảng một chiều và nhiều chiều. Nó cũng cung cấp nhiều thói quen toán học. Tất nhiên, đó là mã nguồn mở

Nếu bạn không quen thuộc với NumPy, bạn có thể sử dụng Hướng dẫn sử dụng NumPy chính thức và đọc Hướng dẫn NumPy. Những bước đầu tiên của bạn vào khoa học dữ liệu trong Python. Ngoài ra, Look Ma, No-Loops. Lập trình mảng với NumPy và Pure Python so với NumPy so với TensorFlow So sánh hiệu suất có thể cho bạn ý tưởng tốt về mức tăng hiệu suất mà bạn có thể đạt được khi áp dụng NumPy

Gói scikit-learning là một thư viện Python được sử dụng rộng rãi cho máy học, được xây dựng dựa trên NumPy và một số gói khác. Nó cung cấp phương tiện để xử lý trước dữ liệu, giảm kích thước, thực hiện hồi quy, phân loại, phân cụm, v.v. Giống như NumPy, scikit-learning cũng là mã nguồn mở

Bạn có thể kiểm tra trang Mô hình tuyến tính tổng quát trên trang web scikit-learn để tìm hiểu thêm về các mô hình tuyến tính và hiểu sâu hơn về cách thức hoạt động của gói này

Nếu bạn muốn triển khai hồi quy tuyến tính và cần chức năng ngoài phạm vi của scikit-learning, bạn nên xem xét các mô hình thống kê. Đó là gói Python mạnh mẽ để ước tính các mô hình thống kê, thực hiện các bài kiểm tra, v.v. Nó cũng là mã nguồn mở

Bạn có thể tìm thêm thông tin về mô hình thống kê trên trang web chính thức của nó

Bây giờ, để làm theo hướng dẫn này, bạn nên cài đặt tất cả các gói này vào một môi trường ảo

[venv] $ python -m pip install numpy scikit-learn statsmodels

Điều này sẽ cài đặt NumPy, scikit-learning, statsmodels và các phần phụ thuộc của chúng

Loại bỏ các quảng cáo

Hồi quy tuyến tính đơn giản với scikit-learning

Bạn sẽ bắt đầu với trường hợp đơn giản nhất, đó là hồi quy tuyến tính đơn giản. Có năm bước cơ bản khi bạn triển khai hồi quy tuyến tính

  1. Nhập các gói và lớp mà bạn cần
  2. Cung cấp dữ liệu để làm việc và cuối cùng thực hiện các phép biến đổi thích hợp
  3. Tạo một mô hình hồi quy và điều chỉnh nó với dữ liệu hiện có
  4. Kiểm tra kết quả khớp mô hình để biết mô hình có đạt yêu cầu hay không
  5. Áp dụng mô hình cho dự đoán

Các bước này ít nhiều mang tính tổng quát đối với hầu hết các cách tiếp cận và triển khai hồi quy. Trong suốt phần còn lại của hướng dẫn, bạn sẽ học cách thực hiện các bước này cho một số tình huống khác nhau

Bước 1. Nhập gói và lớp

Bước đầu tiên là nhập gói

>>> model = LinearRegression[]
6 và lớp
>>> model = LinearRegression[]
7 từ
>>> model = LinearRegression[]
8

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression

Bây giờ, bạn có tất cả các chức năng cần thiết để triển khai hồi quy tuyến tính

Kiểu dữ liệu cơ bản của NumPy là kiểu mảng có tên là

>>> model = LinearRegression[]
9. Phần còn lại của hướng dẫn này sử dụng mảng thuật ngữ để chỉ các thể hiện của loại
>>> model = LinearRegression[]
9

Bạn sẽ sử dụng lớp

>>> model.fit[x, y]
LinearRegression[]
1 để thực hiện hồi quy tuyến tính và đa thức và đưa ra dự đoán tương ứng

Bước 2. Cung cấp dữ liệu

Bước thứ hai là xác định dữ liệu để làm việc với. Đầu vào [biến hồi quy, 𝑥] và đầu ra [phản hồi, 𝑦] phải là mảng hoặc đối tượng tương tự. Đây là cách đơn giản nhất để cung cấp dữ liệu cho hồi quy

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]

Bây giờ, bạn có hai mảng. đầu vào,

>>> model.fit[x, y]
LinearRegression[]
2 và đầu ra,
>>> model.fit[x, y]
LinearRegression[]
3. Bạn nên gọi
>>> model.fit[x, y]
LinearRegression[]
4 trên
>>> model.fit[x, y]
LinearRegression[]
2 vì mảng này phải là mảng hai chiều, hay chính xác hơn là phải có một cột và bao nhiêu hàng tùy ý. Đó chính xác là điều mà lập luận của
>>> model.fit[x, y]
LinearRegression[]
6 của
>>> model.fit[x, y]
LinearRegression[]
4 chỉ ra

Đây là giao diện của

>>> model.fit[x, y]
LinearRegression[]
2 và
>>> model.fit[x, y]
LinearRegression[]
3

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]

Như bạn có thể thấy,

>>> model.fit[x, y]
LinearRegression[]
2 có hai chiều và
>>> model = LinearRegression[].fit[x, y]
1 là
>>> model = LinearRegression[].fit[x, y]
2, trong khi
>>> model.fit[x, y]
LinearRegression[]
3 có một chiều và
>>> model = LinearRegression[].fit[x, y]
4 là
>>> model = LinearRegression[].fit[x, y]
5

Bước 3. Tạo một mô hình và phù hợp với nó

Bước tiếp theo là tạo một mô hình hồi quy tuyến tính và điều chỉnh nó bằng dữ liệu hiện có

Tạo một thể hiện của lớp

>>> model = LinearRegression[]
7, lớp này sẽ đại diện cho mô hình hồi quy

>>>

>>> model = LinearRegression[]

Câu lệnh này tạo biến

>>> model = LinearRegression[].fit[x, y]
7 như một thể hiện của
>>> model = LinearRegression[]
7. Bạn có thể cung cấp một số tham số tùy chọn cho
>>> model = LinearRegression[]
7

  • >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    0 là một Boolean, nếu
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1, quyết định tính phần chặn 𝑏₀ hoặc, nếu
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    2, coi nó bằng 0. Nó mặc định là
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1
  • >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    4 là một Boolean, nếu
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1, quyết định chuẩn hóa các biến đầu vào. Nó mặc định là
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    2, trong trường hợp đó nó không chuẩn hóa các biến đầu vào
  • >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    7 là một Boolean quyết định sao chép [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1] hay ghi đè lên các biến đầu vào [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    2]. Đó là
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1 theo mặc định
  • >>> print[f"intercept: {model.intercept_}"]
    intercept: 5.633333333333329
    
    >>> print[f"slope: {model.coef_}"]
    slope: [0.54]
    
    1 là số nguyên hoặc
    >>> print[f"intercept: {model.intercept_}"]
    intercept: 5.633333333333329
    
    >>> print[f"slope: {model.coef_}"]
    slope: [0.54]
    
    2. Nó đại diện cho số lượng công việc được sử dụng trong tính toán song song. Nó mặc định là
    >>> print[f"intercept: {model.intercept_}"]
    intercept: 5.633333333333329
    
    >>> print[f"slope: {model.coef_}"]
    slope: [0.54]
    
    2, thường có nghĩa là một công việc.
    >>> print[f"intercept: {model.intercept_}"]
    intercept: 5.633333333333329
    
    >>> print[f"slope: {model.coef_}"]
    slope: [0.54]
    
    4 có nghĩa là sử dụng tất cả các bộ xử lý có sẵn

>>> model = LinearRegression[].fit[x, y]
7 của bạn như được định nghĩa ở trên sử dụng các giá trị mặc định của tất cả các tham số

Đã đến lúc bắt đầu sử dụng mô hình. Trước tiên, bạn cần gọi cho

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6 vào ngày
>>> model = LinearRegression[].fit[x, y]
7

>>>

>>> model.fit[x, y]
LinearRegression[]

Với

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6, bạn tính toán các giá trị tối ưu của trọng số 𝑏₀ và 𝑏₁, sử dụng đầu vào và đầu ra hiện có,
>>> model.fit[x, y]
LinearRegression[]
2 và
>>> model.fit[x, y]
LinearRegression[]
3, làm đối số. Nói cách khác,
>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6 phù hợp với mô hình. Nó trả về
>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]
2, chính là biến
>>> model = LinearRegression[].fit[x, y]
7. Đó là lý do tại sao bạn có thể thay thế hai câu lệnh cuối cùng bằng câu lệnh này

>>>

>>> model = LinearRegression[].fit[x, y]

Câu lệnh này thực hiện tương tự như hai câu trước. Nó chỉ ngắn hơn

Bước 4. Nhận kết quả

Khi bạn đã lắp mô hình của mình, bạn có thể nhận kết quả để kiểm tra xem mô hình có hoạt động tốt hay không và để giải thích nó

Bạn có thể nhận được hệ số xác định, 𝑅², với

>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]
4 được gọi trên
>>> model = LinearRegression[].fit[x, y]
7

>>>

>>> r_sq = model.score[x, y]
>>> print[f"coefficient of determination: {r_sq}"]
coefficient of determination: 0.7158756137479542

Khi bạn đang áp dụng

>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]
4, các đối số cũng là yếu tố dự đoán
>>> model.fit[x, y]
LinearRegression[]
2 và phản hồi
>>> model.fit[x, y]
LinearRegression[]
3, và giá trị trả về là 𝑅²

Các thuộc tính của

>>> model = LinearRegression[].fit[x, y]
7 là
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00, đại diện cho hệ số 𝑏₀ và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01, đại diện cho 𝑏₁

>>>

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]

Đoạn mã trên minh họa cách lấy 𝑏₀ và 𝑏₁. Bạn có thể nhận thấy rằng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 là một số vô hướng, trong khi
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01 là một mảng

Ghi chú. Trong scikit-learning, by , dấu gạch dưới ở cuối cho biết rằng một thuộc tính được ước tính. Trong ví dụ này,

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01 là các giá trị ước tính

Giá trị của 𝑏₀ xấp xỉ 5. 63. Điều này minh họa rằng mô hình của bạn dự đoán phản hồi 5. 63 khi 𝑥 bằng không. Giá trị 𝑏₁ = 0. 54 có nghĩa là phản hồi dự đoán tăng 0. 54 khi 𝑥 tăng thêm một

Bạn sẽ nhận thấy rằng bạn cũng có thể cung cấp

>>> model.fit[x, y]
LinearRegression[]
3 dưới dạng mảng hai chiều. Trong trường hợp này, bạn sẽ nhận được kết quả tương tự. Đây là cách nó có thể trông

>>>

>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]

Như bạn có thể thấy, ví dụ này rất giống với ví dụ trước, nhưng trong trường hợp này,

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 là mảng một chiều với phần tử đơn 𝑏₀ và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01 là mảng hai chiều với phần tử đơn 𝑏₁

Bước 5. Dự đoán phản hồi

Khi bạn có một mô hình ưng ý, thì bạn có thể sử dụng nó để dự đoán với dữ liệu hiện có hoặc dữ liệu mới. Để có được phản hồi dự đoán, hãy sử dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
0

Khi áp dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09, bạn chuyển biến hồi quy làm đối số và nhận được phản hồi dự đoán tương ứng. Đây là một cách gần như giống hệt nhau để dự đoán phản hồi

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
1

Trong trường hợp này, bạn nhân mỗi phần tử của

>>> model.fit[x, y]
LinearRegression[]
2 với
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
12 và thêm
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
13 vào tích

Đầu ra ở đây chỉ khác với ví dụ trước về kích thước. Phản hồi dự đoán bây giờ là một mảng hai chiều, trong khi ở trường hợp trước, nó có một chiều

Nếu bạn giảm số chiều của

>>> model.fit[x, y]
LinearRegression[]
2 xuống còn một, thì hai cách tiếp cận này sẽ cho cùng một kết quả. Bạn có thể làm điều này bằng cách thay thế
>>> model.fit[x, y]
LinearRegression[]
2 bằng
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
16,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
17 hoặc
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
18 khi nhân nó với
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
12

Trong thực tế, mô hình hồi quy thường được áp dụng để dự báo. Điều này có nghĩa là bạn có thể sử dụng các mô hình phù hợp để tính toán đầu ra dựa trên đầu vào mới

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
2

Ở đây

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09 được áp dụng cho biến hồi quy mới
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
21 và mang lại phản hồi
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
22. Ví dụ này thuận tiện sử dụng
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
23 từ
>>> model = LinearRegression[]
6 để tạo một mảng có các phần tử từ 0, bao gồm, cho đến nhưng không bao gồm 5—nghĩa là,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
25,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
26,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
27,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
28 và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
29

Bạn có thể tìm thêm thông tin về

>>> model = LinearRegression[]
7 trên trang tài liệu chính thức

Loại bỏ các quảng cáo

Nhiều hồi quy tuyến tính với scikit-learning

Bạn có thể triển khai hồi quy tuyến tính bội theo các bước tương tự như đối với hồi quy đơn giản. Sự khác biệt chính là mảng

>>> model.fit[x, y]
LinearRegression[]
2 của bạn bây giờ sẽ có hai cột trở lên

Bước 1 và 2. Nhập các gói và lớp và cung cấp dữ liệu

Trước tiên, bạn nhập

>>> model = LinearRegression[]
6 và
>>> model.fit[x, y]
LinearRegression[]
1 và cung cấp đầu vào và đầu ra đã biết

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
3

Đó là một cách đơn giản để xác định đầu vào

>>> model.fit[x, y]
LinearRegression[]
2 và đầu ra
>>> model.fit[x, y]
LinearRegression[]
3. Bạn có thể in
>>> model.fit[x, y]
LinearRegression[]
2 và
>>> model.fit[x, y]
LinearRegression[]
3 để xem chúng trông như thế nào bây giờ

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
4

Trong hồi quy tuyến tính bội,

>>> model.fit[x, y]
LinearRegression[]
2 là mảng hai chiều có ít nhất hai cột, trong khi
>>> model.fit[x, y]
LinearRegression[]
3 thường là mảng một chiều. Đây là một ví dụ đơn giản về hồi quy tuyến tính bội và
>>> model.fit[x, y]
LinearRegression[]
2 có đúng hai cột

Bước 3. Tạo một mô hình và phù hợp với nó

Bước tiếp theo là tạo mô hình hồi quy dưới dạng một thể hiện của

>>> model = LinearRegression[]
7 và khớp nó với
>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6

>>>

>>> model = LinearRegression[].fit[x, y]

Kết quả của câu lệnh này là biến

>>> model = LinearRegression[].fit[x, y]
7 tham chiếu đến đối tượng kiểu
>>> model = LinearRegression[]
7. Nó đại diện cho mô hình hồi quy phù hợp với dữ liệu hiện có

Bước 4. Nhận kết quả

Bạn có thể thu được các thuộc tính của mô hình giống như trong trường hợp hồi quy tuyến tính đơn giản

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
6

Bạn nhận được giá trị của 𝑅² bằng cách sử dụng

>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]
4 và các giá trị của các ước lượng của hệ số hồi quy với
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01. Một lần nữa,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 giữ độ lệch 𝑏₀, trong khi bây giờ
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01 là một mảng chứa 𝑏₁ và 𝑏₂

Trong ví dụ này, hệ số chặn xấp xỉ 5. 52, và đây là giá trị của phản hồi dự đoán khi 𝑥₁ = 𝑥₂ = 0. Tăng 𝑥₁ lên 1 thì phản hồi dự đoán tăng lên 0. 45. Tương tự, khi 𝑥₂ tăng lên 1, phản hồi tăng lên 0. 26

Bước 5. Dự đoán phản hồi

Dự đoán cũng hoạt động giống như trong trường hợp hồi quy tuyến tính đơn giản

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
7

Phản hồi dự đoán thu được với

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09, tương đương với sau

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
8

Bạn có thể dự đoán các giá trị đầu ra bằng cách nhân từng cột của đầu vào với trọng số thích hợp, tính tổng các kết quả và thêm phần chặn vào tổng

Bạn cũng có thể áp dụng mô hình này cho dữ liệu mới

>>>

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
9

Đó là dự đoán sử dụng mô hình hồi quy tuyến tính

Loại bỏ các quảng cáo

Hồi quy đa thức với scikit-learning

Thực hiện hồi quy đa thức với scikit-learning rất giống với hồi quy tuyến tính. Chỉ còn một bước nữa. bạn cần chuyển đổi mảng đầu vào để bao gồm các thuật ngữ phi tuyến tính, chẳng hạn như 𝑥²

Bước 1. Nhập gói và lớp

Ngoài

>>> model = LinearRegression[]
6 và
>>> model.fit[x, y]
LinearRegression[]
1, bạn cũng nên nhập lớp
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
53 từ
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
54

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
0

Quá trình nhập hiện đã hoàn tất và bạn có mọi thứ bạn cần để làm việc với

Bước 2a. Cung cấp dữ liệu

Bước này xác định đầu vào và đầu ra và giống như trong trường hợp hồi quy tuyến tính

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
1

Bây giờ bạn có đầu vào và đầu ra ở định dạng phù hợp. Hãy nhớ rằng bạn cần đầu vào là một mảng hai chiều. Đó là lý do tại sao

>>> model.fit[x, y]
LinearRegression[]
4 được sử dụng

Bước 2b. Chuyển đổi dữ liệu đầu vào

Đây là bước mới mà bạn cần thực hiện cho hồi quy đa thức

Như bạn đã học trước đó, bạn cần bao gồm 𝑥²—và có lẽ các thuật ngữ khác—như các tính năng bổ sung khi triển khai hồi quy đa thức. Vì lý do đó, bạn nên chuyển đổi mảng đầu vào

>>> model.fit[x, y]
LinearRegression[]
2 để chứa bất kỳ cột bổ sung nào có giá trị 𝑥² và cuối cùng là nhiều tính năng hơn

Có thể chuyển đổi mảng đầu vào theo nhiều cách, chẳng hạn như sử dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
57 từ
>>> model = LinearRegression[]
6. Nhưng lớp
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
53 rất thuận tiện cho mục đích này. Hãy tiếp tục và tạo một thể hiện của lớp này

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
2

Biến

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
60 đề cập đến một thể hiện của
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
53 mà bạn có thể sử dụng để chuyển đổi đầu vào
>>> model.fit[x, y]
LinearRegression[]
2

Bạn có thể cung cấp một số tham số tùy chọn cho

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
53

  • >>> import numpy as np
    >>> from sklearn.linear_model import LinearRegression
    
    64 là một số nguyên [
    >>> import numpy as np
    >>> from sklearn.linear_model import LinearRegression
    
    27 theo mặc định] đại diện cho bậc của hàm hồi quy đa thức
  • >>> import numpy as np
    >>> from sklearn.linear_model import LinearRegression
    
    66 là Boolean [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    2 theo mặc định] quyết định chỉ bao gồm các tính năng tương tác [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1] hay tất cả các tính năng [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    2]
  • >>> import numpy as np
    >>> from sklearn.linear_model import LinearRegression
    
    70 là một Boolean [_______32_______1 theo mặc định] quyết định có bao gồm độ lệch hoặc chặn, cột của các giá trị
    >>> import numpy as np
    >>> from sklearn.linear_model import LinearRegression
    
    26 [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    1] hay không [
    >>> r_sq = model.score[x, y]
    >>> print[f"coefficient of determination: {r_sq}"]
    coefficient of determination: 0.7158756137479542
    
    2]

Ví dụ này sử dụng các giá trị mặc định của tất cả các tham số ngoại trừ

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
70. Đôi khi, bạn sẽ muốn thử nghiệm mức độ của hàm và việc cung cấp đối số này có thể có ích cho khả năng đọc

Trước khi áp dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
60, bạn cần lắp nó với
>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
3

Khi

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
60 được trang bị, thì nó đã sẵn sàng để tạo một mảng đầu vào mới, đã sửa đổi. Bạn áp dụng
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
79 để làm điều đó

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
4

Đó là phép biến đổi mảng đầu vào với

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
79. Nó lấy mảng đầu vào làm đối số và trả về mảng đã sửa đổi

Bạn cũng có thể sử dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
81 để thay thế ba câu trước chỉ bằng một

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
5

Với

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
81, bạn đang điều chỉnh và chuyển đổi mảng đầu vào trong một câu lệnh. Phương thức này cũng lấy mảng đầu vào và thực hiện tương tự như
>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6 và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
79 được gọi theo thứ tự đó. Nó cũng trả về mảng đã sửa đổi. Đây là giao diện của mảng đầu vào mới

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
6

Mảng đầu vào đã sửa đổi chứa hai cột. một cái có đầu vào ban đầu và cái kia có hình vuông của chúng. Bạn có thể tìm thêm thông tin về

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
53 trên trang tài liệu chính thức

Bước 3. Tạo một mô hình và phù hợp với nó

Bước này cũng giống như trong trường hợp hồi quy tuyến tính. Bạn tạo và phù hợp với mô hình

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
7

Mô hình hồi quy hiện đã được tạo và trang bị. Nó đã sẵn sàng cho ứng dụng. Bạn nên nhớ rằng đối số đầu tiên của

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6 là mảng đầu vào đã được sửa đổi
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87 chứ không phải mảng gốc
>>> model.fit[x, y]
LinearRegression[]
2

Bước 4. Nhận kết quả

Bạn có thể thu được các thuộc tính của mô hình giống như trong trường hợp hồi quy tuyến tính

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
8

Một lần nữa,

>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]
4 trả về 𝑅². Đối số đầu tiên của nó cũng là đầu vào đã sửa đổi
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87, không phải
>>> model.fit[x, y]
LinearRegression[]
2. Các giá trị của trọng số được liên kết với
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 và
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01. Ở đây,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 đại diện cho 𝑏₀, trong khi
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01 tham chiếu mảng chứa 𝑏₁ và 𝑏₂

Bạn có thể thu được một kết quả rất giống với các đối số biến đổi và hồi quy khác nhau

>>>

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
9

Nếu bạn gọi

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
53 với tham số mặc định là
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
97, hoặc nếu bạn chỉ bỏ qua nó, thì bạn sẽ nhận được mảng đầu vào mới
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87 với cột ngoài cùng bên trái bổ sung chỉ chứa các giá trị
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
26. Cột này tương ứng với phần chặn. Đây là cách mảng đầu vào đã sửa đổi trông như thế nào trong trường hợp này

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
0

Cột đầu tiên của

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87 chứa các giá trị đơn vị, cột thứ hai chứa các giá trị của
>>> model.fit[x, y]
LinearRegression[]
2, trong khi cột thứ ba chứa các ô vuông của
>>> model.fit[x, y]
LinearRegression[]
2

Phần chặn đã được bao gồm trong cột ngoài cùng bên trái và bạn không cần bao gồm lại phần chặn này khi tạo phiên bản của

>>> model = LinearRegression[]
7. Vì vậy, bạn có thể cung cấp
>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
04. Đây là cách câu lệnh tiếp theo trông như thế nào

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
1

Biến

>>> model = LinearRegression[].fit[x, y]
7 lại tương ứng với mảng đầu vào mới
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87. Do đó,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87 nên được chuyển làm đối số đầu tiên thay vì
>>> model.fit[x, y]
LinearRegression[]
2

Cách tiếp cận này mang lại kết quả sau, tương tự như trường hợp trước

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
2

Bạn thấy rằng bây giờ

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
00 bằng 0, nhưng thực ra
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
01 chứa 𝑏₀ là phần tử đầu tiên của nó. Mọi thứ khác là như nhau

Bước 5. Dự đoán phản hồi

Nếu bạn muốn nhận được phản hồi dự đoán, chỉ cần sử dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09, nhưng hãy nhớ rằng đối số phải là đầu vào đã sửa đổi
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
87 thay vì
>>> model.fit[x, y]
LinearRegression[]
2 cũ

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
3

Như bạn có thể thấy, dự đoán hoạt động gần giống như trong trường hợp hồi quy tuyến tính. Nó chỉ yêu cầu đầu vào đã sửa đổi thay vì đầu vào ban đầu

Bạn có thể áp dụng quy trình giống hệt nếu bạn có nhiều biến đầu vào. Bạn sẽ có một mảng đầu vào có nhiều hơn một cột, nhưng mọi thứ khác sẽ giống nhau. Đây là một ví dụ

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
4

Ví dụ hồi quy này mang lại các kết quả và dự đoán sau

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
5

Trong trường hợp này, có sáu hệ số hồi quy, bao gồm cả hệ số chặn, như thể hiện trong hàm hồi quy ước lượng 𝑓[𝑥₁, 𝑥₂] = 𝑏₀ + 𝑏₁𝑥₁ + 𝑏₂𝑥₂ + 𝑏₃𝑥₁² + 𝑏₄𝑥₁𝑥₅ + 𝑥₥²

Bạn cũng có thể nhận thấy rằng hồi quy đa thức mang lại hệ số xác định cao hơn so với hồi quy tuyến tính bội cho cùng một vấn đề. Lúc đầu, bạn có thể nghĩ rằng nhận được 𝑅² lớn như vậy là một kết quả tuyệt vời. Có thể là

Tuy nhiên, trong các tình huống thực tế, việc có một mô hình phức tạp và 𝑅² rất gần với một mô hình cũng có thể là dấu hiệu của việc trang bị quá mức. Để kiểm tra hiệu suất của một mô hình, bạn nên kiểm tra nó với dữ liệu mới—nghĩa là với các quan sát không được sử dụng để điều chỉnh hoặc đào tạo mô hình. Để tìm hiểu cách chia tập dữ liệu của bạn thành các tập con đào tạo và kiểm tra, hãy xem Chia tập dữ liệu của bạn bằng scikit-learn's train_test_split[]

Loại bỏ các quảng cáo

Hồi quy tuyến tính nâng cao với mô hình thống kê

Bạn cũng có thể triển khai hồi quy tuyến tính trong Python bằng cách sử dụng gói statsmodels. Thông thường, điều này là mong muốn khi bạn cần kết quả chi tiết hơn

Quy trình này tương tự như quy trình của scikit-learning

Bước 1. gói nhập khẩu

Trước tiên, bạn cần thực hiện một số thao tác nhập. Ngoài

>>> model = LinearRegression[]
6, bạn cần nhập khẩu
>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
15

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
6

Bây giờ bạn có các gói mà bạn cần

Bước 2. Cung cấp dữ liệu và chuyển đổi đầu vào

Bạn có thể cung cấp đầu vào và đầu ra giống như cách bạn đã làm khi sử dụng scikit-learning

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
7

Mảng đầu vào và đầu ra được tạo, nhưng công việc vẫn chưa hoàn thành

Bạn cần thêm cột đơn vị vào đầu vào nếu bạn muốn mô hình thống kê tính toán hệ số chặn 𝑏₀. Nó không tính đến 𝑏₀ theo mặc định. Đây chỉ là một cuộc gọi chức năng

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
8

Đó là cách bạn thêm cột một vào

>>> model.fit[x, y]
LinearRegression[]
2 với
>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
17. Nó lấy mảng đầu vào
>>> model.fit[x, y]
LinearRegression[]
2 làm đối số và trả về một mảng mới với cột của những cái được chèn ở đầu. Đây là giao diện của
>>> model.fit[x, y]
LinearRegression[]
2 và
>>> model.fit[x, y]
LinearRegression[]
3

>>>

>>> x
array[[[ 5],
       [15],
       [25],
       [35],
       [45],
       [55]]]

>>> y
array[[ 5, 20, 14, 32, 22, 38]]
9

Bạn có thể thấy rằng

>>> model.fit[x, y]
LinearRegression[]
2 đã sửa đổi có ba cột. cột đầu tiên của các đơn vị, tương ứng với 𝑏₀ và thay thế phần chặn, cũng như hai cột của các tính năng ban đầu

Bước 3. Tạo một mô hình và phù hợp với nó

Mô hình hồi quy dựa trên bình phương nhỏ nhất thông thường là một thể hiện của lớp

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
22. Đây là cách bạn có thể có được một

>>>

>>> model = LinearRegression[]
0

Bạn nên cẩn thận ở đây. Lưu ý rằng đối số đầu tiên là đầu ra, theo sau là đầu vào. Đây là thứ tự ngược lại của các hàm scikit-learning tương ứng

Có thêm một số thông số tùy chọn. Để tìm thêm thông tin về lớp học này, bạn có thể truy cập trang tài liệu chính thức

Khi mô hình của bạn được tạo, bạn có thể áp dụng

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6 trên đó

>>>

>>> model = LinearRegression[]
1

Bằng cách gọi

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6, bạn có được biến
>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
25, là một thể hiện của lớp
>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
26. Đối tượng này chứa rất nhiều thông tin về mô hình hồi quy

Bước 4. Nhận kết quả

Biến

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
25 đề cập đến đối tượng chứa thông tin chi tiết về kết quả hồi quy tuyến tính. Giải thích những kết quả này nằm ngoài phạm vi của hướng dẫn này, nhưng bạn sẽ tìm hiểu ở đây cách trích xuất chúng

Bạn có thể gọi

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
28 để lấy bảng kết quả hồi quy tuyến tính

>>>

>>> model = LinearRegression[]
2

Bảng này rất toàn diện. Bạn có thể tìm thấy nhiều giá trị thống kê liên quan đến hồi quy tuyến tính, bao gồm 𝑅², 𝑏₀, 𝑏₁ và 𝑏₂

Trong trường hợp cụ thể này, bạn có thể nhận được cảnh báo có nội dung

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
29. Điều này là do số lượng nhỏ các quan sát được cung cấp trong ví dụ

Bạn có thể trích xuất bất kỳ giá trị nào từ bảng trên. Đây là một ví dụ

>>>

>>> model = LinearRegression[]
3

Đó là cách bạn có được một số kết quả của hồi quy tuyến tính

  1. >>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
    >>> y = np.array[[5, 20, 14, 32, 22, 38]]
    
    30 giữ 𝑅²
  2. >>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
    >>> y = np.array[[5, 20, 14, 32, 22, 38]]
    
    31 đại diện cho 𝑅² đã điều chỉnh—tức là, 𝑅² đã điều chỉnh theo số lượng tính năng đầu vào
  3. >>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
    >>> y = np.array[[5, 20, 14, 32, 22, 38]]
    
    32 đề cập đến mảng có 𝑏₀, 𝑏₁ và 𝑏₂

Bạn cũng có thể nhận thấy rằng những kết quả này giống hệt với kết quả thu được bằng scikit-learning cho cùng một vấn đề

Để tìm thêm thông tin về kết quả hồi quy tuyến tính, vui lòng truy cập trang tài liệu chính thức

Bước 5. Dự đoán phản hồi

Bạn có thể nhận được phản hồi dự đoán về các giá trị đầu vào được sử dụng để tạo mô hình bằng cách sử dụng

>>> x = np.array[[5, 15, 25, 35, 45, 55]].reshape[[-1, 1]]
>>> y = np.array[[5, 20, 14, 32, 22, 38]]
33 hoặc
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09 với mảng đầu vào làm đối số

>>>

>>> model = LinearRegression[]
4

Đây là phản hồi dự đoán cho đầu vào đã biết. Nếu bạn muốn dự đoán với các biến hồi quy mới, bạn cũng có thể áp dụng

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09 với dữ liệu mới làm đối số

>>>

>>> model = LinearRegression[]
5

Bạn có thể nhận thấy rằng kết quả dự đoán giống như kết quả thu được với scikit-learning cho cùng một vấn đề

Loại bỏ các quảng cáo

Ngoài hồi quy tuyến tính

Hồi quy tuyến tính đôi khi không phù hợp, đặc biệt đối với các mô hình phi tuyến có độ phức tạp cao

May mắn thay, có những kỹ thuật hồi quy khác phù hợp với những trường hợp hồi quy tuyến tính không hoạt động tốt. Một số trong số đó là máy vectơ hỗ trợ, cây quyết định, rừng ngẫu nhiên và mạng lưới thần kinh

Có rất nhiều thư viện Python để hồi quy bằng các kỹ thuật này. Hầu hết chúng đều miễn phí và mã nguồn mở. Đó là một trong những lý do tại sao Python là một trong những ngôn ngữ lập trình chính cho máy học

Gói scikit-learning cung cấp phương tiện để sử dụng các kỹ thuật hồi quy khác theo cách rất giống với những gì bạn đã thấy. Nó chứa các lớp dành cho máy vectơ hỗ trợ, cây quyết định, v.v., với các phương thức

>>> print[f"intercept: {model.intercept_}"]
intercept: 5.633333333333329

>>> print[f"slope: {model.coef_}"]
slope: [0.54]
6,
>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
09,
>>> new_model = LinearRegression[].fit[x, y.reshape[[-1, 1]]]
>>> print[f"intercept: {new_model.intercept_}"]
intercept: [5.63333333]

>>> print[f"slope: {new_model.coef_}"]
slope: [[0.54]]
4, v.v.

Phần kết luận

Bây giờ bạn đã biết hồi quy tuyến tính là gì và cách bạn có thể triển khai nó với Python và ba gói mã nguồn mở. NumPy, scikit-learning và mô hình thống kê. Bạn sử dụng NumPy để xử lý mảng. Hồi quy tuyến tính được thực hiện với những điều sau đây

  • scikit-learning nếu bạn không cần kết quả chi tiết và muốn sử dụng phương pháp nhất quán với các kỹ thuật hồi quy khác
  • statsmodels nếu bạn cần các tham số thống kê nâng cao của mô hình

Cả hai cách tiếp cận đều đáng để học cách sử dụng và khám phá thêm. Các liên kết trong bài viết này có thể rất hữu ích cho điều đó

Trong hướng dẫn này, bạn đã học các bước sau để thực hiện hồi quy tuyến tính trong Python

  1. Nhập các gói và lớp bạn cần
  2. Cung cấp dữ liệu để làm việc và cuối cùng thực hiện các phép biến đổi phù hợp
  3. Tạo một mô hình hồi quy và điều chỉnh nó với dữ liệu hiện có
  4. Kiểm tra kết quả khớp mô hình để biết mô hình có đạt yêu cầu hay không
  5. Áp dụng mô hình cho dự đoán

Và với điều đó, bạn tốt để đi. Nếu bạn có câu hỏi hoặc ý kiến, xin vui lòng đặt chúng trong phần bình luận bên dưới

Lấy bài kiểm tra. Kiểm tra kiến ​​thức của bạn với bài kiểm tra tương tác “Hồi quy tuyến tính trong Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian

Lấy bài kiểm tra "

Đánh dấu là đã hoàn thành

Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Bắt đầu với hồi quy tuyến tính trong Python

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Mirko Stojiljković

Mirko có bằng tiến sĩ. D. trong Kỹ thuật cơ khí và làm việc như một giáo sư đại học. Anh là một Pythonista, người áp dụng các phương pháp tối ưu hóa kết hợp và máy học để hỗ trợ ra quyết định trong lĩnh vực năng lượng

» Thông tin thêm về Mirko

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Geir Arne

Joanna

kate

Kyle

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Chúng ta có thể vẽ biểu đồ hồi quy tuyến tính nhiều lần trong Python không?

Có thể triển khai nhiều mô hình hồi quy tuyến tính trong Python bằng cách sử dụng hàm mô hình thống kê OLS .

Làm cách nào để triển khai nhiều hồi quy tuyến tính từ đầu trong Python?

Triển khai .
bước 1. Nhập bộ dữ liệu [Nhà máy điện chu trình hỗn hợp]. nhập numpy dưới dạng np. .
# tách dữ liệuX = dữ liệu[. ,. 4] y = dữ liệu [. ,-1].
Xác định chi phí MSE. def cost_function[X, Y, B]. m = len[Y].
Tách tập huấn luyện và kiểm tra. m = 7000. f = 2X_train = X[. tôi,. f].
Khởi tạo các hệ số[β0​, β1​,…,

Thư viện nào để nhập trong Python cho nhiều hồi quy tuyến tính *?

Đang áp dụng mô hình . scikit-learn library, there is no other library to implement multiple linear regression we do it with linear regression only.

Chủ Đề