Chiziqli regressiyada siz o'z modelingizni o'rgatish uchun foydalanilgan o'quv ma'lumotlarini hisobga olgan holda yangi ma'lumotlarning qiymatini taxmin qilish imkonini beruvchi modelni yaratishga harakat qilyapsiz. Bu post orqali ishlaganimizda aniq bo'ladi.

Yuqorida biz oddiy chiziqli regressiya tenglamasini ko'rishimiz mumkin. Y o'zgaruvchisi bizning javobimiz yoki qaram o'zgaruvchimiz hisoblanadi. Bu biz bashorat qilmoqchi bo'lgan narsa, masalan, Sotish mashhur tanlovdir.

B0 y kesmasidir, ya'ni X=0 va chiziq y o'qiga to'g'ri keladi. B1X, aslida, bizning B1 (bizning X bizning y-ga ta'sir qilish miqdori) va bizning X xususiyatimiz/mustaqil o'zgaruvchimiz. Bizning y o'zgaruvchimizdan farqli o'laroq, bir nechta X mos keladigan beta bilan ishlatilishi mumkin (har biri uchun koeffitsient). Bu bizga y dagi qiymatlarni bashorat qilish uchun ko'p xususiyatli (X) o'zgaruvchilarga ega model yaratish imkonini beradi. Tasodifiy xato komponenti kamaytirilmaydigan xatodir.

Birinchi qadam: Vizualizatsiya

Vizualizatsiya yordamida siz qaysi o'zgaruvchilar y bilan chiziqli bog'liqligini aniqlashingiz kerak. Seaborn juftligidan foydalanishni boshlang.

Bunday holda, biz javob sifatida "Sotish" dan foydalanganmiz. Beta-ning o'zgaruvchilar ro'yxatini kutilgan xususiyatlar ro'yxati bilan almashtiring

Qo'shimcha parametrlar:

size=: Ko‘rsatilgan juftlik chizmasi o‘lchamini o‘zgartirish imkonini beradi

kind= 'reg' : Eng mos keladigan qatorni va 95% ishonch bandini qo'shishga harakat qiladi. Kvadrat xato yig'indisini minimallashtirishni maqsad qiladi.

Ikkinchi qadam: SK Learn - O'zgaruvchilarni sozlash

Scikit-Learn X xususiyat matritsasi (Pandas Dataframe) va y javob vektori (Pandas Series) bo'lishini kutadi. Keling, o'zgaruvchilarimizni quyidagi tarzda ajratishdan boshlaylik.

Xususiyatlaringizga ishlov berish (X):

Ushbu misolda biz TV, Radio va Social ustunlaridan bashorat qiluvchi oʻzgaruvchilar sifatida foydalanamiz.

Javobingizni qayta ishlash (y):

Nima uchun xususiyatlar uchun katta X harfi va javob uchun kichik y harfi ishlatilishini qiziqtirayotgan bo'lsangiz, bu asosan konventsiyaga bog'liq.

Uchinchi qadam: SK Learn — maʼlumotlarimizni boʻlish

X va y ni o'quv va test to'plamlariga bo'lish:

X va y o'zgaruvchilarimizni train_test_split usuliga o'tkazish orqali biz natijaga 4 ta o'zgaruvchini belgilash orqali ma'lumotlardagi bo'linishlarni olishimiz mumkin.

To'rtinchi qadam: SK Learn — modelimizni o'rgatish

Birinchidan, LinearRegressionga kirishimiz uchun sklearn.linear_model importi talab qilinadi. Keyin uni imtihonlashtirish va o'quv ma'lumotlarimizga moslashtirish kerak. Bu quyida ko'rsatilgan.

Beshinchi qadam: Koeffitsientlarni izohlash

Koeffitsientlar bizning tenglamamizni beta-versiyamiz uchun qiymatlar bilan modellashtirishga imkon beradi. Linreg o'zgaruvchisi (LinearRegression ob'ektiga tayinlangan) quyidagi koddan foydalanib kesishish va koeffitsientlarni olishi mumkin.

Kesish sizning B0 qiymatingiz bo'ladi; va har bir koeffitsient X uchun mos keladigan Beta bo'ladi (ularning tegishli tartibda).

Oltinchi qadam: Modelingiz asosida bashorat qilish

Modelingiz asosida bashorat qilish quyidagi kodni ishlatish kabi oddiy: test ma'lumotlarini bashorat qilish usulidan o'tish. Bu yangi test X ma'lumotlarini hisobga olgan holda y ning taxmin qilingan qiymatlarini qaytaradi.

Yettinchi qadam: Modelni baholash

Chiziqli modellarni baholash uchun uchta asosiy ko'rsatkich qo'llaniladi. Bular: o'rtacha mutlaq xato (MAE), o'rtacha kvadrat xato (MSE) yoki ildiz o'rtacha kvadrat xatosi (RMSE).

MAE: Tushunish eng oson. O'rtacha xatoni ifodalaydi

MSE: MAE ga o'xshaydi, lekin shovqin bo'rttirilgan va kattaroq xatolar "jazolanadi". MAE ga qaraganda talqin qilish qiyinroq, chunki u asosiy birliklarda emas, lekin u odatda mashhurroq.

RMSE: MSE ga o'xshash eng mashhur ko'rsatkich, ammo natija uni asosiy birliklarda bo'lgani kabi yanada talqin qilish uchun kvadrat ildizga ega. Modelingizni sharhlash uchun RMSE dan asosiy ko'rsatkich sifatida foydalanish tavsiya etiladi.

Quyida siz har bir ko'rsatkichni qanday hisoblashni ko'rishingiz mumkin. Ularning barchasi parametr sifatida ikkita ro'yxatni talab qiladi, ulardan biri taxmin qilingan qiymatlar, ikkinchisi esa haqiqiy qiymatlardir

Sakkizinchi qadam: Xususiyatlarni tanlash

Xatolik koʻrsatkichlarini olganingizdan soʻng, qaysi X ning y ga minimal taʼsiri borligiga eʼtibor bering. Ushbu xususiyatlarning ayrimlarini olib tashlash modelingiz aniqligini oshirishga olib kelishi mumkin.

Shunday qilib, biz sinov va xato jarayonini boshlaymiz, bunda jarayon qaytadan boshlanadi, to qoniqarli model ishlab chiqarilgunga qadar. Quyidagi qadamlar ushbu qism uchun foydali bo'lishi mumkin.

  1. Feature_cols & X-ni almashtiring
  2. Train_test_ma'lumotlaringizni ajrating
  3. Linreg.fit yordamida modelni yana linregga moslang
  4. (y_pred = linreg.predict(X_test)) yordamida bashorat qiling
  5. RMSE ni hisoblash
  6. RMSE qoniqarli bo'lguncha takrorlang