Rumah > Artikel > pembangunan bahagian belakang > Penjelasan terperinci tentang model regresi linear dalam Python
Penjelasan terperinci tentang model regresi linear dalam Python
Regresi linear ialah model statistik klasik dan algoritma pembelajaran mesin. Ia digunakan secara meluas dalam bidang ramalan dan pemodelan, seperti ramalan pasaran saham, ramalan cuaca, ramalan harga perumahan, dll. Sebagai bahasa pengaturcaraan yang cekap, Python menyediakan set perpustakaan pembelajaran mesin yang kaya, termasuk model regresi linear. Artikel ini akan memperkenalkan model regresi linear dalam Python secara terperinci, termasuk prinsip model, senario aplikasi dan pelaksanaan kod.
Prinsip Regresi Linear
Model regresi linear adalah berdasarkan hubungan linear antara pembolehubah. Dalam model regresi linear univariat, kami mempertimbangkan hubungan linear antara pembolehubah bebas dan pembolehubah bersandar. Sebagai contoh, apabila kita ingin meramalkan harga jualan rumah tertentu, kita boleh menggunakan keluasan rumah sebagai pembolehubah tidak bersandar dan harga jualan sebagai pembolehubah bersandar untuk membina model regresi linear univariat. Dengan mengandaikan bahawa luas rumah itu ialah x dan harga jualan ialah y, model regresi linear univariat dinyatakan sebagai:
y = β0 + β1x
di mana, β0 dan β1 adalah pekali yang hendak diselesaikan, y ialah pembolehubah bersandar dan x ialah pembolehubah tidak bersandar.
Model regresi linear boleh ubah perlu mengambil kira hubungan linear antara berbilang pembolehubah bebas dan pembolehubah bersandar. Katakan kita ingin meramalkan harga jualan rumah Pada masa ini, kita perlu mempertimbangkan kesan pelbagai pembolehubah bebas seperti keluasan rumah, lokasi rumah, dan umur bangunan ke atas. harga jualan. Pada masa ini, model regresi linear berbilang pembolehubah dinyatakan sebagai:
y = β0 + β1x1 + β2x2 + β3x3 + ... + βnxn
di mana, β0 dan β1~βn ialah pekali untuk diselesaikan , y ialah pembolehubah bersandar, x1~xn ialah berbilang pembolehubah tidak bersandar.
Penyelesaian model regresi linear
Penyelesaian model regresi linear ialah proses menyelesaikan pekali β0 dan β1~βn. Dalam model regresi linear berbilang pembolehubah, kaedah kuasa dua terkecil biasanya digunakan untuk menyelesaikan pekali.
Kaedah kuasa dua terkecil ialah kaedah statistik yang idea asasnya adalah untuk meminimumkan jumlah kuasa dua jarak dari semua titik data ke garis regresi. Oleh itu, kita perlu meminimumkan fungsi kehilangan berikut:
J(β0, β1,...,βn) = Σ(yi - f(xi))^2
di mana, yi mewakili nilai sebenar, dan f(xi) mewakili nilai yang diramalkan. Fungsi kehilangan J mewakili jumlah ralat kuasa dua antara semua nilai sebenar dan nilai ramalan.
Proses penyelesaian kaedah kuasa dua terkecil adalah untuk mencari terbitan separa bagi fungsi kehilangan bagi pekali β0 dan β1~βn masing-masing, dan tetapkan terbitan separa sama dengan 0 untuk menyelesaikan nilai-nilai pekali. Secara khusus, proses meminimumkan fungsi kehilangan boleh dilaksanakan menggunakan persamaan normal atau keturunan kecerunan stokastik.
Persamaan normal adalah untuk menyelesaikan pekali dengan menyelesaikan persamaan dengan terbitan sama dengan 0. Secara khusus, kita boleh menggunakan formula berikut untuk menyelesaikan pekali:
β = (X.TX)^{-1}X.Ty
di mana, X ialah matriks pembolehubah bebas dan y ialah faktor A vektor pembolehubah, T mewakili transpose matriks. Oleh kerana kerumitan pengiraan penyongsangan yang tinggi, kaedah lain biasanya digunakan untuk menyelesaikan pekali dalam aplikasi praktikal.
Kaedah turunan kecerunan stokastik ialah kaedah penyelesaian berulang yang meminimumkan fungsi kehilangan dengan mengemas kini pekali secara berulang. Secara khusus, kita perlu memilih sampel rawak untuk pengiraan dalam setiap lelaran dan kemudian mengemas kini pekali. Apabila bilangan lelaran bertambah, fungsi kehilangan secara beransur-ansur berkurangan dan akhirnya menumpu kepada nilai yang stabil.
Senario Aplikasi
Model regresi linear digunakan secara meluas dalam aplikasi praktikal, terutamanya dalam bidang ramalan dan pemodelan. Berikut ialah beberapa senario aplikasi biasa:
1 Ramalan harga rumah: Ramalkan harga jualan pasaran rumah dengan mengambil kira hubungan linear berbilang pembolehubah bebas, seperti kawasan, lokasi, umur pembinaan, dsb.
2. Ramalan pasaran saham: Ramalkan kenaikan dan kejatuhan saham dengan mengambil kira hubungan linear berbilang pembolehubah bebas, seperti penunjuk ekonomi, perubahan dasar, sentimen pasaran, dsb.
3 Ramalan cuaca: Ramalkan keadaan cuaca pada masa hadapan dengan mempertimbangkan hubungan linear berbilang pembolehubah bebas, seperti suhu, kelembapan, hujan, dsb.
Pelaksanaan kod Python
Berikut ialah contoh penggunaan Python untuk melaksanakan model regresi linear. Kami menggunakan model LinearRegression daripada perpustakaan Scikit-learn untuk membina model regresi linear berbilang pembolehubah.
Pertama, kita perlu memasang perpustakaan Scikit-learn:
pip install -U scikit-learn
Kemudian, kita boleh membina model regresi linear berbilang pembolehubah menggunakan yang berikut kod:
#导入库 import numpy as np from sklearn.linear_model import LinearRegression #生成数据 np.random.seed(0) X = np.random.rand(100, 3) #自变量,100个样本,3个特征 y = 0.5 + np.dot(X, [1.5, -2.0, 1.0]) + np.random.normal(size=100) #因变量,加入随机误差 #训练模型 model = LinearRegression().fit(X, y) #输出模型系数 print(model.intercept_) #截距 print(model.coef_) #斜率
Dalam kod di atas, kami menggunakan 3 pembolehubah bebas yang dijana secara rawak dan pembolehubah bersandar, kemudian menggunakan model LinearRegression untuk melatih data dan mengeluarkan pekali model. Menjalankan kod di atas boleh mendapatkan hasil berikut:
0.49843856268038534
[ 1.48234604 -1.97351656 0.99594992]
Antaranya ialah .4, 4 dan 0.8, pintasan .974, 0 masing-masing .996, bermakna tiga hubungan Linear antara pembolehubah bebas dan antara pembolehubah bersandar.
Kesimpulan
Model regresi linear ialah algoritma pembelajaran mesin klasik dan mempunyai pelbagai senario aplikasi dalam aplikasi praktikal. Sebagai bahasa pengaturcaraan yang cekap, Python menyediakan perpustakaan pembelajaran mesin yang mencukupi, menjadikannya sangat mudah untuk kami menggunakan model regresi linear untuk mencapai tugas ramalan dan pemodelan. Jika anda berminat dengan aplikasi model regresi linear, adalah disyorkan untuk mempunyai pemahaman yang mendalam tentang teori dan pelaksanaan kod untuk mengaplikasikannya dengan lebih baik untuk menyelesaikan masalah praktikal.
Atas ialah kandungan terperinci Penjelasan terperinci tentang model regresi linear dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!