Mashinani o'rganishda xususiyatlarni tanlash

Hey Xabr!

Biz Reksoft kompaniyasida maqolani rus tiliga tarjima qildik Mashina o'rganishda xususiyatlarni tanlash. Umid qilamizki, bu mavzuga qiziqqan har bir kishi uchun foydali bo'ladi.

Haqiqiy dunyoda ma'lumotlar har doim ham biznes mijozlari o'ylagandek toza emas. Shuning uchun ma'lumotlarni qidirish va ma'lumotlar janjali talabga ega. Bu odamlar aniqlay olmaydigan so'rovlar asosida tuzilgan ma'lumotlarda etishmayotgan qiymatlar va naqshlarni aniqlashga yordam beradi. Ma'lumotlarda aniqlangan munosabatlardan foydalangan holda natijalarni bashorat qilish uchun ushbu naqshlarni topish va ulardan foydalanish uchun mashinani o'rganish foydali bo'ladi.

Har qanday algoritmni tushunish uchun siz ma'lumotlardagi barcha o'zgaruvchilarni ko'rib chiqishingiz va bu o'zgaruvchilar nimani anglatishini aniqlashingiz kerak. Bu juda muhim, chunki natijalar ortidagi mantiqiy ma'lumotlarni tushunishga asoslangan. Agar ma'lumotlarda 5 yoki hatto 50 ta o'zgaruvchi bo'lsa, ularning barchasini tekshirishingiz mumkin. Agar ularning soni 200 ta bo'lsa-chi? Keyin har bir o'zgaruvchini o'rganish uchun etarli vaqt bo'lmaydi. Bundan tashqari, ba'zi algoritmlar kategorik ma'lumotlar uchun ishlamaydi va keyin ularni modelga qo'shish uchun barcha toifali ustunlarni miqdoriy o'zgaruvchilarga aylantirishingiz kerak bo'ladi (ular miqdoriy ko'rinishi mumkin, ammo ko'rsatkichlar ularning kategoriyali ekanligini ko'rsatadi). Shunday qilib, o'zgaruvchilar soni ko'payadi va ularning soni 500 ga yaqin.Endi nima qilish kerak? Javob o'lchovni kamaytirish bo'ladi deb o'ylash mumkin. O'lchovni qisqartirish algoritmlari parametrlar sonini kamaytiradi, ammo izohlash qobiliyatiga salbiy ta'sir qiladi. Qolganlarini tushunish va izohlashni osonlashtiradigan xususiyatlarni yo'q qiladigan boshqa usullar mavjud bo'lsa-chi?

Tahlil regressiya yoki tasnifga asoslanganligiga qarab, xususiyatlarni tanlash algoritmlari farq qilishi mumkin, ammo ularni amalga oshirishning asosiy g'oyasi bir xil bo'lib qoladi.

Yuqori korrelyatsiyali o'zgaruvchilar

Bir-biri bilan yuqori korrelyatsiyaga ega bo'lgan o'zgaruvchilar modelga bir xil ma'lumot beradi, shuning uchun ularning barchasini tahlil qilish uchun ishlatishning hojati yo'q. Misol uchun, agar ma'lumotlar to'plamida "Onlayn vaqt" va "Ishlatilgan trafik" funksiyalari mavjud bo'lsa, biz ular ma'lum darajada o'zaro bog'liq bo'ladi deb taxmin qilishimiz mumkin va biz xolis ma'lumotlar namunasini tanlaganimizda ham kuchli korrelyatsiyani ko'ramiz. Bunday holda, modelda ushbu o'zgaruvchilardan faqat bittasi kerak bo'ladi. Agar siz ikkalasini ham ishlatsangiz, model haddan tashqari o'rnatiladi va ma'lum bir xususiyatga moyil bo'ladi.

P-qiymatlari

Chiziqli regressiya kabi algoritmlarda dastlabki statistik model har doim yaxshi fikrdir. Bu ushbu model tomonidan olingan p-qiymatlari orqali xususiyatlarning ahamiyatini ko'rsatishga yordam beradi. Muhimlik darajasini belgilab, biz natijada paydo bo'lgan p-qiymatlarini tekshiramiz va agar biron bir qiymat belgilangan muhimlik darajasidan past bo'lsa, u holda bu xususiyat muhim deb e'lon qilinadi, ya'ni uning qiymatining o'zgarishi qiymatining o'zgarishiga olib kelishi mumkin. maqsad.

To'g'ridan-to'g'ri tanlash

