روش های انتخاب ویژگی در داده کاوی – نحوه انتخاب ویژگی و موارد استفاده از آن
مقاله روشهای انتخاب ویژگی در داده کاوی، بر پایه یک چالش مهم در حوزه علوم کامپیوتر تدوین گردیدهاست. در توضیح این چالش باید بگوییم که امروزه با افزایش تعاملات برخط، روز بهروز بر ضرورت داده کاوی و انتخاب دادههای برجسته و تأثیرگذار در تصمیمگیری بر اساس ویژگی منحصر به فردشان، افزوده میشود. بنابراین تصمیم گرفتیم در این آموزش شما را با روشهای انتخاب ویژگی در داده کاوی، نحوه انتخاب و موارد استفاده از آن آشنا کنیم.
با پیشرفت روزافزون علم و فناوری، همگی شاهد این قضیه هستیم که انواع مؤسسات و سازمانها بهطور روزانه انبوه دادهها را ثبت و ضبط میکنند و برای مدیریت تراکنشهای این دادههای کلان و انجام عملیات مختلف بر روی آنها، نیازمند الگوریتمها و روشهایی برای انتخاب دادههای برتر یا کاربردی هستند. چراکه نحوه انتخاب ویژگی در داده کاوی، بر نحوه عملکرد سیستم در هر سازمان، بهطور مستقیم تأثیر میگذارد.
مقدمه
به خاطر دارم که دو سال پیش، زمانی که برای شرکت در انتخابات هیئتامنای مجتمع محل سکونتمان داوطلب شده بودم؛ برای برنامهریزی و تقسیمبندی اهدافم با انبوهی از پیشنهادهای اهالی آن مجتمع روبرو شدم. اطلاعاتی در دست داشتم که مرا کاملاً گیج و سردرگم کرده بود؛ بهطوریکه اصلاً نمیدانستم این دادهها را چگونه دستهبندی کنم و همچنین نمیدانستم که مبحث انتخاب ویژگی در داده کاوی هم میتواند به من کمک کند. من با دو مشکل روبرو بودم. اولاً یک سری از پیشنهادها کاملاً غیرممکن و رؤیایی به نظر میآمد. دوما گروه دیگر پیشنهادها کاملاً عملی و ممکن بود اما در مورد آنها هم مشکل اولویتبندی وجود داشت.
در اوج سردرگمی بودم که تصمیم گرفتم؛ از روشهای داده کاوی برای حل مشکل استفاده کنم. بهاینترتیب که با استفاده از آن، ابتدا پیشنهادهای غیرممکن و نامعقول را حذف کردم؛ سپس سایر پیشنهادها را بر اساس ویژگیهایشان اولویتبندی نموده و در برنامه اهدافم قرار دادم. در پایان کار و دقیقاً زمانی که پیچیدگی حاصل از هجوم دادههای انبوه، بهسادگی و به کمک روشهای داده کاوی حل شد؛ بنده متوجه شدم که چرا انتخاب ویژگی در داده کاوی مهم است؟! اگر شما هم میخواهید بهضرورت این نکته پی ببرید؛ تا پایان این مقاله انتخاب ویژگی در داده کاوی همراه ما باشید.
فرآیند داده کاوی
زمانی که در یک سازمان، موسسه یا هر شرکت دیگر، دادههای کلان وارد بانک اطلاعاتی مجموعه میشوند؛ نرمافزارهای داده کاوی وارد عمل شده و با استفاده از الگوهای مشخصی که از قبل تعریف گردیده است؛ دادههای اولیه را بر اساس ویژگیهای مطلوب شناسایی کرده، دادههای پرت و مزاحم را حذف مینمایند و الگو یا رابطه بین دادههای باقیمانده را کشف میکنند. بهاینترتیب با تحلیل، تفسیر و به نمایش گذاشتن یافتهها، دانش لازم برای تصمیمگیریها، تراکنشها و هر عملیات دیگر موردنیاز آن سیستم یا مجموعه فراهم میشود. میتوان گفت که اصلیترین مرحله، انتخاب ویژگی در داده کاوی است. در زیر مراحل داده کاوی آورده شده است.
هدف از انتخاب ویژگی در داده کاوی چیست؟
فرآیند انتخاب ویژگی، همان فرآیند کاهش تعداد دادههای ورودی با هدف توسعه یک مدل پیشبینی است. روشهای انتخاب ویژگی در داده کاوی، شامل ارزیابی رابطه بین هر متغیر ورودی و متغیر هدف با روش آمارگیری و انتخاب گروهی از دادهها که قویترین رابطه را با متغیر هدف دارند؛ میباشد. لازم به ذکر است که انتخاب معیارهای آماری به نوع داده متغیرهای ورودی و خروجی بستگی دارد. احتمالاً بپرسید که کاهش تعداد متغیرها چه مزیتی دارد؟ در پاسخ به این سؤال باید بگویم که هدف اصلی کاهش تعداد متغیرهای ورودی، کاهش هزینه محاسباتی مدلسازی و در برخی موارد بهبود عملکرد مدل مطلوب است.
تکنیکهای انتخاب ویژگی
روشهای انتخاب ویژگی در داده کاوی به دو دسته نظارتی و بدون نظارت تفکیک میشوند. تکنیکهای نظارتی بهعنوان پیشبینی کنندهها عمل کرده و تکنیکهای بدون نظارت، توصیفکننده هستند و شامل روشهای خوشهبندی، الگوهای مکرر و غیره میشوند. به نمودار زیر توجه کنید.
هرگاه نتایج احتمالی، در طول حذف عوامل پیشبینی مدل نادیده گرفته شد؛ بدانید که از تکنیک بدون نظارت برای داده کاوی استفادهشده است. بدون نظارتها متغیرهای اضافی را با استفاده از همبستگی حذف میکنند اما نظارتیها به سه زیرمجموعه بستهبندی یا Wrapper، فیلتر و ذاتی یا Intrinsic تقسیم میشوند که در ادامه به توضیح هر کدام پرداختهشده است.
تکنیک نظارتی مبتنی بر فیلتر
روشهای انتخاب ویژگی مبتنی بر فیلتر، از معیارهای آماری برای امتیاز دادن به همبستگی یا وابستگی بین متغیرهای ورودی و تعیین رابطه بین آنها، استفاده میکنند تا آنها را برای انتخاب مرتبطترین ویژگیها فیلتر نمایند. فراموش نکنید که این معیارهای آماری باید بر اساس نوع داده متغیر ورودی و متغیر خروجی یا پاسخ با دقت انتخاب شوند؛ زیرا که انتخاب غلط معیارهای آماری میتواند ما را از رسیدن به دانش مطلوب تصمیمگیری، گمراه کند.
مشکل اصلی روشهای نظارتی مبتنی بر فیلتر این است که گاهی دارای تعداد زیادی متغیر هستند. این متغیرها توسعه و آموزش مدل تصمیمگیری را کند کرده؛ به مقدار زیادی حافظه نیاز دارند و کیفیت عملکرد سیستم را پایین میآورند. بسیاری از مدلهای پیشبینی کننده، مخصوصاً مدلهایی که مبتنی بر شیبهای رگرسیون و بریدگی هستند؛ پارامترها را برای هر عبارت در مدل، تخمین میزنند. به همین دلیل، عدم قطعیت را به پیشبینیها اضافهشده و اثربخشی کلی مدل را کاهش میدهد.
تکنیک نظارتی مبتنی بر بستهبندی یا Wrapper
در این روش، یک جعبه سیاه بهعنوان الگوریتم یادگیری و برای پیشبینی انتخاب میشود که دادههای مؤثر را ارزیابی و دستهبندی نموده و به مدل معرفی میکند. روشهای بستهبند کارایی بهتری نسبت به روشهای فیلتر دارند زیرا مجموعه دادههای خروجی این روش کمتر بوده و نیاز به حافظه کمتری دارد. بنابراین این روش نسبت به روش فیلترسازی دادهها کمهزینه خواهد بود. RFEها مثال بارزی از این روشها هستند.
تکنیک نظارتی ذاتی یا Intrinsic
در این روش، الگوریتمهای یادگیری ماشین از قبل طراحیشده در طی فرایند آموزش، وظیفه انتخاب ویژگی را بهطور خودکار و بهعنوان بخشی از یادگیری مدل انجام میدهند. الگوریتمهایی مانند مدلهای رگرسیون لجستیک جریمهشده با Lasso و درختهای تصمیم مثل جنگل تصادفی مثالهایی از الگوریتمهایی هستند که انتخاب خودکار ویژگیها را در طول آموزش انجام میدهند. بهاینترتیب که دادههای ورودی پروژه را در یک فضای ویژگی با ابعاد پایینتر وارد کرده و عمل کاهش ابعاد را انجام میدهند. بنابراین روشهای نظارتی ذاتی، در مقایسه با بستهبندها توانایی ثبت ارتباط بین متغیرها با هزینههای محاسباتی پایینتری خواهند داشت.
ترفندهای انتخاب ویژگی
برای انتخاب ویژگی در داده کاوی، ترفندهای متنوعی اعم از انواع الگوریتمهای از پیش طراحیشده تا حتی همین دادههای آماری وجود دارد یعنی برای استخراج مدل تصمیمگیری ممکن است حتی بهاندازه موهای سرتان روش وجود داشته باشد ولی ما به دنبال ترفندی هستیم که ویژگیهای مؤثر را انتخاب کرده و سیستم یا مجموعه را به مدل مناسب وصل کند پس بیایید باهم انواع ترفندها را بررسی کرده و ترفند مناسب را بهاتفاق، انتخاب کنیم.
پاورپوینت الگوریتم های داده کاوی – معرفی 7 دسته مهم در دیتا ماینینگ
پاورپوینت الگوریتم های داده کاوی با قابلیت ویرایش در 18 اسلاید مناسب برای ارائه های درسی دانش آموزان و دانشجویان عزیز آماده و بصورت طراحی آکادمیک اسلاید برای ارائه کلاسی آماده شده است.
معیارهای آماری
استفاده از معیارهای آماری در روشهای انتخاب ویژگی مؤثر، میتواند نوع همبستگی بین متغیرهای ورودی و خروجی را بهعنوان مبنایی برای انتخاب ویژگی فیلتر رایج استخراج کند. بهاینترتیب، انتخاب معیارهای آماری بهشدت به انواع دادههای متغیر بستگی دارد. متغیرهای ورودی رایج، به شرح زیر در ادامه، لیست شده است.
هرچه اطلاعات بیشتری در مورد نوع داده یک متغیر داشته باشیم؛ انتخاب یک معیار آماری مناسب برای روش انتخاب ویژگی مبتنی بر فیلتر آسانتر خواهد بود. برای درک بهتر آنچه گفتهشده؛ دو دسته کلی عددی و طبقهبندیشده را در گروههای دادهای ورودی و خروجی بررسی خواهیم کرد.
متغیرهای ورودی: متغیرهای ورودی به آن دسته از دادهها گفته میشود که بهعنوان ورودی مدل ارائهشده و در مرحله انتخاب ویژگی، باید اندازه آنها کاهش یابد.
متغیرهای خروجی: متغیرهای خروجی یا متغیر پاسخ به آن دسته از دادهها گفته میشود که یک مدل برای پیشبینی برای آنها در نظر گرفتهشده باشد. نوع متغیر پاسخ، نشاندهنده نوع چالش مدل پیشبینی کننده است. بهعنوانمثال، یک متغیر خروجی طبقهبندی، مدل پیشبینی طبقهبندی را نشان داده و یک متغیر خروجی عددی، یک مدل پیشبینی کننده رگرسیون را انعکاس میدهد. به مثالهای زیر توجه کنید.
مثال 1) در مدل رگرسیون، مدلسازی از متغیرهای ورودی عددی شروع شده و با ارائه متغیرهای خروجی عددی بهپایان میرسد.
مثال 2) در ضریب همبستگی پیرسون (خطی) و ضریب رتبه اسپیرمن (غیرخطی)، مدلسازی با ورودیهای عددی شروع و با خروجی دادههای دستهبندیشده پایان میپذیرد. این روش، یک روش مدلسازی پیشبینی طبقهبندی با متغیرهای ورودی عددی میباشد.
مثال 3) در مدلهای ضریب همبستگی ANOVA (خطی) و ضریب رتبه کندال (غیرخطی) ورودی طبقهبندیشده و خروجی عددی است.
انتخاب ویژگی با الگوریتم رقابت استعماری در متلب – انتخاب ویژگی با الگوریتم استعماری
در این بخش فیلم آموزش انتخاب ویژگی با الگوریتم استعماری در متلب قرار داده شده است. این آموزش به مسئله انتخاب ویژگی یا Feature Selection در مسائل Classification یا دسته بندی از حوزه الگوریتم های یادگیری ماشین و داده کاوی می پردازد.
پیادهسازی آمار همبستگی
اگر تا به این جای مقاله، مشتاق شدهاید که با روشهای پیادهسازی معیارهای آماری آشنا شوید؛ به شما این مژده را میدهیم که با استفاده از کتابخانه Scikit-learn در محیط برنامهنویسی پایتون، بسیاری از معیارهای آماری مفید را میتوانید پیادهسازی کنید. این کتابخانه ابزارهای کاربردی زیادی برای کاهش ابعاد را در اختیار کاربر قرار میدهد که در زیر به چند مورد از کاربردها اشاره میکنیم.
ضریب همبستگی پیرسون:
f_regression()
تحلیل واریانس:
f_classif()
اطلاعات متقابل:
mutual_info_classif() and mutual_info_regression()
با استفاده از کتابخانه Scikit-learn الگوریتمهای فیلترینگ مختلفی ازجمله SelectKBest ،SelectPercentile تولید شدهاند که SelectPercentile متغیرهای صدک بالا را از بین دادههای ورودی انتخاب کرده و الگوریتم SelectKBest تعداد k متغیر بالا را از میان ورودیهای هدفدار انتخاب مینماید.
استخراج ویژگی از متن با روش اطلاعات متقابل Mutual Information
در این پست آموزش استخراج ویژگی با روش اطلاعات متقابل Mutual Information یا MI قرار داده شده است. در این آموزش به توضیح و تشریح کامل روش اطلاعات متقابل Mutual Information پرداخته شده است.
بهترین روش برای انتخاب ویژگی در داده کاوی چیست؟
احتمالاً با خود میپرسید که چرا تا به این قسمت از مقاله، مقایسهای بین روشهای بیانشده صورت نگرفته است؟ یا اینکه از کجا بفهمیم از میان روشهای انتخاب ویژگی در داده کاوی، کدامیک مناسب است؟
متأسفانه باید بگویم که معیاری بهعنوان معیار جهانی بهترین روش وجود ندارد. برحسب ابعاد مسئله و پیچیدگی سیستمی آن، با انجام آزمایشهای دقیق و بررسیهای آماری از بین مدلهای ارائهشده، خودتان باید تشخیص دهید که کدام الگوریتم یادگیری ماشین برای مسئله شما مناسب است پس پیشنهاد میکنم ادامه مقاله را که دقیقتر مطالعه کنید تا به قسمت پیادهسازی هم مسلط شوید. این کار کمک میکند تا بهتر تصمیم بگیرید.
پاورپوینت انتخاب ویژگی با الگوریتم گرگ خاکستری برای متن کاوی
در این پست پاورپوینت انتخاب ویژگی با الگوریتم گرگ خاکستری برای متن کاوی قرار داده شده است. این پاورپوینت برای پایانامه ای با عنوان انتخاب ویژگی با الگوریتم گرگ خاکستری جهت افزایش دقت خلاصه سازی متن بر خط تهیه شده است.
نمونههای پیادهسازی شده
در ادامه مثالهایی از انتخاب ویژگی در داده کاوی آورده شده است. شما میتوانید از هرکدام که مناسب ابعاد مسئلهتان بود؛ استفاده کنید. اولین مثال ما، روش انتخاب ویژگی رگرسیون است که در داده کاوی کاربرد فراوانی دارد. در روش رگرسیون دادههای ورودی و خروجی بهاتفاق از نوع متغیرهای عددی هستند.
مثال زیر، به این صورت است که یک مسئله رگرسیون آزمایشی با استفاده از تابع ()make_regression تهیه شده و در آن انتخاب ویژگی با استفاده از ضریب همبستگی پیرسون در ()f_regression انجام میشود.
# pearson's correlation feature selection for numeric input and numeric output from sklearn.datasets import make_regression from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import f_regression # generate dataset X, y = make_regression(n_samples=100, n_features=100, n_informative=10) # define feature selection fs = SelectKBest(score_func=f_regression, k=10) # apply feature selection X_selected = fs.fit_transform(X, y) print(X_selected.shape)
با اجرای تکه کد بالا، ابتدا مجموعه داده رگرسیونی ایجادشده و طی فرایند الگوریتم، متد انتخاب ویژگی بر روی دادهها پیاده میگردد و براساس این متد، دادههای پرت حذف میشود. درنهایت زیرمجموعهای از ویژگیهای ورودی انتخابشده در ابعاد کوچک در خروجی برگردانده میشود.
(100, 10)
در مثال دوم، انتخاب ویژگی بر اساس روشهای طبقهبندی بیان میشود. یعنی در این مثال، ورودیهای مسئله عددی هستند ولی در خروجی متغیرهای دستهبند تولید میشوند که حاصل از انتخاب متغیرهای کاهشیافته است.
پاورپوینت کتابخانه های داده کاوی در پایتون
در این پاورپوینت با داده کاوی و انواع کتابخانه ها به طور کامل توضیح داده شده است. این پاورپوینت آماده در 24 اسلاید در قالب ppt. یا pptx. با قابلیت ویرایش برای ارائه درسی آماده دانلود میباشد. برای دانلود بر روی لینک زیر کلیک کنید.
بیایید مسئله رگرسیون آزمایشی که با استفاده از تابع ()make_classification را بررسی کنیم که در آن انتخاب ویژگی با استفاده از اندازهگیری ANOVA F از طریق تابع ()f_classif و به شکل زیر انجام میشود.
# ANOVA feature selection for numeric input and categorical output from sklearn.datasets import make_classification from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import f_classif # generate dataset X, y = make_classification(n_samples=100, n_features=20, n_informative=2) # define feature selection fs = SelectKBest(score_func=f_classif, k=2) # apply feature selection X_selected = fs.fit_transform(X, y) print(X_selected.shape)
با اجرای تکه کد بالا طی فرایند الگوریتم، متد انتخاب ویژگی بر روی دادهها، پیادهسازی شده؛ بر اساس این متد، فرایند کاهش ابعاد داده صورت گرفته و درنهایت، خروجی زیر تولید میگردد.
(100, 2)
خلاصه فرآیند عملیات، تکنیک، کاربرد
در آخر، تصمیم گرفتیم؛ آنچه گفته شد را بهصورت یک جدول خلاصهوار و بهصورت مروری در اختیار شما کاربران عزیز قرار دهیم تا در پاسخ به سؤالات مختلفی که ممکن است؛ در رابطه با کاربردها برایتان ایجاد شود؛ راهنماییتان کنیم.
کلام آخر در مورد انتخاب ویژگی در داده کاوی
ما هر چه در توان داشتیم بهکار گرفتیم تا شما در این پست، نحوه انتخاب معیارهای آماری برای انتخاب ویژگی با دادههای عددی و طبقهبندیشده را بیاموزید و آن را در ابعاد دادهای بزرگتر و مسائل پیچیدهتر بهکار بگیرید.
نکته مهم این است که شما آموختههایتان را در مثالهای عملی و واقعی بهکار بگیرید تا متوجه شوید که برای مسئله شما کدام راهحل مناسب است و دانش کافی برای کشف الگوهای پنهان بین متغیرها را داشته باشید تا مثلاً اگر کسی از شما خواست که در تحلیل بازار بورس کمکش کنید؛ شما دانش کافی برای این کار را داشته باشید و در بهینهسازی سبد خرید او، کمکش کنید. موفق باشید.
درباره زهرا یاوری
کارشناس ارشد رشته علوم کامپیوتر از دانشگاه تبریز، مشاور و برنامهریز آزمونهای کارشناسی ارشد، پژوهشگر در حوزه علوم کامپیوتر، علاقمند به فعالیتهای تیمی، طراح صفحات وب، تحلیلگر سیستم، ایشان تحلیلگر ارشد شرکت بیمه البرز هستند و در زمینه علوم کامپیوتر سابقه تدریس دارند.
خوب بود ممنون
عالی بود ممنونم ازتون???