نمايش پست تنها
قديمي ۰۱-۴-۱۳۹۲, ۱۱:۰۸ قبل از ظهر   #3 (لینک دائم)
babak_1234 Male
Moderator
 
آواتار babak_1234
 
تاريخ عضويت: شهريور ۱۳۸۸
محل سكونت: تهران
پست ها: 252
تشكرها: 1
140 تشكر در 108 پست
My Mood: Khonsard
پيش فرض

نقل قول:
نوشته اصلي بوسيله tahereh.moeini نمايش پست


برای پيش پردازش توي روش مد نظرم مجبور شدم بخشي از داده ها رو حذف كنم چون ماتريس مجموعه داده به ابعاد 49000*139000بود كه قابل پردازش نبود با وجود اینکه ماتریس اسپارس بود و از طرفي الگوريتمی كه من بكار بردم لازم داشت كه حتما در هر سطر حداقل دو مقدار وجود داشته باشه .به همين خاطر سطرهایی رو كه كمتر از 3 مقداردهي داشتند رو از مجموعه داده حذف كردم ولي باز هم ماتريس بزرگ بود و با خطاي كمبود حافظه مواجه مي شد به همين خاطر ستون هایی هم كه كمتر از 3 مقداردهي داشتند رو هم حذف كردم تا ديگه با خطاي كمبود حافظه مواجه نشم اميدوارم كار اشتباهي انجام نداده باشم .البته بررسي كردم ديدم كه بعضي ها هم روي مجموعه داده هاي ديگه اين كار رو كردند .توجیه من این بود که سطرهایی که مقداردهی کمی دارندتاثير چنداني در نتیجه نهایی ندارند و بنابراین می شه اونها رو حذف کرد می خواستم بدونم که این پیش پردازشی که انجام دادم درست هست؟ ممنون می شم دوستان راهنمایی بفرمایند
سلام دوست عزیز
اطلاعات کاملی در مورد کاری که داری انجام میدی ندادی.

حذف نمونه های داده از مجموعه داده همیشه موثر نیست. باید نتایجی که بدست آوردی رو ارزیابی کنی. چون با حذف نمونه های داده یکسری اطلاعات از بین میره که ممکنه در نتایج الگوریتم شما تاثیر داشته باشه. همچنین ممکنه توی نمونه های باقی مانده نویز وجود داشته باشه که مساله overfitting به وجود خواهد آمد.

اگر از برنامه متلب استفاده میکنید ابزاری برای مدیریت حافظه در اختیار شما قرار میده و اگر خودتون برنامه رو نوشتید باید مدیریت حافظه توش وجود داشته باشه.

من پیشنهاد میکنم از روش های کاهش ابعاد داده استفاده کنید:

با توجه به sparse بودن ماتریس میشه از الگوریتم ماتریس خلوت توی ساختار داده استفاده کرد. که برای استفاده کاملا وابسته به الگوریتم مورد نظر هست.
همچنین میشه از الگوریتم های کاهش ابعاد داده مثل PCA، SVD ... استفاده کرد.
روش های دیگه ای هم برای کاهش ابعاد وجود داره مثل feature subset selection و ...

همچنین میشه از روش های فشرده سازی برای ایجاد ویژگی استفاده کرد. با توجه به redundant بودن داده های شما فشرده سازی میتونه خیلی خوب حجم داده های شما رو کاهش بده. اصطلاحا بهش Work in compress domain گفته میشه که امروزه بسیار مورد توجه هست.
babak_1234 آفلاين است   پاسخ با نقل قول