Regressiya Scikit-learn turli xil regressiya usullarini qo'llab-quvvatlaydi: chiziqli regressiya, k-eng yaqin qo'shnilar ko'p nomli regressiya, vektor regressiyasini qo'llab-quvvatlash, qaror daraxtlari va boshqalar, tasodifiy o'rmon va gradientni kuchaytirish kabi usullar ansambliga qadar. Shuningdek, u neyron tarmoqlarni qo'llab-quvvatlaydi, ammo TensorFlow kabi ixtisoslashgan kutubxonalar qo'llab-quvvatlamaydi .
Quyida biz tasodifiy o'rmonning regressiyasini ko'rsatamiz.
Biz odatda regressiya sayohatimizni kerakli paketlar, sinflar va funksiyalarni import qilish orqali boshlaymiz:
>>> numpy ni np sifatida
import qiling >>> sklearn.datasets dan import load_boston >>>
sklearn.ensemble dan import RandomForestRegressor
>>> sklearn.model_selection import train_test_split
Keyingi qadam, ma'lumotlarni ishlash uchun olish va bu ma'lumotlarni trening va test kichik to'plamlariga bo'lishdir. Biz Boston ma'lumotlar to'plamidan foydalanamiz:
>>> x, y = load_boston(return_X_y=True)
>>> x_train, x_test, y_train, y_test =\
... train_test_split(x, y, test_size=0,33, random_state=0)
Ba'zi usullar ma'lumotlarning miqyosini (standartlashtirish) talab qiladi, boshqa usullar esa buni talab qilmaydi. Bu safar biz masshtablashtirmasdan davom etamiz.
Endi biz regressorimizni yaratishimiz va uni o'qitish uchun tanlangan ma'lumotlar to'plami bilan o'rgatishimiz kerak:
>>> regressor = RandomForestRegressor(n_estimators=10, random_state=0)
>>> regressor.fit(x_train, y_train)
RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=Yo'q,
max_features=_aff='aule Yo‘q,
min_impurity_decrease=0,0, min_impurity_split=Yo‘q,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0,0, n_estimators=10,
n_jobs=Yo‘q, oob_score, random_state=
alse0)
Model o'qitilgandan so'ng, biz aniqlanish koeffitsientini ma'lumotlarning o'rgatish to'plamida va eng muhimi, modellarni o'rgatishda foydalanilmagan ma'lumotlarning test to'plamida sinovdan o'tkazamiz.
>>> regressor.score(x_train, y_train)
0,9680930547240916
>>> regressor.score(x_test, y_test)
0,8219576562705848
Boshqa yangi x_new kirishlari berilgan natijani bashorat qilish uchun etarlicha yaxshi o'qitilgan modeldan foydalanish mumkin. Bunday holda, .predict() buyrug'i ishlatiladi: regressor.predict(x_new).