Hồi quy bội giống như hồi quy tuyến tính, nhưng có nhiều hơn một giá trị độc lập, nghĩa là chúng ta cố gắng dự đoán một giá trị dựa trên hai biến trở lên
Hãy xem tập dữ liệu bên dưới, nó chứa một số thông tin về ô tô
ToyotaAygo100079099MitsubishiSpace Star1200116095SkodaCitigo100092995Fiat50090086590MiniCooper15001140105VWUp. 1000929105SkodaFabia1400110990MercedesA-Class1500136592FordFiesta1500111298AudiA11600115099HyundaiI20110098099SuzukiSwift1300990101FordFiesta1000111299HondaCivic1600125294HundaiI301600132697OpelAstra1600133097BMW11600136599Mazda322001280104SkodaRapid16001119104FordFocus20001328105FordMondeo1600158494OpelInsignia2000142899MercedesC-Class2100136599SkodaOctavia1600141599VolvoS602000141599MercedesCLA15001465102AudiA420001490104AudiA620001725114VolvoV7016001523109BMW520001705114MercedesE-Class21001605115VolvoXC7020001746117FordB-Max16001235104BMW216001390108OpelZafira16001405109MercedesSLK25001395120
Chúng ta có thể dự đoán lượng khí thải CO2 của ô tô dựa trên kích thước của động cơ, nhưng với hồi quy bội, chúng ta có thể đưa vào nhiều biến số hơn, chẳng hạn như trọng lượng của ô tô, để dự đoán chính xác hơn
Làm thế nào nó hoạt động?
Trong Python, chúng tôi có các mô-đun sẽ thực hiện công việc cho chúng tôi. Bắt đầu bằng cách nhập mô-đun Pandas
Tìm hiểu về mô-đun Pandas trong Hướng dẫn về Pandas của chúng tôi
Mô-đun Pandas cho phép chúng tôi đọc các tệp csv và trả về một đối tượng DataFrame
Tệp chỉ dành cho mục đích thử nghiệm, bạn có thể tải xuống tại đây. dữ liệu. csv
df = pandas.read_csv["data.csv"]
Sau đó lập danh sách các giá trị độc lập và gọi biến này là X
Đặt các giá trị phụ thuộc vào một biến có tên là y
X = df[['Weight', 'Volume']]
y = df['CO2']
Mẹo. Người ta thường đặt tên danh sách các giá trị độc lập bằng chữ hoa X và danh sách các giá trị phụ thuộc bằng chữ thường y
Chúng tôi sẽ sử dụng một số phương pháp từ mô-đun sklearn, vì vậy chúng tôi cũng sẽ phải nhập mô-đun đó
from sklearn import linear_model
Từ mô-đun sklearn, chúng ta sẽ sử dụng phương thức LinearRegression[]
để tạo đối tượng hồi quy tuyến tính
Đối tượng này có một phương thức gọi là fit[]
lấy các giá trị độc lập và phụ thuộc làm tham số và điền vào đối tượng hồi quy dữ liệu mô tả mối quan hệ
regr = linear_model.LinearRegression[]
regr.fit[X, y]
Bây giờ chúng ta có một đối tượng hồi quy sẵn sàng dự đoán giá trị CO2 dựa trên trọng lượng và thể tích của ô tô
________số 8_______
Thí dụ
Xem toàn bộ ví dụ trong hành động
gấu trúc nhập khẩu
từ sklearn nhập linear_model
df = gấu trúc. read_csv["dữ liệu. csv"]
X = df[['Trọng lượng', 'Khối lượng']]
y = df['CO2']
regr = linear_model. Hồi quy tuyến tính[]
hồi quy. phù hợp [X, y]
#dự đoán lượng khí thải CO2 của ô tô có trọng lượng là 2300kg và thể tích là 1300cm3
CO2 dự đoán = regr. dự đoán[[[2300, 1300]]]
in [dự đoán CO2]
Kết quả
Chạy ví dụ »
Chúng tôi đã dự đoán rằng một chiếc xe với 1. Động cơ 3 lít và trọng lượng 3300 kg sẽ giải phóng khoảng 115 gam CO2 cho mỗi km mà nó lái
Biểu đồ phần dư là biểu đồ trong đó phần dư được hiển thị trên trục y và biến độc lập được hiển thị trên trục x. Mô hình hồi quy tuyến tính phù hợp với dữ liệu nếu các dấu chấm trong biểu đồ phần dư được phân phối ngẫu nhiên trên trục hoành. Hãy xem cách tạo một ô còn lại trong python
Phương pháp 1. Sử dụng plot_regress_exog[]
plot_regress_exog[]
- So sánh kết quả hồi quy với một biến hồi quy
- 'endog so với exog,"phần dư so với exog," 'được trang bị so với exog' và 'được trang bị cộng với phần còn lại so với exog' được vẽ trong hình 2 x 2
cú pháp. mô hình thống kê. đồ họa. biểu đồ hồi quy. plot_regress_exog[kết quả, exog_idx, fig=None]
Thông số
- kết quả. trường hợp kết quả
- exog_idx. chỉ mục hoặc tên của biến hồi quy
- quả sung. một hình được tạo nếu không có hình nào được cung cấp
trả lại. hình 2X2
Hồi quy tuyến tính đơn
Sau khi nhập các gói cần thiết và đọc tệp CSV, chúng tôi sử dụng ols[] từ statsmodels. công thức. api để khớp dữ liệu với hồi quy tuyến tính. chúng ta tạo một hình và chuyển hình đó, tên của biến độc lập và mô hình hồi quy sang phương thức plot_regress_exog[]. một hình 2X2 của các ô còn lại được hiển thị. Trong phương thức ols[], chuỗi trước '~' là biến phụ thuộc hoặc biến mà chúng ta đang cố gắng dự đoán và sau '~' là các biến độc lập. đối với hồi quy tuyến tính, có một biến phụ thuộc và một biến độc lập
ols['biến_phản_ứng ~ biến_dự_báo', dữ liệu= dữ liệu]
CSV đã sử dụng. đầu não3
Python3
# import packages and libraries
import
numpy as np
import
pandas as pd
import
matplotlib.pyplot as plt
import
statsmodels.api as sm
from
import
0_______10_______ import
2
import
3
import
4
import
5import
6 import
7import
8_______10_______9
import
3
numpy as np
1
numpy as np
2_______10_______6 numpy as np
4numpy as np
5_______11_______6
numpy as np
7_______10_______5import
6import
0
import
3
import
2
import
3import
4
import
3
import
6
import
7_______10_______6 import
9import
6_______13_______1pandas as pd
2numpy as np
6pandas as pd
4pandas as pd
5
import
3
pandas as pd
7
import
7_______10_______6 import
0
import
1import
2numpy as np
6
import
1import
7import
6import
7
đầu ra
Chúng ta có thể thấy rằng các điểm được vẽ theo một dải ngẫu nhiên, không có khuôn mẫu và các điểm không dựa trên một phía nên không có vấn đề về phương sai thay đổi.