1.03k likes | 1.42k Views
داده کاوي توزيع شده. پرهام مرادي pmoradi@cic.aut.ac.ir. Distributed Database. Distributed Database. فهرست. بخش اول – داده کاوي ( Data Mining ) مقدمهاي بر دادهکاوي کاربردهاي داده کاوي تکنيکهاي دادهکاوي ابزارهاي داده کاوي بخش دوم : داده کاوي توزيع شده
E N D
داده کاوي توزيع شده پرهام مرادي pmoradi@cic.aut.ac.ir Distributed Database Distributed Database
فهرست • بخش اول – داده کاوي (Data Mining) • مقدمهاي بر دادهکاوي • کاربردهاي داده کاوي • تکنيکهاي دادهکاوي • ابزارهاي داده کاوي • بخش دوم : داده کاوي توزيع شده • معماري سيستمهاي موازي و توزيع شده • اجراي موازي تکنيکهاي دادهکاوي داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
مقدمهاي بر دادهکاوي داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
مقدمهاي بر داده کاوي • حجم دادهها (Data) با سرعت زيادي در حال رشد است • Large number of records (108 – 1012 bytes) • High dimensional data ( 102 – 104 attributes) • اطلاعات (Information) ما در مورد اين دادهها کم است • دانش (Knowledge) ما نسبت به اين اطلاعات صفر است • راه حل استفاده از تکنيکهاي داده کاوي داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
مقدمهاي بر داده کاوي • داده کاوي (Data Mining) • جستجو براي اطلاعات با ارزش در ميان حجم زيادي از داده ها • استخراج اتوماتيک مدل از داده • فرآيند استخراج اطلاعات نهفته در حجم زيادي از داده داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
مقدمهاي بر داده کاوي داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
KDD and Data Mining داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
KDD & Data Mining • استخراج دانش از پايگاه داده (KDD) • Knowledge Discovery from Database • داده کاوي يکي از مراحل KDD است • KDD از تکنيکهايي نظير پيش پردازش ، تميز سازي، تبديل، داده کاوي و ... براي استخراج دانش از پايگاه داده، استفاده ميکند داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
منابع دادهاي • پايگاه داده رابطهاي • انباره داده (Data Warehouse) • متن • وب • دادههاي ناهمگون و توزيع شده • چند رسانهاي (Multimedia) • Time-Series داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
داده کاوي ترکيبي از علوم مختلف 20x20 ~ 2^400 10^120 patterns داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
داده کاوي ترکيبي از علوم مختلف Information Retrieval • Similarity Measures • Hierarchical Clustering • IR Systems • Imprecise Queries • Textual Data • Web Search Engines Statistics • Bayes Theorem • Regression Analysis • EM Algorithm • K-Means Clustering • Time Series Analysis Database Data Mining • Relational Data Model • SQL • Association Rule Algorithms • Data Warehousing • Scalability Techniques Algorithms Machine Learning • Algorithm Design Techniques • Algorithm Analysis • Data Structures • Neural Networks • Decision Tree Algorithms داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
کاربردهاي داده کاوي • آناليز بازار (Market analysis) • آناليز و مديريت ريسک • تشخيص تقلب • متن کاوي و وب کاوي • Stream data mining • DNA and bio-data analysis داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
کاربردهاي داده کاوي – آناليز بازار • Target marketing • پيدا کردن الگوي خريد مشتري • Cross-market analysis • پيدا کردن قوانين انجمني مربوط به خريد مشتريان • Customer profiling • دسته بندي مشتريان براساس نوع خريد • آناليز نيازهاي مشتريان • تشخيص محصولات مناسب براي دستههاي مختلف مشتريان • تشخيص فاکتورهايي براي جذب مشتريان جديد داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
کاربردهاي داده کاوي – تشخيص تقلب • مشخص کردن تمام تراکنشهاي مربوط به يک مشتري خاص که در آن تقلب صورت گرفته است. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
داده کاوي و هوش تجاري داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
تکنيکهاي داده کاوي • پيشگويي (Predictive) • طبقه بندي (Classification) • رگرسيون (Regression) • آناليز سريهاي زماني (Time Series Analysis) • توصيفي(Descriptive) • قوانين انجمني(Association Rules) • خوشه بندي (Clustering) • الگوهاي متوالي (Sequential Patterns) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
تکنيکهاي داده کاوي داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
پيشگويي (Prediction) • استفاده از مقادير و متغيرهاي گذشته جهت تشخيص متغيرهاي جديد. مثال : • رتبه بندي کسي که تقاضاي کارت اعتباري مي کند به يکي از دستههاي عالي، خوب، متوسط، بد بر اساس يک سري اطلاعات درخواست کننده (سن، تحصيلات ،حقوق ماهيانه و ..) يک سري اطلاعات ديگر. • دسته بندي مشتريان بانک • پيشگويي اينکه آيا مشتري تمايل دارد به Junk Mail ها پاسخ مي دهد يا خير؟ داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
پيشگويي- طبقه بندي (Classification) • دسته بندي کردن دادهها به يکي از کلاسهاي از پيش تعيين شده. • تشخيص طبقه مربوط به يک داده جديد (که طبقه آن مشخص نيست) به يکي از طبقات تعريف شده مثال : • درخواست کنندههاي کارتهاي اعتباري ( خوب،متوسط،بد) • وضعيت دانشجويان ( عالي، خوب،متوسط،ضعيف) • تقسيم بندي مريضها بر اساس حال آنها(عادي،وخيم) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
طبقه بندي – درخت تصميم (Decision Tree) مثال : دسته بندي افراد بر اساس قد (کوتاه – متوسط-بلند) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
طبقه بندي – درخت تصميم (Decision Tree) مثال : دسته بندي ريسک واگذاري بيمه داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
پيشگويي- رگرسيون (Regression) • نگاشت يک آيتم دادهاي به مقدار واقعي آن بر اساس يک فرمول از پيش تعيين شده. • به دست آوردن چند جملهاي زير Y = a0 + a1 * X1 + a2 * X2 + … + an * Xn مثال : Risk score=0.01*(Balance)- 0.3*(Age)+4*(House Owned) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
پيشگويي- آناليز سري زماني (Time Series) مثال : بازار سهام • تشخيص رفتار آينده بر اساس رفتار گذشته • تشخيص الگوهاي مشابه در بازههاي زماني • طبقه بندي کردن رفتار بر اساس بازههاي زماني داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
مشتري که هر دو را مي خرد مشتري که شير مي خرد مشتري که نان مي خرد توصيفي– قوانين انجمني (Association Rules) • مشترياني که نان مي خرند به احتمال زيادي شير هم مي خرند. • دانشجويي که کتاب پايگاه داده را مي خرد به احتمال 70% کتاب سيستم عامل را هم مي خرد. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
توصيفي– خوشه بندي (Clustring) • پيدا کردن خوشههايي که داراي رکوردهاي مشابهي هستند. • تقسيم پايگاه داده به گروههاي مختلف که داراي اعضاي مشابه هستند. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
توصيفي– الگوهاي متوالي (Sequential patterns) پيدا کردن قوانيني شبيه : اگر مشتري تلوزيون خريد، سپس چند روز بعد دوربين مي خرد و به احتمال 50% يک ماه بعد ويديو خواهد خريد. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
ابزارهاي داده کاوي Data To Knowledge http://www.ncsa.uiuc.edu/Divisions/DMV/ALG/d2k/ SAS http://www.sas.com/ Clementine http://www.spss.com/spssbi/clementine/ Intelligent Miner http://www-3.ibm.com/software/data/iminer/ Insightful Miner http://www.insightful.com/products/product.asp?PID=26 WEKA داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
فهرست • بخش اول – داده کاوي • مقدمهاي بر دادهکاوي • کاربردهاي داده کاوي • تکنيکهاي دادهکاوي • ابزارهاي داده کاوي • بخش دوم : داده کاوي توزيع شده • معماري سيستمهاي موازي و توزيع شده • اجراي موازي تکنيکهاي دادهکاوي داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
معماريهاي مختلف • محاسبات موازي (Parallel computing) • حل يک مساله با استفاده از يک کامپيوتر با تعداد زيادي پردازنده • محاسبات توزيع شده( Distributed computing) • حل يک مساله با استفاده از تعدادي کامپيوترمختلف که از طريق شبکه به هم متصل هستند. • در بعضي مواقع از يک نرم افزار زمان بند براي هماهنگي اين سيستمها استفاده ميشود • محاسبات توري ( Grid Computing- (Meta Computing • حل يک مساله با استفاده از تعداد زيادي کامپيوتر که از لحاظ جغرافيايي توزيع شده هستند و از طريق اينترنت به هم متصل هستند • يک نرم افزار براي هماهنگي محاسباتي اين کامپيوترها لازم است. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
دسته بندي – مدل کنترلي • دسته بندي Flynn (1966) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
دسته بندي – مدل کنترلي - SISD • A serial (non-parallel) computer • Single instruction: only one instruction stream is being acted on by the CPU during any one clock cycle • Single data: only one data stream is being used as input during any one clock cycle • Examples: most PCs, single CPU workstations and mainframes داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
دسته بندي – مدل کنترلي -SIMD • Single instruction: all processing units execute the same instruction at any given clock cycle. • Multiple data: each processing unit can operate on a different data element. • Examples: • Processor Arrays: Connection Machine CM-2, Maspar MP-1, MP-2 • Vector Pipelines: IBM 9000, Cray C90, Fujitsu VP, NEC SX-2, Hitachi S820 داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
دسته بندي – مدل کنترلي-MISD Multiple Instruction, Single Data • Few actual examples of this class of parallel computer have ever existed. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
دسته بندي – مدل کنترلي - MIMD Currently, the most common type of parallel computer • Multiple Instruction: every processor may be executing a different instruction stream. • Multiple Data: every processor may be working with a different data stream. • Execution can be synchronous or asynchronous, deterministic or non- deterministic. • Examples: most current supercomputers, networked parallel computer "grids" and multi-processor SMP computers - including some types of PCs. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
دسته بندي – Communication Model • Shared vs. Distributed Memory systems داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
محاسبات موازي و توزيع شده • Parallel computing usually considers dedicated homogeneous HPC systems to solve parallel problems. • Distributed computing extends the parallel approach to heterogeneous general-purpose systems. • Both look at the parallel formulation of a problem. • usually reliability, security, heterogeneity are not considered in parallel computing, Whereas they are considered in ِGrid computing. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
محاسبات موازي و توزيع شده • Parallel computing: • Shared-Memory SIMD • Distributed-Memory SIMD • Shared-Memory MIMD • Distributed-Memory MIMD • Distributed computing and Clusters • Behind parallel and distributed computing: • Metacomputing SCALABILITY داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
اجراي موازي تکنيکهاي داده کاوي • پيشگويي (Predictive) • طبقه بندي (Classification) • رگرسيون (Regression) • آناليز سريهاي زماني (Time Series Analysis) • توصيفي(Descriptive) • قوانين انجمني(Association Rules) • خوشه بندي (Clustering) • الگوهاي متوالي (Sequential Patterns) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
قوانين انجمني • Given • A database of transactions • Each transaction contains a set of items • Find all rules X->Y that correlate the presence of one set of items X with another set of items Y • Example: When a customer buys bread and butter, they buy milk 85% of the time + داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
قوانين انجمني Example: Association Rule: Support: Confidence: داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
قوانين انجمني • Given a set of items/attributes, and a set of objects containing a subset of the items • Find rules: if I1 then I2 (sup, conf) • I1, I2 are sets of items • I1, I2 have sufficient support: P(I1+I2) • Rule has sufficient confidence: P(I2|I1) داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
قوانين انجمني • Notation • Minimum support (minsup) • Minimum confidence (minconf) • Find all frequent itemsets (> minsup) • Exponential Search Space • Computation and I/O Intensive • Generate strong rules (> minconf) • Relatively cheap داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
قوانين انجمني داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
الگوريتمهاي قوانين انجمني • Apriori • Dynamic Hashing and Pruning (DHP) • Partition • Dynamic Itemset Counting (DIC) • Clique • MaxClique • SEAR • Eclat داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
Apriori • Given ntransactions and m different items: • number of possible association rules: • computation complexity: داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
Apriori • Systematic search for all patterns, based on support constraint: • If {A,B} has support at least a, then both A and B have support at least a. • If either A or B has support less than a, then {A,B} has support less than a. • Use patterns of k-1 items to find patterns of k items. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
Apriori Guiding Principle: every subset of a frequent itemset has to be frequent. داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
Apriori • Three Step of Apriori Algorithm • Step 1 : • Generate candidates of length k from the frequent (k-1) length itemset • Step 2 : • Prune any candidate that has at least one infrequent subset • Step 3 : • Scan all transactions to obtain candidate supports داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
Apriori Min.Support=50 % Min.Confidence = 50% Database D F1 C1 Scan D C2 C2 F2 Scan D داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر
Apriori Items (1-itemsets) Pairs (2-itemsets) Minimum Support = 3 Triplets (3-itemsets) If every subset is considered, 6C1 + 6C2 + 6C3 = 41 With support-based pruning, 6 + 6 + 2 = 14 داده کاوي توزيع شده - پرهام مرادي - درس پايگاه داده توزيع شده - دانشکده رياضي و علوم کامپيوتر