Sobes.tech
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.