راه
۵ کیو· متوسط رو به بالامتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

تحلیل ممیزی خطی (LDA) از صفر

تابع lda_predict(X_train, y_train, X_test) را بدون scikit-learn بنویسید. برچسب‌ها اعداد صحیح‌اند و کلاس‌ها را مرتب‌شده در نظر بگیرید (np.unique).

برآوردها، از داده‌ی آموزش:

π^k=nknμ^k=1nk∑i:yi=kxiΣ^=1n−K∑k=1K∑i:yi=k(xi−μ^k)(xi−μ^k)⊤\hat\pi_k = \frac{n_k}{n} \qquad \hat\mu_k = \frac{1}{n_k}\sum_{i: y_i = k} x_i \qquad \hat\Sigma = \frac{1}{n - K}\sum_{k=1}^{K}\sum_{i: y_i = k} (x_i - \hat\mu_k)(x_i - \hat\mu_k)^\top

و برای هر نمونه‌ی آزمون، کلاسی که تابع ممیز آن بیشینه است:

δk(x)=x⊤Σ^−1μ^k−12μ^k⊤Σ^−1μ^k+log⁡π^k\delta_k(x) = x^\top \hat\Sigma^{-1}\hat\mu_k - \frac{1}{2}\hat\mu_k^\top \hat\Sigma^{-1}\hat\mu_k + \log \hat\pi_k

خروجی، آرایه‌ای از برچسب‌های پیش‌بینی‌شده است. در آزمون‌ها Σ^\hat\Sigma وارون‌پذیر است و تساوی رخ نمی‌دهد.

نمونه‌ها

ورودی نمونه ۱
[[[1], [2], [3], [6], [7], [8]], [0, 0, 0, 1, 1, 1], [[2.5], [4.4], [4.6], [9]]]
خروجی نمونه ۱
[0, 0, 1, 1]
ورودی نمونه ۲
[[[1, 1], [2, 1], [1, 2], [5, 5], [6, 5], [5, 6]], [0, 0, 0, 1, 1, 1], [[2, 2], [4, 4], [3, 3.2]]]
خروجی نمونه ۲
[0, 1, 0]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود