Hướng dẫn Python

TRANG CHỦ Python Giới thiệu Python Python Bắt đầu Cú pháp Python Nhận xét Python Biến Python Các kiểu dữ liệu Python Số Python Đúc Python Chuỗi Python Python Booleans Toán tử Python Danh sách Python Python Tuples Bộ Python Từ điển Python Python Nếu ... Khác Python While Loops Python cho các vòng lặp Các hàm Python Python Lambda Mảng Python Các lớp / đối tượng Python Kế thừa Python Trình lặp lại Python Phạm vi Python Mô-đun Python Ngày trong Python Toán Python JSON Python Python RegEx Python PIP Python Thử ... Ngoại trừ Đầu vào của người dùng Python Định dạng chuỗi Python

Xử lý tập tin

Xử lý tệp Python Tệp đọc Python Viết / tạo tệp trong Python Xóa tệp trong Python

Mô-đun Python

Hướng dẫn NumPy Panda Walkthrough Hướng dẫn Scipy

Python Matplotlib

Giới thiệu Matplotlib Matplotlib Bắt đầu Matplotlib Pyplot Matplotlib Plotting Điểm đánh dấu Matplotlib Dòng Matplotlib Nhãn Matplotlib Matplotlib Grid Matplotlib Subplots Matplotlib Scatter Matplotlib Bars Biểu đồ Matplotlib Biểu đồ bánh Matplotlib

Học máy

Bắt đầu Chế độ trung bình trung bình Độ lệch chuẩn Phân vị Phân phối dữ liệu Phân phối dữ liệu bình thường Lô phân tán Hồi quy tuyến tính Hồi quy đa thức Nhiều hồi quy Tỉ lệ Huấn luyện / Kiểm tra Cây quyết định

Python MySQL

MySQL Bắt đầu MySQL Tạo cơ sở dữ liệu MySQL Tạo bảng Chèn MySQL Lựa chọn MySQL MySQL ở đâu MySQL Đặt hàng bởi MySQL Delete Bảng thả MySQL Cập nhật MySQL Giới hạn MySQL Tham gia MySQL

Python MongoDB

MongoDB Bắt đầu MongoDB Tạo cơ sở dữ liệu MongoDB Tạo Bộ sưu tập Chèn MongoDB MongoDB Tìm Truy vấn MongoDB MongoDB sắp xếp MongoDB Xóa MongoDB Drop Collection Cập nhật MongoDB Giới hạn MongoDB

Tham khảo Python

Tổng quan về Python Các hàm tích hợp trong Python Phương thức chuỗi Python Phương thức danh sách Python Phương thức từ điển Python Phương thức Tuple trong Python Phương thức tập hợp Python Phương thức tệp Python Từ khóa Python Ngoại lệ Python Bảng chú giải thuật ngữ Python

Tham chiếu mô-đun

Mô-đun ngẫu nhiên Mô-đun yêu cầu Mô-đun thống kê Mô-đun Toán học Mô-đun cMath

Python Làm thế nào để

Xóa danh sách trùng lặp Đảo ngược một chuỗi Thêm hai số

Ví dụ Python

Ví dụ Python Trình biên dịch Python Bài tập Python Python Quiz Chứng chỉ Python

Học máy - Hồi quy nhiều lần


Nhiều hồi quy

Hồi quy bội cũng 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 hoặc nhiều biến.

Hãy xem tập dữ liệu dưới đây, nó chứa một số thông tin về ô tô.

Xe ô tô Mô hình Âm lượng Trọng lượng CO2
Toyota Aygo 1000 790 99
Mitsubishi Ngôi sao vũ trụ 1200 1160 95
Skoda Citigo 1000 929 95
Fiat 500 900 865 90
Mini Cooper 1500 1140 105
VW Hướng lên! 1000 929 105
Skoda Fabia 1400 1109 90
Mercedes Một lớp học 1500 1365 92
Ford Fiesta 1500 1112 98
Audi A1 1600 1150 99
Huyndai I20 1100 980 99
Suzuki Nhanh 1300 990 101
Ford Fiesta 1000 1112 99
Honda Civic 1600 1252 94
Huyndai I30 1600 1326 97
Opel Astra 1600 1330 97
xe BMW 1 1600 1365 99
Mazda 3 2200 1280 104
Skoda Nhanh 1600 1119 104
Ford Tiêu điểm 2000 1328 105
Ford Mondeo 1600 1584 94
Opel Phù hiệu 2000 1428 99
Mercedes C-Class 2100 1365 99
Skoda Octavia 1600 1415 99
Volvo S60 2000 1415 99
Mercedes CLA 1500 1465 102
Audi A4 2000 1490 104
Audi A6 2000 1725 114
Volvo V70 1600 1523 109
xe BMW 5 2000 1705 114
Mercedes E-Class 2100 1605 115
Volvo XC70 2000 1746 117
Ford B-Max 1600 1235 104
xe BMW 2 1600 1390 108
Opel Zafira 1600 1405 109
Mercedes SLK 2500 1395 120

