کلاس sklearn. decomposition. nmf (n_compentents = هیچ ، * ، init = هیچ ، solver = 'cd' ، beta_loss = 'frobenius' ، tol = 0. 0001 ، max_iter = 200 ، random_state = هیچ ، alpha_w = 0. 0 ، alpha_h = 'same "، l1_ratio = 0. 0 ، ،Verbose = 0 ، shuffle = false) [منبع]
فاکتورسازی ماتریس غیر منفی (NMF).
دو ماتریس غیر منفی را پیدا کنید ، یعنی ماتریس با تمام عناصر غیر منفی ، (W ، H) که محصول آنها ماتریس X غیر منفی را تقریب می دهد. این فاکتورسازی می تواند به عنوان مثال برای کاهش ابعاد ، جداسازی منبع یا استخراج موضوع استفاده شود.
عملکرد عینی:
\[ \begin
\ (|| vec (a) || _1 = \ sum_ abs (a _) \) (norm elementise l1)
هنجار عمومی \ (|| x - WH || _ \) ممکن است نشان دهنده هنجار Frobenius یا از دست دادن بت ا-واگرایی دیگر باشد. انتخاب بین گزینه ها توسط پارامتر beta_loss کنترل می شود.
اصطلاحات منظم توسط N_Features برای W و توسط N_Samples برای H اندازه گیری می شود تا تأثیر آنها را با توجه به یکدیگر متعادل نگه دارد و به اصطلاح متناسب با داده ها تا حد امکان از اندازه N_Samples مجموعه آموزش.
عملکرد هدف با به حداقل رساندن متناوب W و H به حداقل می رسد.
توجه داشته باشید که داده های تبدیل شده W نامگذاری شده است و ماتریس اجزای سازنده H. در ادبیات NMF نامگذاری شده است ، کنوانسیون نامگذاری معمولاً برعکس است زیرا ماتریس داده X منتقل می شود.
در راهنمای کاربر بیشتر بخوانید.
پارامترها: n_components int ، پیش فرض = هیچ
تعداد مؤلفه ها ، اگر n_components تنظیم نشده باشد ، تمام ویژگی ها نگهداری می شوند.
روش مورد استفاده برای اولیه سازی روش. گزینه های معتبر:
'Random': ماتریس های تصادفی غیر منفی ، مقیاس شده با: SQRT (X. Mean () / n_components)
'nndsvd': تجزیه ارزش دوتایی غیر منفی (NNDSVD) اولیه سازی (بهتر برای کمبود)
'nndsvda': nndsvd با صفرهای پر شده با میانگین x (بهتر است وقتی اسپاریت مورد نظر نیست)
'nndsvdar' nndsvd با صفرهای پر از مقادیر تصادفی کوچک (به طور کلی سریعتر ، جایگزین کمتری برای NNDSVDA برای زمانی که اسپاریت مورد نظر نیست)
"سفارشی": از ماتریس های سفارشی W و H استفاده کنید
در نسخه 1. 1 تغییر کرده است: هنگامی که init = none و n_compentents کمتر از n_samples و n_features به جای nndsvd به nndsvda پیش فرض می شود.
حل کننده عددی برای استفاده:
"CD" یک حل کننده نزول مختصات است.
"MU" یک حل کننده بروزرسانی چند برابر است.
جدید در نسخه 0. 17: حل کننده نزول مختصات.
جدید در نسخه 0. 19: حل کننده بروزرسانی چندگانه.
واگرایی بتا برای به حداقل رساندن ، اندازه گیری فاصله بین x و محصول DOT WH. توجه داشته باشید که مقادیر متفاوت از "Frobenius" (یا 2) و "Kullback-Leibler" (یا 1) منجر به کندتر شدن می شوند. توجه داشته باشید که برای beta_loss
جدید در نسخه 0. 19.
تحمل وضعیت توقف.
max_iter int ، پیش فرض = 200
حداکثر تعداد تکرارها قبل از زمان بندی.
Random_state int ، نمونه تصادفی یا هیچ کدام ، پیش فرض = هیچ
مورد استفاده برای اولیه سازی (هنگامی که init == "nndsvdar" یا "تصادفی") و در نزول هماهنگ. برای نتایج قابل تکرار در چندین تماس با عملکرد ، یک INT را منتقل کنید. به واژه نامه مراجعه کنید.
float alpha_w ، پیش فرض = 0. 0
ثابت که شرایط منظم W را ضرب می کند. آن را روی صفر (پیش فرض) تنظیم کنید تا هیچ منظم در W داشته باشد.
جدید در نسخه 1. 0.
ثابت که شرایط تنظیم H را چند برابر می کند. آن را روی صفر تنظیم کنید تا هیچ منظم در H. اگر "همان" (پیش فرض) ، همان مقدار Alpha_w را می گیرد.
جدید در نسخه 1. 0.
جدید در نسخه 0. 17: پارامتر تنظیم L1_Ratio که در حل کننده نزول مختصات مورد استفاده قرار می گیرد.
خواه لفظی باشد.
BOOL Shuffle ، Default = False
در صورت صحت ، ترتیب مختصات در حل کننده CD را تصادفی کنید.
جدید در نسخه 0. 17: پارامتر Shuffle مورد استفاده در حل کننده نزول مختصات.
ماتریس فاکتورسازی ، که گاهی اوقات "فرهنگ لغت" خوانده می شود.
n_components_ int
تعداد مؤلفه هااگر به آن داده شود ، همان پارامتر N_Components است. در غیر این صورت ، همان تعداد ویژگی ها خواهد بود.
بازسازی_ر_ شناور
هنجار Frobenius از اختلاف ماتریس یا بتا-واگرایی ، بین داده های آموزش X و داده های بازسازی شده WH از مدل متناسب.
n_iter_ int
تعداد واقعی تکرارها.
n_features_in_ int
تعداد ویژگی های دیده شده در هنگام تناسب.
جدید در نسخه 0. 24.
نام ویژگی های دیده شده در هنگام تناسب. فقط زمانی تعریف می شود که X دارای نام های ویژگی است که همه رشته ها هستند.
جدید در نسخه 1. 0.
یک فرهنگ لغت پیدا کنید که به سختی داده ها را رمزگذاری می کند.
تجزیه و تحلیل مؤلفه های اصلی پراکنده مینی.
تجزیه و تحلیل مؤلفه اصلی.
نمایشی پراکنده از داده ها را از یک فرهنگ لغت ثابت و پیش ساخته پیدا کنید.
تجزیه و تحلیل اجزای اصلی پراکنده.
کاهش ابعاد با استفاده از SVD کوتاه.
"الگوریتم های سریع محلی برای ماتریس غیر منفی در مقیاس بزرگ و فاکتوریت های تنش" سیچوکی ، آندرهج و P. H. A. N. Anh-Huy. معاملات IEICE در اصول الکترونیک ، ارتباطات و علوم رایانه 92. 3: 708-721 ، 2009.