Cốt truyện còn lại python sklearn

Khi nói đến khối lượng công việc khoa học dữ liệu và học máy, R và Python là những ngôn ngữ mạnh mẽ và phổ biến nhất. Python thường được coi là ngôn ngữ có mục đích chung với cú pháp dễ hiểu, trong khi R để phân tích thống kê với khoảng 12000 gói có sẵn

Có hàng tá bài viết so sánh Python và R từ quan điểm chủ quan. Tôi sẽ không ủng hộ ngôn ngữ này hơn ngôn ngữ kia

Trong bài đăng này, chúng ta sẽ thảo luận về việc sao chép các biểu đồ hồi quy R trong Python bằng sklearn

Hầu hết các chức năng của R có thể được chuyển đổi dễ dàng và trực tiếp bằng Python, nhưng một số chức năng tương đương khó tìm thấy một cách đáng ngạc nhiên nếu không sử dụng các chức năng tùy chỉnh. cho e. g. Hàm plot() cho các mô hình hồi quy trong R không có giá trị tương đương trực tiếp cho tất cả các ô trong Python

Hãy để chúng tôi thảo luận về nó với bộ dữ liệu trung thực có sẵn trong R. Bộ dữ liệu chứa 272 quan sát về hai biến phun trào (Thời gian phun trào tính bằng phút) và chờ đợi (Thời gian chờ đến lần phun trào tiếp theo). Bộ dữ liệu này tiết lộ Thời gian chờ đợi giữa các lần phun trào và thời gian phun trào của mạch nước phun Old Faithful ở Công viên Quốc gia Yellowstone, Wyoming, Hoa Kỳ

Bây giờ, chúng ta hãy khớp một mô hình hồi quy tuyến tính đơn giản trong R với bộ dữ liệu này để dự đoán thời gian chờ đợi dựa trên thời gian phun trào

Cốt truyện còn lại python sklearn

Bốn lô được sản xuất. Cái ở góc trên cùng bên phải là phần còn lại so với. cốt truyện được trang bị. Trục x trên biểu đồ này hiển thị các giá trị thực tế cho các điểm biến dự đoán và trục y hiển thị phần dư cho giá trị đó

Vì phần dư dường như phân tán ngẫu nhiên xung quanh 0, đây là dấu hiệu cho thấy phương sai thay đổi không phải là vấn đề với biến dự báo

Đồ thị thặng dư cho hồi quy tuyến tính bội

Thay vào đó, giả sử chúng tôi khớp một mô hình hồi quy tuyến tính đa biến bằng cách sử dụng assistance và rebounds làm biến dự đoán và xếp hạng làm biến phản hồi

#fit multiple linear regression model
model = ols('rating ~ assists + rebounds', data=df).fit()

#view model summary
print(model.summary())

Một lần nữa chúng ta có thể tạo phần dư so với. sơ đồ dự đoán cho từng yếu tố dự đoán riêng lẻ bằng cách sử dụng hàm plot_regress_exog() từ thư viện statsmodels

Ví dụ: đây là phần còn lại so với. biểu đồ dự đoán trông giống như đối với biến dự báo hỗ trợ

#create residual vs. predictor plot for 'assists'
fig = plt.figure(figsize=(12,8))
fig = sm.graphics.plot_regress_exog(model, 'assists', fig=fig)

Cốt truyện còn lại python sklearn

Và đây là những gì còn lại so với. biểu đồ dự đoán trông giống như đối với biến dự báo phục hồi

#create residual vs. predictor plot for 'assists'
fig = plt.figure(figsize=(12,8))
fig = sm.graphics.plot_regress_exog(model, 'rebounds', fig=fig)

Cốt truyện còn lại python sklearn

Trong cả hai sơ đồ, phần dư dường như phân tán ngẫu nhiên xung quanh 0, đây là dấu hiệu cho thấy phương sai thay đổi không phải là vấn đề với một trong hai biến dự đoán trong mô hình