Chúng ta có thể dự đoán lượng khí thải CO2 của một chiếc xe hơi dựa trên kích thước của động cơ, nhưng với phép hồi quy bội số, 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 chiếc xe, để 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.

import pandas

Tìm hiểu về mô-đun Pandas trong Hướng dẫn về gấu trúc 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: ô tô.csv

df = pandas.read_csv("cars.csv")

Sau đó, tạo danh sách các giá trị độc lập và gọi biến này X.

Đặt các giá trị phụ thuộc vào một biến được gọi y.

X = df[['Weight', 'Volume']]
y = df['CO2']

Mẹo: Người ta thường đặt tên cho 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ữ hoa y.

Chúng tôi sẽ sử dụng một số phương thức 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 LinearRegression()phương pháp này để tạo một đối tượng hồi quy tuyến tính.

Đối tượng này có một phương thức đượ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 bằng 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 các giá trị CO2 dựa trên trọng lượng và thể tích của một chiếc ô tô:

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

Thí dụ

Xem toàn bộ ví dụ trong hoạt động:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

#predict the CO2 emission of a car where the weight is 2300kg, and the volume is 1300cm3:
predictedCO2 = regr.predict([[2300, 1300]])

print(predictedCO2)

Kết quả:

[107.2087328]

Chúng tôi đã dự đoán rằng một chiếc ô tô với động cơ 1,3 lít và trọng lượng 2300 kg, sẽ thải ra khoảng 107 gram CO2 cho mỗi km mà nó lái.



Hệ số

Hệ số là một hệ số mô tả mối quan hệ với một biến chưa biết.

Ví dụ: if xlà một biến, then 2xxhai lần. xlà biến chưa biết, và số 2là hệ số.

Trong trường hợp này, chúng ta có thể hỏi giá trị hệ số của trọng lượng so với CO2 và thể tích đối với CO2. (Các) câu trả lời mà chúng tôi nhận được cho chúng tôi biết điều gì sẽ xảy ra nếu chúng tôi tăng hoặc giảm một trong các giá trị độc lập.

Thí dụ

In các giá trị hệ số của đối tượng hồi quy:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

print(regr.coef_)

Kết quả:

[0.00755095 0.00780526]

Giải thích kết quả

Mảng kết quả đại diện cho các giá trị hệ số của trọng lượng và thể tích.

Trọng lượng: 0,00755095
Khối lượng: 0,00780526

Các giá trị này cho ta biết nếu khối lượng tăng thêm 1kg thì lượng CO2 thải ra tăng 0,00755095g.

Và nếu kích thước (Thể tích) động cơ tăng thêm 1 cm 3 thì lượng CO2 thải ra tăng thêm 0,00780526 g.

Tôi nghĩ đó là một dự đoán công bằng, nhưng hãy kiểm tra nó!

Chúng tôi đã dự đoán rằng nếu một chiếc ô tô có động cơ 1300cm 3 nặng 2300kg, thì lượng khí CO2 thải ra sẽ xấp xỉ 107g.

Nếu chúng ta tăng khối lượng lên với 1000kg thì sao?

Thí dụ

Sao chép ví dụ từ trước, nhưng thay đổi trọng số từ 2300 thành 3300:

import pandas
from sklearn import linear_model

df = pandas.read_csv("cars.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

regr = linear_model.LinearRegression()
regr.fit(X, y)

predictedCO2 = regr.predict([[3300, 1300]])

print(predictedCO2)

Kết quả:

[114.75968007]

Chúng tôi đã dự đoán rằng một chiếc ô tô với động cơ 1,3 lít và trọng lượng 3300 kg, sẽ thải ra khoảng 115 gram CO2 cho mỗi km mà nó lái.

Điều nào cho thấy hệ số 0,00755095 là đúng:

107,2087328 + (1000 * 0,00755095) = 114,75968