Conto Machine Learning karo Python: Multiple Linear Regression
Regresi linear pirang-pirang beda karo regresi linier sing prasaja amarga ditrapake kanggo macem-macem fitur, tinimbang mung siji. Ing conto pembelajaran mesin iki, kita bakal weruh regresi linier pirang-pirang, mula kanthi luwih akeh fitur ing input.
Sadurunge nerusake, aku nyaranake sampeyan maca telung artikel cekak, ing ngendi sampeyan bakal nemokake definisi sing beda:
- Apa Machine Learning, apa iku lan tujuane
- Jinis Machine Learning
- Conto Machine Learning karo Python: Regresi Linear Prasaja
Awit kita bakal nggunakake Python, yen sampeyan durung duwe ing PC, maca uga Carane nginstal Python ing Microsoft Windows
Kanggo sawetara regresi linear kita uga bakal nggunakake scikit-sinau, amarga iku arang banget fleksibel, nggawe kabeh bener apa kita weruh ingconto regresi linear prasaja.
Banjur kita bakal duwe metode sing kasedhiya pas kanggo latihan lan metode prédhiksi kanggo ramalan. Kita uga bakal nggunakake kelas maneh Regresi Linear.
Uga karo fungsi nggawe_regresi kita bakal mbangun Set Data test adhedhasar paramèter sing bakal diwenehake. Kanthi cara iki struktur dhasar siap kanggo nindakake Regresi Linear. Kita bakal ngelingi nggawe_regresi njupuk kauntungan saka sawetara karakteristik assignment saka Python, kaya ing ngisor iki:
x, y = make_regression (n_samples = 500, n_features = 5, noise = 10)
Dadi dataset bakal duwe ciri ing ngisor iki: 500 nilai, diatur ing 5 fitur, lan kita nambah gangguan, prabédan kesalahan 10 supaya ora nggawe dataset katon banget biasa.
Ayo saiki dibagi dataset dadi bagean sing migunani kanggo latihan lan bagean sing migunani kanggo uji coba. Kita bisa mikir 80 conto kanggo tes lan liyane kanggo latihan. Kanggo nindakake iki, kita nggunakake fungsi train_test_split sing mbagi rong dhaptar x e y in x_sepur, y_sepur e x_test, y_test
saka sklearn.model_selection ngimpor train_test_split
x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 80)
minangka asil kita bakal duwe
((420, 5), (80, 5), (420,), (80,))
Saiki kita nerusake menyang regresi sing dumadi kanthi cara sing padha karo regresi linier sing prasaja, nanging tanpa bentuk maneh amarga ing kasus iki nggawe_regresi.
saka sklearn.linear_model ngimpor LinearRegression
model = LinearRegression ()
model.fit (x_train, y_train)
Ing ngisor iki kita duwe paramèter sing diwilang kanggo regresi, bebarengan karo koefisien lan intercept
model.coef_ njupuk nilai ing ngisor iki
larik ([90.65, 23.45, 66.43, 42.54, 24.35])
model.intercept_ njupuk nilai ing ngisor iki
-0.4564
Kanthi model sing dilatih, kita bisa nggawe prediksi data tes lan ngevaluasi kanthi sawetara metrik:
prediksi = model.prediksi (x_test)
mean_absolute_error (y_test, ramalan)
6.964857
re_score (y_test, ramalan)
0.9876
Sanajan kita nggunakake data kanggo tujuan pendhidhikan, asil kasebut nuduhake manawa model kita bisa digunakake. Dheweke wis sinau, bisa nggawe prediksi, lan uga wis ngrekam nilai kanggo metrik R-kuadrat ing tingkat maksimal.