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

رأی‌گیری یکی در برابر یکی

در روش یکی در برابر یکی، برای هر جفت کلاس (a,b)(a, b) با a<ba < b یک طبقه‌بند دودویی آموزش دیده. ورودی‌ها:

  • decisions: ماتریس n×Jn \times J؛ ستون jj مقدار تابع تصمیم طبقه‌بند جفت jj برای هر نمونه است. مثبت یعنی رأی به aa، منفی یا صفر یعنی رأی به bb.
  • pairs: آرایه‌ی J×2J \times 2 از جفت‌ها، [a, b].
  • K: تعداد کلاس‌ها.

تابع ovo_vote(decisions, pairs, K) برای هر نمونه، رأی‌های همه‌ی JJ طبقه‌بند را می‌شمارد و کلاسی را که بیشترین رأی را گرفته برمی‌گرداند. در تساوی، کلاس با شماره‌ی کوچک‌تر (np.argmax همین کار را می‌کند).

نمونه‌ها

ورودی نمونه ۱
[[[-0.8, -1.32, -0.25], [0.42, 1.14, 0.11], [-0.55, -0.78, 0.75]], [[0, 1], [0, 2], [1, 2]], 3]
خروجی نمونه ۱
[2.0, 0.0, 1.0]
ورودی نمونه ۲
[[[1.05, 1.78, -2.55], [-0.14, 1.01, 1.35], [0.65, 1.5, 0.29], [0.55, 0.18, -1.07], [-0.85, 0.38, -0.58]], [[0, 1], [0, 2], [1, 2]], 3]
خروجی نمونه ۲
[0.0, 1.0, 0.0, 0.0, 0.0]

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

ورود