Middle
Xususiyatlarning ko'p bog'liqligi nima? Nima uchun xavfli va uni qanday aniqlash mumkin?
sobes.tech AI
AIdan javob
Xususiyatlarning ko‘p bog‘liqligi — bu ma'lumotlar to‘plamida ikki yoki undan ortiq xususiyatlar (features) o‘rtasida juda yuqori korelatsiya bo‘lishi holatidir, ya'ni bir xususiyatni deyarli boshqa xususiyatlar orqali chiziqli ifodalash mumkin.
Nima uchun bu xavflidir:
- Modellarning barqarorligi va izohlash qobiliyatini, ayniqsa chiziqli regressiyalarni, yomonlashtiradi.
- Xususiyatlarning koeffitsiyentlari barqaror bo‘lmaydi va ma'lumotlarning kichik o‘zgarishlari bilan belgi yoki kattalik o‘zgartirishi mumkin.
- Har bir xususiyatning maqsad o‘zgaruvchisiga ta'sirini aniqlashni qiyinlashtiradi.
Qanday aniqlash mumkin:
- Xususiyatlarning korrelyatsiya matritsasini hisoblang va yuqori korrelyatsiyaga ega juftliklarni qidiring (masalan, > 0.8).
- VIF (Variance Inflation Factor) ko‘rsatkichi yordamida: VIF > 5 yoki 10 qiymatlari kuchli ko‘p bog‘liqlikni ko‘rsatadi.
Python’da VIF hisoblash misoli:
from statsmodels.stats.outliers_influence import variance_inflation_factor
import pandas as pd
X = pd.DataFrame({
'x1': [...],
'x2': [...],
'x3': [...],
})
vif_data = pd.DataFrame()
vif_data['feature'] = X.columns
vif_data['VIF'] = [variance_inflation_factor(X.values, i) for i in range(len(X.columns))]
print(vif_data)
Agar ko‘p bog‘liqlik aniqlansa, bog‘liq xususiyatlarni olib tashlash yoki birlashtirish, xususiyatlarni tanlash usullarini qo‘llash yoki regulyarizatsiya qilish mumkin.