Pemeliharaan Mesin - Regresi Multivariabel
- Halaman Sebelumnya Regresi Polinomial
- Halaman Berikutnya Skala
Regresi Multifaktor (Multiple Regression)
Regresi multifaktor seperti regresi linear, tetapi memiliki nilai independen beberapa, yang berarti kami mencoba untuk memprediksi nilai satu berdasarkan dua atau lebih variabel.
Lihat data set di bawah ini, yang mengandung beberapa informasi tentang mobil.
Car | Model | Volume | Weight | CO2 |
---|---|---|---|---|
Toyota | Aygo | 1000 | 790 | 99 |
Mitsubishi | Space Star | 1200 | 1160 | 95 |
Skoda | Citigo | 1000 | 929 | 95 |
Fiat | 500 | 900 | 865 | 90 |
Mini | Cooper | 1500 | 1140 | 105 |
VW | Up! | 1000 | 929 | 105 |
Skoda | Fabia | 1400 | 1109 | 90 |
Mercedes | A-Class | 1500 | 1365 | 92 |
Ford | Fiesta | 1500 | 1112 | 98 |
Audi | A1 | 1600 | 1150 | 99 |
Hyundai | I20 | 1100 | 980 | 99 |
Suzuki | Swift | 1300 | 990 | 101 |
Ford | Fiesta | 1000 | 1112 | 99 |
Honda | Civic | 1600 | 1252 | 94 |
Hundai | I30 | 1600 | 1326 | 97 |
Opel | Astra | 1600 | 1330 | 97 |
BMW | 1 | 1600 | 1365 | 99 |
Mazda | 3 | 2200 | 1280 | 104 |
Skoda | Rapid | 1600 | 1119 | 104 |
Ford | Focus | 2000 | 1328 | 105 |
Ford | Mondeo | 1600 | 1584 | 94 |
Opel | Insignia | 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 |
BMW | 5 | 2000 | 1705 | 114 |
Mercedes | E-Class | 2100 | 1605 | 115 |
Volvo | XC70 | 2000 | 1746 | 117 |
Ford | B-Max | 1600 | 1235 | 104 |
BMW | 2 | 1600 | 1390 | 108 |
Opel | Zafira | 1600 | 1405 | 109 |
Mercedes | SLK | 2500 | 1395 | 120 |
Kami boleh ramal pengeluaran gas karbon dioksida kereta berdasarkan saiz kapasiti pengeluaran enjin, tetapi melalui regresi multifaktor, kami boleh memasukkan lebih banyak variabel, seperti berat kereta, untuk membuat ramalan lebih tepat.
Prinsip kerja
Dalam Python, kami mempunyai modul yang boleh melakukan pekerjaan ini. Pertama, import modul Pandas:
import pandas
Modul Pandas membolehkan kami membaca fail csv dan mengembalikan objek DataFrame.
Fail ini hanya untuk tujuan ujian, anda boleh muat turun di sini:cars.csv
df = pandas.read_csv("cars.csv")
Lalu daftar nilai independen, dan namakan variabel ini X.
Masukkan nilai relevan ke dalam variabel yang dinamakan y.
X = df[['Berat', 'Volume']] y = df['CO2']
Petikan:Biasanya, nama senarai nilai independen adalah huruf besar X
Nama senarai nilai yang relevan adalah huruf kecil y
。
Kami akan menggunakan beberapa method dalam modul sklearn, jadi kami juga mesti mengimport modul ini:
from sklearn import linear_model
Dalam modul sklearn, kami akan menggunakan LinearRegression()
method untuk mencipta objek regresi linear.
Objek ini mempunyai method yang dinamakan fit()
dengan cara, yang akan nilai independen dan nilai paten sebagai parameter, dan memenuhi objek regresi dengan data yang mendeskripsikan hubungan ini:
regr = linear_model.LinearRegression() regr.fit(X, y)
Sekarang, kami mempunyai objek regresi yang boleh ramal nilai CO2 kereta berdasarkan berat dan kapasiti pengeluaran:
# Ramal pengeluaran gas karbon dioksida untuk kereta dengan berat 2300kg, kapasiti 1300ccm: predictedCO2 = regr.predict([[2300, 1300]])
Contoh
Lihat contoh penuh di sini:
import pandas from sklearn import linear_model df = pandas.read_csv("cars.csv") X = df[['Berat', 'Volume']] y = df['CO2'] regr = linear_model.LinearRegression() regr.fit(X, y) # Ramal pengeluaran gas karbon dioksida untuk kereta dengan berat 2300kg, kapasiti 1300ccm: predictedCO2 = regr.predict([[2300, 1300]]) print(predictedCO2)
Hasil:
[107.2087328]
Kami ramal, kereta dengan enjin 1.3 liter, berat 2300 kilogram, akan mengeluarkan kira-kira 107 gram gas karbon dioksida setiap kilometer yang dijalankan.
Coefficient
Coefficient adalah faktor yang mendeskripsikan hubungan dengan variabel yang tak dikenali.
Contohnya: jika x
Adalah variabel, maka 2x
Adalah x
dwi kali.x
Adalah variabel yang tak dikenali, nombor 2
Adalah coefficient.
Dalam keadaan ini, kami boleh meminta coefficient nilai berat untuk CO2, serta coefficient nilai volume untuk CO2. Jawapan yang kami dapatkan memberitahu kami, jika kita tambah atau kurang salah satu nilai independen, apa yang akan terjadi.
Contoh
Cetak coefficient nilai objek regresi:
import pandas from sklearn import linear_model df = pandas.read_csv("cars.csv") X = df[['Berat', 'Volume']] y = df['CO2'] regr = linear_model.LinearRegression() regr.fit(X, y) print(regr.coef_)
Hasil:
[0.00755095 0.00780526]
Pengertian hasil
Jumlah hasil menunjukkan coefficient nilai berat dan kapasiti pengeluaran.
Berat: 0.00755095 Volume: 0.00780526
Nilai ini memberitahu kami, jika berat bertambah 1g, pengeluaran CO2 akan bertambah 0.00755095g.
Jika saiz (volume) enjin bertambah 1 ccm, pengeluaran CO2 akan bertambah 0.00780526g.
Saya mendapati bahwa ini adalah perkiraan yang masuk akal, tetapi tetap lakukan pengujian!
Kami telah memperkirakan, jika sebuah kereta dengan mesin 1300ccm berat 2300 kilogram, emisi karbon dioksida akan sekitar 107 gram.
Apa yang akan terjadi jika kita tambahkan 1000g berat?
Contoh
Salin contoh sebelumnya, tetapi tingkatkan berat kereta dari 2300 ke 3300:
import pandas from sklearn import linear_model df = pandas.read_csv("cars.csv") X = df[['Berat', 'Volume']] y = df['CO2'] regr = linear_model.LinearRegression() regr.fit(X, y) predictedCO2 = regr.predict([[3300, 1300]]) print(predictedCO2)
Hasil:
[114.75968007]
Kami telah memperkirakan, sebuah kereta dengan mesin 1.3 liter, berat 3.3 ton, akan melepaskan sekitar 115 gram karbon dioksida setiap kali berjalan 1 kilometer.
Ini menunjukkan bahwa koefisien 0.00755095 adalah benar:
107.2087328 + (1000 * 0.00755095) = 114.75968
- Halaman Sebelumnya Regresi Polinomial
- Halaman Berikutnya Skala