Oldinga tanlash - bosqichma-bosqich regressiyani qo'llashni o'z ichiga olgan usul. Modelni yaratish to'liq noldan, ya'ni bo'sh modeldan boshlanadi, so'ngra har bir iteratsiya qurilayotgan modelni yaxshilashga olib keladigan o'zgaruvchini qo'shadi. Modelga qaysi o'zgaruvchi qo'shilganligi uning ahamiyati bilan belgilanadi. Buni turli ko'rsatkichlar yordamida hisoblash mumkin. Eng keng tarqalgan usul - barcha o'zgaruvchilar yordamida dastlabki statistik modelda olingan p-qiymatlaridan foydalanish. Ba'zan oldinga qarab tanlash modelni haddan tashqari moslashtirishga olib kelishi mumkin, chunki modelda bir xil ma'lumotni taqdim etsa ham (lekin model hali ham yaxshilanishni ko'rsatsa ham) modelda yuqori korrelyatsiya qiluvchi o'zgaruvchilar bo'lishi mumkin.

Teskari tanlov

Teskari tanlash, shuningdek, xususiyatlarni bosqichma-bosqich yo'q qilishni o'z ichiga oladi, lekin oldinga tanlashga nisbatan teskari yo'nalishda. Bunday holda, boshlang'ich model barcha mustaqil o'zgaruvchilarni o'z ichiga oladi. Keyin o'zgaruvchilar o'chiriladi (har bir iteratsiyada bittadan), agar ular har bir iteratsiyada yangi regressiya modeliga qiymat qo'shmasa. Xususiyatlarni istisno qilish dastlabki modelning p-qiymatlariga asoslanadi. Ushbu usul, shuningdek, yuqori korrelyatsiya qilingan o'zgaruvchilarni olib tashlashda noaniqlikka ega.

Rekursiv xususiyatni yo'q qilish

RFE muhim xususiyatlarning aniq sonini tanlash uchun keng qo'llaniladigan texnika/algoritmdir. Ba'zan usul natijalarga ta'sir qiluvchi bir qator "eng muhim" xususiyatlarni tushuntirish uchun ishlatiladi; va ba'zan juda ko'p sonli o'zgaruvchilarni kamaytirish uchun (taxminan 200-400) va faqat modelga hech bo'lmaganda qandaydir hissa qo'shadiganlar saqlanib qoladi, qolganlari esa bundan mustasno. RFE reyting tizimidan foydalanadi. Ma'lumotlar to'plamidagi funktsiyalarga darajalar beriladi. Keyinchalik bu darajalar ular orasidagi kollinearlik va modeldagi ushbu xususiyatlarning ahamiyatiga asoslangan xususiyatlarni rekursiv ravishda yo'q qilish uchun ishlatiladi. Reyting xususiyatlariga qo'shimcha ravishda, RFE ushbu xususiyatlar hatto ma'lum bir qator xususiyatlar uchun muhim yoki muhim emasligini ko'rsatishi mumkin (chunki tanlangan xususiyatlar soni optimal bo'lmasligi mumkin va xususiyatlarning optimal soni ko'proq bo'lishi mumkin). yoki tanlangan raqamdan kamroq).

Xususiyatlarning ahamiyati diagrammasi

Mashinani o'rganish algoritmlarining talqin qilinishi haqida gapirganda, biz odatda chiziqli regressiyalarni (bu sizga p-qiymatlari yordamida xususiyatlarning ahamiyatini tahlil qilish imkonini beradi) va qarorlar daraxtlarini (to'liq ma'noda daraxt ko'rinishidagi xususiyatlarning ahamiyatini ko'rsatadigan) muhokama qilamiz. bir vaqtning o'zida ularning ierarxiyasi). Boshqa tomondan, Random Forest, LightGBM va XG Boost kabi algoritmlar ko'pincha xususiyat ahamiyati diagrammasidan foydalanadi, ya'ni o'zgaruvchilar diagrammasi va "ularning muhimlik raqamlari" chiziladi. Bu, ayniqsa, atributlarning biznesga ta'siri nuqtai nazaridan muhimligi uchun tuzilgan asoslarni taqdim etishingiz kerak bo'lganda foydalidir.

Muntazamlashtirish

Tartibga solish tarafkashlik va dispersiya o'rtasidagi muvozanatni nazorat qilish uchun amalga oshiriladi. Bias, modelning o'quv ma'lumotlar to'plamiga qanchalik moslashtirilganligini ko'rsatadi. Bu og'ish prognozlar o'quv va test ma'lumotlar to'plami o'rtasida qanchalik farq qilganligini ko'rsatadi. Ideal holda, ikkala tarafkashlik ham, farq ham kichik bo'lishi kerak. Bu erda tartibga solish yordamga keladi! Ikkita asosiy texnika mavjud:

L1 Regularization - Lasso: Lasso model og'irliklarini model uchun ahamiyatini o'zgartirish uchun jazolaydi va hatto ularni bekor qilishi mumkin (ya'ni, ushbu o'zgaruvchilarni yakuniy modeldan olib tashlash). Odatda, Lasso maʼlumotlar toʻplamida koʻp sonli oʻzgaruvchilar mavjud boʻlganda foydalaniladi va siz muhim xususiyatlar modelga qanchalik taʼsir qilishini yaxshiroq tushunish uchun ulardan baʼzilarini chiqarib tashlamoqchi boʻlsangiz (yaʼni, Lasso tomonidan tanlangan va ahamiyat berilgan xususiyatlar).

L2 Regularization - Ridge usuli: Ridgening vazifasi barcha o'zgaruvchilarni saqlash va bir vaqtning o'zida modelning ishlashiga qo'shgan hissasi asosida ularga ahamiyat berishdir. Agar ma'lumotlar to'plamida oz sonli o'zgaruvchilar mavjud bo'lsa va ularning barchasi topilmalar va natijalarni sharhlash uchun zarur bo'lsa, Ridge yaxshi tanlov bo'ladi.

Ridge barcha o'zgaruvchilarni saqlaganligi va Lasso ularning ahamiyatini aniqlashda yaxshiroq ish qilganligi sababli, Elastic-Net deb nomlanuvchi ikkala tartibga solishning eng yaxshi xususiyatlarini birlashtirgan algoritm ishlab chiqildi.

Mashinani o'rganish uchun xususiyatlarni tanlashning yana ko'p usullari mavjud, ammo asosiy g'oya har doim bir xil: o'zgaruvchilarning ahamiyatini ko'rsating va keyin ularning ba'zilarini natijaviy ahamiyatga qarab yo'q qiling. Muhimlik - bu juda sub'ektiv atama, chunki u faqat bitta emas, balki asosiy atributlarni topish uchun ishlatilishi mumkin bo'lgan ko'rsatkichlar va diagrammalarning butun to'plamidir.

O'qiganingiz uchun tashakkur! Baxtli o'rganish!

Manba: www.habr.com

a Izoh qo'shish