تحلیل داده های سنتی --》
تحلیل همبستگی -
Correlation Analysis
یک روش تحلیلی برای یافتن قانون همبستگی بین پدیده های مشاهده شده و بر اساس پیش بینی کردن و کنترل است.
یک مثال:
وقتی مشتریان سوپرمارکت ها در حال خرید پوشک بچه هستند شیر نیز میخرند.
تحلیل همبستگی -
Correlation Analysis
یک روش تحلیلی برای یافتن قانون همبستگی بین پدیده های مشاهده شده و بر اساس پیش بینی کردن و کنترل است.
یک مثال:
وقتی مشتریان سوپرمارکت ها در حال خرید پوشک بچه هستند شیر نیز میخرند.
تحلیل داده های سنتی --》
تحلیل رگرسيون - (Regression)
از لحاظ لغوی تعریف نماییم ، این واژه در فرهنگ لغت به معني پسروی، برگشت و بازگشت است. اما اگر آن را از دید آمار و ریاضیات تعریف کنیم اغلب جهت رساندن مفهوم "بازگشت به يک مقدار متوسط يا ميانگين” به کار مي رود. بدين معني که برخي پديده ها به مرور زمان از نظر کمي به طرف يک مقدار متوسط ميل مي کنند.
در حقيقت تحليل رگرسيوني فن و تکنيکي آماري براي بررسي و مدل سازي ارتباط بين متغيرها است.
رگرسيون تقريباً در هر زمينه اي از جمله مهندسي، فيزيک، اقتصاد، مديريت، علوم زيستي، بيولوژي و علوم اجتماعي برای برآورد و پیشبینی مورد نیاز است .
مي توان گفت تحليل رگرسيوني، پرکاربردترین روش در بين تکنيک هاي آماري است. شمايي کلي و خلاصه شده از يک تحليل رگرسيوني ساده به صورت زير مي باشد:
در ابتدا تحليل گر حدس مي زند که بين دو متغير نوعي ارتباط وجود دارد ، در حقيقت حدس مي زند که يک رابطه به شکل يک خط بين دو متغير وجود دارد و سپس به جمع آوري اطلاعات کمي از دو متغير مي پردازد و اين داده ها را به صورت نقاطي در يک نمودار دو بعدي رسم مي کند.
تحلیل رگرسيون - (Regression)
از لحاظ لغوی تعریف نماییم ، این واژه در فرهنگ لغت به معني پسروی، برگشت و بازگشت است. اما اگر آن را از دید آمار و ریاضیات تعریف کنیم اغلب جهت رساندن مفهوم "بازگشت به يک مقدار متوسط يا ميانگين” به کار مي رود. بدين معني که برخي پديده ها به مرور زمان از نظر کمي به طرف يک مقدار متوسط ميل مي کنند.
در حقيقت تحليل رگرسيوني فن و تکنيکي آماري براي بررسي و مدل سازي ارتباط بين متغيرها است.
رگرسيون تقريباً در هر زمينه اي از جمله مهندسي، فيزيک، اقتصاد، مديريت، علوم زيستي، بيولوژي و علوم اجتماعي برای برآورد و پیشبینی مورد نیاز است .
مي توان گفت تحليل رگرسيوني، پرکاربردترین روش در بين تکنيک هاي آماري است. شمايي کلي و خلاصه شده از يک تحليل رگرسيوني ساده به صورت زير مي باشد:
در ابتدا تحليل گر حدس مي زند که بين دو متغير نوعي ارتباط وجود دارد ، در حقيقت حدس مي زند که يک رابطه به شکل يک خط بين دو متغير وجود دارد و سپس به جمع آوري اطلاعات کمي از دو متغير مي پردازد و اين داده ها را به صورت نقاطي در يک نمودار دو بعدي رسم مي کند.
تحليل داده هاي سنتي-->
آزمون A/B :
Bucket testing
اين روش يك فناوري براي تعيين طرح ها براي بهبود متغيير هاي هدف به وسيله مقايسه گروه داده هاي آزموده شده است.
كلان داده ها براي اجرا و تحليل به تعداد زيادي آزمون نياز دارند تا ميزان كافي از گروه ها را براي تشخيص تفاوت هاي مهم بين گروه كنترل و گروه عمليات تضمين كند.
آزمون A/B :
Bucket testing
اين روش يك فناوري براي تعيين طرح ها براي بهبود متغيير هاي هدف به وسيله مقايسه گروه داده هاي آزموده شده است.
كلان داده ها براي اجرا و تحليل به تعداد زيادي آزمون نياز دارند تا ميزان كافي از گروه ها را براي تشخيص تفاوت هاي مهم بين گروه كنترل و گروه عمليات تضمين كند.
تحليل داده هاي سنتي -->
تحليل آماري - Statistical Analysis
تحليل بر اساس نظريه آماري،يك شاخه از رياضيات كاربردي است.
در نظريه آماري تصادفي بودن و عدم قطعيت با نظريه احتمال مدل شده است.
تحليل آماري براي مجموعه داده هاي مقياس بزرگ ميتواند توصيف و استنباط را فراهم كند.
تحليل آماري در زمينه اقتصاد و سيستم سلامت بسيار پر كاربرد است.
تحليل آماري - Statistical Analysis
تحليل بر اساس نظريه آماري،يك شاخه از رياضيات كاربردي است.
در نظريه آماري تصادفي بودن و عدم قطعيت با نظريه احتمال مدل شده است.
تحليل آماري براي مجموعه داده هاي مقياس بزرگ ميتواند توصيف و استنباط را فراهم كند.
تحليل آماري در زمينه اقتصاد و سيستم سلامت بسيار پر كاربرد است.
تحليل داده هاي سنتي -->
داده كاوي - Data Mining
حتماً تاکنون بارها عبارت "انقلاب دیجیتال" به گوشتان خورده است و احتمالاً درباره واژه هایی مانند انقلاب دیجیتال، انفجار اطلاعات، عصر رایانه، عصر اطلاعات و ارتباطات و واژه های مشابه، اطلاعاتی نیز دارید. اما چقدر به کاربرد عملی و ملموس این عبارات و مخصوصاً فایده انقلاب دیجیتال در زندگی فکر کرده اید؟
در طول دهه گذشته با پیشرفت روز افزون کاربرد پایگاه داده ها، حجم داده های ثبت شده به طور متوسط هر 5 سال 2 برابر می شود. در این میان سازمانهایی موفقند که بتوانند حداقل 7% داده هایشان را تحلیل کنند . تحقیقات انجام یافته نشان داده است که سازمانها کمتر از یک درصد داده هایشان را برای تحلیل استفاده می کنند . به عبارت دیگر در حالی که غرق در داده ها هستند تشنه دانش می باشند.
بنابر اعلام دانشگاه MIT دانش نوین داده کاوی (Data mining ) یکی از ده دانش در حال توسعه ای است که دهه آینده را با انقلاب تکنولوژیکی مواجه می سازد. این تکنولوژی امروزه دارای کاربرد بسیار وسیعی در حوزه های مختلف است به گونه ای که امروزه حد و مرزی برای کاربرد این دانش در نظر نگرفته و زمینه های کاری این دانش را از ذرات کف اقیانوسها تا اعماق فضا می دانند .
امروزه، بیشترین کاربرد داده کاوی در بانکها، مراکز صنعتی و کارخانجات بزرگ، مراکز درمانی و بیمارستانها، مراکز تحقیقاتی، بازاریابی هوشمند و بسیاری از موارد دیگر می باشد.
داده کاوی پل ارتباطی میان علم آمار ، علم کامپیوتر ، هوش مصنوعی ، الگوشناسی ، فراگیری ماشین و بازنمایی بصری داده می باشد. داده کاوی فرآیندی پیچیده جهت شناسایی الگوها و مدل های صحیح، جدید و به صورت بالقوه مفید، در حجم وسیعی از داده می باشد، به طریقی که این الگوها و مدلها برای انسانها قابل درک باشند. داده کاوی به صورت یک محصول قابل خریداری نمی باشد، بلکه یک رشته علمی و فرآیندی است که بایستی به صورت یک پروژه پیاده سازی شود.
کاوش داد ه ها به معني کنکاش داده هاي موجود در پايگاه داده و انجام تحليل هاي مختلف بر روي آن به منظور استخراج اطلاعات مي باشد.
داده كاوی فرایندی تحلیلی است كه برای كاوش داده ها ( معمولا حجم عظیمی از داده ها - در زمینه های كسب وكار و بازار) صورت میگیرد و یافتههابابهكارگیری الگوهایی،احراز اعتبار میشوند . هدف اصلی داده كاوی پیش بینی است. و به صورت دقیق تر میتوان گفت :
"کاوش داده ها شناسايي الگوهاي صحيح، بديع، سودمند و قابل درک از داده هاي موجود در يک پايگاه داده است که با استفاده از پرداز شهاي معمول قابل دستيابي نيستند"
فرایند داده كاوی شامل سه مرحله می باشد :
1. كاوش اولیه
2. ساخت مدل یا شناسایی الگو با كمك احراز اعتبار/ تایید
3. بهره برداری
داده كاوي - Data Mining
حتماً تاکنون بارها عبارت "انقلاب دیجیتال" به گوشتان خورده است و احتمالاً درباره واژه هایی مانند انقلاب دیجیتال، انفجار اطلاعات، عصر رایانه، عصر اطلاعات و ارتباطات و واژه های مشابه، اطلاعاتی نیز دارید. اما چقدر به کاربرد عملی و ملموس این عبارات و مخصوصاً فایده انقلاب دیجیتال در زندگی فکر کرده اید؟
در طول دهه گذشته با پیشرفت روز افزون کاربرد پایگاه داده ها، حجم داده های ثبت شده به طور متوسط هر 5 سال 2 برابر می شود. در این میان سازمانهایی موفقند که بتوانند حداقل 7% داده هایشان را تحلیل کنند . تحقیقات انجام یافته نشان داده است که سازمانها کمتر از یک درصد داده هایشان را برای تحلیل استفاده می کنند . به عبارت دیگر در حالی که غرق در داده ها هستند تشنه دانش می باشند.
بنابر اعلام دانشگاه MIT دانش نوین داده کاوی (Data mining ) یکی از ده دانش در حال توسعه ای است که دهه آینده را با انقلاب تکنولوژیکی مواجه می سازد. این تکنولوژی امروزه دارای کاربرد بسیار وسیعی در حوزه های مختلف است به گونه ای که امروزه حد و مرزی برای کاربرد این دانش در نظر نگرفته و زمینه های کاری این دانش را از ذرات کف اقیانوسها تا اعماق فضا می دانند .
امروزه، بیشترین کاربرد داده کاوی در بانکها، مراکز صنعتی و کارخانجات بزرگ، مراکز درمانی و بیمارستانها، مراکز تحقیقاتی، بازاریابی هوشمند و بسیاری از موارد دیگر می باشد.
داده کاوی پل ارتباطی میان علم آمار ، علم کامپیوتر ، هوش مصنوعی ، الگوشناسی ، فراگیری ماشین و بازنمایی بصری داده می باشد. داده کاوی فرآیندی پیچیده جهت شناسایی الگوها و مدل های صحیح، جدید و به صورت بالقوه مفید، در حجم وسیعی از داده می باشد، به طریقی که این الگوها و مدلها برای انسانها قابل درک باشند. داده کاوی به صورت یک محصول قابل خریداری نمی باشد، بلکه یک رشته علمی و فرآیندی است که بایستی به صورت یک پروژه پیاده سازی شود.
کاوش داد ه ها به معني کنکاش داده هاي موجود در پايگاه داده و انجام تحليل هاي مختلف بر روي آن به منظور استخراج اطلاعات مي باشد.
داده كاوی فرایندی تحلیلی است كه برای كاوش داده ها ( معمولا حجم عظیمی از داده ها - در زمینه های كسب وكار و بازار) صورت میگیرد و یافتههابابهكارگیری الگوهایی،احراز اعتبار میشوند . هدف اصلی داده كاوی پیش بینی است. و به صورت دقیق تر میتوان گفت :
"کاوش داده ها شناسايي الگوهاي صحيح، بديع، سودمند و قابل درک از داده هاي موجود در يک پايگاه داده است که با استفاده از پرداز شهاي معمول قابل دستيابي نيستند"
فرایند داده كاوی شامل سه مرحله می باشد :
1. كاوش اولیه
2. ساخت مدل یا شناسایی الگو با كمك احراز اعتبار/ تایید
3. بهره برداری
داده كاوي
مرحله 1 : كاوش
معمولا این مرحله با آماده سازی داده ها صورت می گیرد كه ممكن است شامل پاك سازی داده ها ،تبدیل داده هاوانتخاب زیرمجموعه هايي از ركوردها با حجم عظیمیاز متغييرها( فیلدها ) باشد .
سپس با توجه به ماهیت مساله تحلیلی، اینمرحله به مدل هاي پیش بیني ساده یا مدل های آماری و گرافیكی برای شناسایی متغیرهاي مورد نظر و تعیین پیچیدگی مدل ها برای استفاده در مرحله بعدی نیاز دارد .
مرحله 2:ساخت و احراز اعتبار مدل
این مرحله به بررسی مدل هاي مختلف و گزینش بهترین مدل با توجه به كارآیی پيشبيني آن می پردازد. شاید این مرحله ساده به نظر برسد، اما اينطورنیست. تكنیك های متعددی برای رسیدن به این هدف توسعه یافتند و " ارزیابی رقابتی مدل ها"نام گرفتند.
بدین منظور مدل های مختلف برای مجموعه دادههای یكسان بهكارمیروند تا كارآیی شان باهم مقایسهشود ،
سپس مدلی كه بهترین كارآیی را داشته باشد، انتخاب میشود.
اینتكنیكها عبارتند از :
Bagging,Boosting ,Stacking و Meta-learning
مرحله 3 : بهره برداری
آخرین مرحله مدلی را كه در مرحله قبل انتخاب شده است، در دادههای جدید به كار میگیرد تا پیشبینی هاي خروجی های مورد انتظار را تولید نماید.
داده كاوی به عنوان ابزار مدیریت اطلاعات برای تصمیم گیری،عمومیت یافته است .
اخیرا،توسعه تكنیك های تحلیلی جدید در این زمینه مورد توجه قرار گرفته است (مثلا Classification Trees)،اما هنوز داده كاوی مبتنی بر اصول آماری نظیر(Exploratory Data Analysis (EDA)می باشد.
بااین وجود تفاوت عمده ای بین داده كاوی و EDA وجوددارد.دادهكاوی بیشتر به برنامه های كاربردی گرایش دارد تا ماهیت اصلی پدیده .به عبارتیداده كاوی كمتر با شناسایی روابط بین متغیرها سروكار دارد .
مرحله 1 : كاوش
معمولا این مرحله با آماده سازی داده ها صورت می گیرد كه ممكن است شامل پاك سازی داده ها ،تبدیل داده هاوانتخاب زیرمجموعه هايي از ركوردها با حجم عظیمیاز متغييرها( فیلدها ) باشد .
سپس با توجه به ماهیت مساله تحلیلی، اینمرحله به مدل هاي پیش بیني ساده یا مدل های آماری و گرافیكی برای شناسایی متغیرهاي مورد نظر و تعیین پیچیدگی مدل ها برای استفاده در مرحله بعدی نیاز دارد .
مرحله 2:ساخت و احراز اعتبار مدل
این مرحله به بررسی مدل هاي مختلف و گزینش بهترین مدل با توجه به كارآیی پيشبيني آن می پردازد. شاید این مرحله ساده به نظر برسد، اما اينطورنیست. تكنیك های متعددی برای رسیدن به این هدف توسعه یافتند و " ارزیابی رقابتی مدل ها"نام گرفتند.
بدین منظور مدل های مختلف برای مجموعه دادههای یكسان بهكارمیروند تا كارآیی شان باهم مقایسهشود ،
سپس مدلی كه بهترین كارآیی را داشته باشد، انتخاب میشود.
اینتكنیكها عبارتند از :
Bagging,Boosting ,Stacking و Meta-learning
مرحله 3 : بهره برداری
آخرین مرحله مدلی را كه در مرحله قبل انتخاب شده است، در دادههای جدید به كار میگیرد تا پیشبینی هاي خروجی های مورد انتظار را تولید نماید.
داده كاوی به عنوان ابزار مدیریت اطلاعات برای تصمیم گیری،عمومیت یافته است .
اخیرا،توسعه تكنیك های تحلیلی جدید در این زمینه مورد توجه قرار گرفته است (مثلا Classification Trees)،اما هنوز داده كاوی مبتنی بر اصول آماری نظیر(Exploratory Data Analysis (EDA)می باشد.
بااین وجود تفاوت عمده ای بین داده كاوی و EDA وجوددارد.دادهكاوی بیشتر به برنامه های كاربردی گرایش دارد تا ماهیت اصلی پدیده .به عبارتیداده كاوی كمتر با شناسایی روابط بین متغیرها سروكار دارد .
مفاهیم اساسی در داده كاوی
Bagging:
این مفهوم برای تركیب رده بندی های پیش بینی شده از چند مدل به كار می رود.
فرض كنید كه قصد دارید مدلی برای رده بندی پیش بيني بسازید و مجموعه داده های مورد نظرتان كوچك است.
شمامی توانید نمونه هایی( با جایگزینی) را از مجموعه داده ها انتخاب و برای نمونه های حاصل ازدرخت رده بندی (مثلا C&RT وCHAID )استفاده نمایید.
به طور كلی برای نمونه های مختلف به درخت های متفاوتی خواهید رسید.
سپس برای پیش بینی با كمك درخت های متفاوت به دست آمده از نمونه ها ،یك رای گیری ساده انجام دهید.
رده بندی نهایی ، رده بندی ایخواهد بود كه درخت های مختلف آنرا پیش بینی كرده اند .
Boosting:
این مفهوم برای تولید مدلهای چندگانه (برای پیش بینی یا رده بندی)به كار میرود. Boosting نیزاز روش C&RT یا CHAID استفاده وترتیبی از classifier ها را تولید خواهد كرد .
Meta-Learning :
این مفهوم برای تركیب پیش بینیهای حاصل از چند مدل به كار میرود و هنگامی كه انواع مدلهای موجود در پروژه خیلی متفاوت هستند، كاربرد دارد.
فرض كنید كه پروژه داده كاوی شما شامل Tree classifierها نظیر C&RTو CHAID، تحلیل خطی و شبكه های عصبی است.
هر یك از كامپیوترها،رده بندی هایی رابرای نمونه هاپیش بینی كرده اند.
تجربه نشان میدهدكه تركیب پیش بینی های چند روش دقیق تراز پیش بینی های هریك از روشهاست.
پیش بینی های حاصل از چند classifier را می توان به عنوان ورودی meta-linear مورد استفاده قرار داد. meta-linear پیش بینی هارا تركیب می كند تا بهترین رده بندی پیش بینی شده حاصل شود.
Bagging:
این مفهوم برای تركیب رده بندی های پیش بینی شده از چند مدل به كار می رود.
فرض كنید كه قصد دارید مدلی برای رده بندی پیش بيني بسازید و مجموعه داده های مورد نظرتان كوچك است.
شمامی توانید نمونه هایی( با جایگزینی) را از مجموعه داده ها انتخاب و برای نمونه های حاصل ازدرخت رده بندی (مثلا C&RT وCHAID )استفاده نمایید.
به طور كلی برای نمونه های مختلف به درخت های متفاوتی خواهید رسید.
سپس برای پیش بینی با كمك درخت های متفاوت به دست آمده از نمونه ها ،یك رای گیری ساده انجام دهید.
رده بندی نهایی ، رده بندی ایخواهد بود كه درخت های مختلف آنرا پیش بینی كرده اند .
Boosting:
این مفهوم برای تولید مدلهای چندگانه (برای پیش بینی یا رده بندی)به كار میرود. Boosting نیزاز روش C&RT یا CHAID استفاده وترتیبی از classifier ها را تولید خواهد كرد .
Meta-Learning :
این مفهوم برای تركیب پیش بینیهای حاصل از چند مدل به كار میرود و هنگامی كه انواع مدلهای موجود در پروژه خیلی متفاوت هستند، كاربرد دارد.
فرض كنید كه پروژه داده كاوی شما شامل Tree classifierها نظیر C&RTو CHAID، تحلیل خطی و شبكه های عصبی است.
هر یك از كامپیوترها،رده بندی هایی رابرای نمونه هاپیش بینی كرده اند.
تجربه نشان میدهدكه تركیب پیش بینی های چند روش دقیق تراز پیش بینی های هریك از روشهاست.
پیش بینی های حاصل از چند classifier را می توان به عنوان ورودی meta-linear مورد استفاده قرار داد. meta-linear پیش بینی هارا تركیب می كند تا بهترین رده بندی پیش بینی شده حاصل شود.
گاهی درست در لحظه سقوط، فرصت پرواز هم هست،انتخاب با توست.🕊
سلام و صبح بخیر خدمت دوستان عزیز بیگ دیتا.☀️
روزی پر از سلامتی ،شادی، تندرستی برایتان آرزومندم.💥💫
امروز با یاد ایزد با مطالب پیرامون روش های تحلیل کلان داده ها در خدمت شما عزیزان هستم.🙏
در ضمن تحلیل آماری اینستاگرام برای کاربران فارسی که توسط استاد گرانقدر آقای مجتبی بنائی انجام شده در اختیار شما عزیزان قرار میدهم.
با تشکر از توجه شما 🌷
گلناز اردشیری
@BigDataTechnology
سلام و صبح بخیر خدمت دوستان عزیز بیگ دیتا.☀️
روزی پر از سلامتی ،شادی، تندرستی برایتان آرزومندم.💥💫
امروز با یاد ایزد با مطالب پیرامون روش های تحلیل کلان داده ها در خدمت شما عزیزان هستم.🙏
در ضمن تحلیل آماری اینستاگرام برای کاربران فارسی که توسط استاد گرانقدر آقای مجتبی بنائی انجام شده در اختیار شما عزیزان قرار میدهم.
با تشکر از توجه شما 🌷
گلناز اردشیری
@BigDataTechnology
روش های تحلیل کلان داده ها :
Bloom Filter
Hashing
Index
Triel
Parallel computing
هر یک را به متخصر بررسی میکنیم.
Bloom Filter
Hashing
Index
Triel
Parallel computing
هر یک را به متخصر بررسی میکنیم.
Bloom filter
بلوم فیلتر:
در کاربرد کلان داده هایی استفاده می شود که نرخ بازشناسی نادرست قطعی را اجازه میدهند.
در واقع یک آرایه بیتی و یک سری از توابع در هم ساز است.
قاعده کلی :
"ذخیره سازی مقادیر در هم داده ها به جای خود داده ها با استفاده از یک آرایه بیتی است."
مزایا :
کارایی بالا فضا
سرعت بالا پرس و جو
معایب :
نرخ بازنشانی نادرست قطعی
Certain misrecognition rate
دشواری در حذف
بلوم فیلتر:
در کاربرد کلان داده هایی استفاده می شود که نرخ بازشناسی نادرست قطعی را اجازه میدهند.
در واقع یک آرایه بیتی و یک سری از توابع در هم ساز است.
قاعده کلی :
"ذخیره سازی مقادیر در هم داده ها به جای خود داده ها با استفاده از یک آرایه بیتی است."
مزایا :
کارایی بالا فضا
سرعت بالا پرس و جو
معایب :
نرخ بازنشانی نادرست قطعی
Certain misrecognition rate
دشواری در حذف
Hashing
درهم سازی :
روشی که حجم زیادی از داده (احتمالاً حجم نامشخصی از داده) را به یک عدد طبیعی تبدیل کند یک تابع هش یا تابع درهمسازی میگویند.
عدد طبیعی حاصل از تابع درهمسازی معمولاً به عنوان اندیس یک آرایه مورد استفادهاست. مقادیری حاصل از این تابع را معمولاً مقدار هش یا فقط هش میخوانند.
توابع درهمسازی بیشتر برای سرعت بخشیدن در جستجوی جداول یا فشردهسازی دادهها استفاده میشوند مانند جستجوی چیزی در یک پایگاه داده، تشخیص رکوردهای تکراری در حجم زیاد داده یا کشیدگیهای مشابه در دنباله دیانای (DNA) و بسیاری کاربردهای مشابه.
درهم سازی :
روشی که حجم زیادی از داده (احتمالاً حجم نامشخصی از داده) را به یک عدد طبیعی تبدیل کند یک تابع هش یا تابع درهمسازی میگویند.
عدد طبیعی حاصل از تابع درهمسازی معمولاً به عنوان اندیس یک آرایه مورد استفادهاست. مقادیری حاصل از این تابع را معمولاً مقدار هش یا فقط هش میخوانند.
توابع درهمسازی بیشتر برای سرعت بخشیدن در جستجوی جداول یا فشردهسازی دادهها استفاده میشوند مانند جستجوی چیزی در یک پایگاه داده، تشخیص رکوردهای تکراری در حجم زیاد داده یا کشیدگیهای مشابه در دنباله دیانای (DNA) و بسیاری کاربردهای مشابه.
تحلیل آماری اینستاگرام برای کاربران فارسی – بخش اول
این مطلب توسط استاد مجتبی بنائی هفته پیش در وبسایت bigdata.ir انتشار داده شده است :
چند روز پیش مطلبی خواندم راجع به تحلیل آماری پستهای اینستاگرام و پاسخگویی به این سوال که آیا تعداد برچسب های در هر پست ، تاثیری در افزایش تعداد لایک ها دارد یا نه.
کنجکاو شدم که خودم یک تحلیل آماری روی اینستاگرام انجام بدهم و اطلاعات کاربران و پستها را در مرحله اول جمع آوری و در مرحله دوم آنها را تحلیل کنم و به سوالاتی از قبیل زیر بتوانم پاسخ آماری مناسبی پیدا کنم :
متوسط تعداد پستهای کاربران ایرانی در یک هفته چقدر است ؟
میزان لایک پستها با تعداد برچسب ها (هش تگ ها) ارتباطی دارد یا نه ؟
چه زمان از شبانه روز بیشترین فعالیت را در اینستاگرام داریم ؟
لایک کردن پستهای دیگران توسط یک کاربر، تاثیری در میزان لایک شدن پستهای او دارد یا نه؟
چه برچسب هایی بیشترین رواج را در بین ایرانیان دارند ؟
غیر از سلبریتی ها و افراد ، چه موضوعاتی بیشترین محبوبیت را در بین کاربران دارد ؟
کدام شهرهای ایران به نسبت جمعیتشان ، فعالیت بیشتری در اینستاگرام دارند ؟موضوع روز و داغ الان جامعه چیست ؟
موضوعات و سوالات مختلفی که می توان راجع به این شبکه اجتماعی مبتنی بر عکس که در ایران به صورت قانونی در حال فعالیت است ، پرسید و با جمع آوری و تحلیل داده های اینستاگرام، به آنها پاسخ گفت.
با چند پرسش و جوی ساده در اینترنت ، راه حل ساده ای برای استخراج اطلاعات پیدا کردم که در بخش اول این آموزش، این یافته ها را به همراه کدهای مورد نیاز و اطلاعاتی که جمع آوری کرده ام را در اختیار علاقه مندان قرار می دهم که بتوان به راحتی به جمع آوری داده پرداخت و در مرحله بعد روی آنها شروع به تحلیل نمود.
این مطلب توسط استاد مجتبی بنائی هفته پیش در وبسایت bigdata.ir انتشار داده شده است :
چند روز پیش مطلبی خواندم راجع به تحلیل آماری پستهای اینستاگرام و پاسخگویی به این سوال که آیا تعداد برچسب های در هر پست ، تاثیری در افزایش تعداد لایک ها دارد یا نه.
کنجکاو شدم که خودم یک تحلیل آماری روی اینستاگرام انجام بدهم و اطلاعات کاربران و پستها را در مرحله اول جمع آوری و در مرحله دوم آنها را تحلیل کنم و به سوالاتی از قبیل زیر بتوانم پاسخ آماری مناسبی پیدا کنم :
متوسط تعداد پستهای کاربران ایرانی در یک هفته چقدر است ؟
میزان لایک پستها با تعداد برچسب ها (هش تگ ها) ارتباطی دارد یا نه ؟
چه زمان از شبانه روز بیشترین فعالیت را در اینستاگرام داریم ؟
لایک کردن پستهای دیگران توسط یک کاربر، تاثیری در میزان لایک شدن پستهای او دارد یا نه؟
چه برچسب هایی بیشترین رواج را در بین ایرانیان دارند ؟
غیر از سلبریتی ها و افراد ، چه موضوعاتی بیشترین محبوبیت را در بین کاربران دارد ؟
کدام شهرهای ایران به نسبت جمعیتشان ، فعالیت بیشتری در اینستاگرام دارند ؟موضوع روز و داغ الان جامعه چیست ؟
موضوعات و سوالات مختلفی که می توان راجع به این شبکه اجتماعی مبتنی بر عکس که در ایران به صورت قانونی در حال فعالیت است ، پرسید و با جمع آوری و تحلیل داده های اینستاگرام، به آنها پاسخ گفت.
با چند پرسش و جوی ساده در اینترنت ، راه حل ساده ای برای استخراج اطلاعات پیدا کردم که در بخش اول این آموزش، این یافته ها را به همراه کدهای مورد نیاز و اطلاعاتی که جمع آوری کرده ام را در اختیار علاقه مندان قرار می دهم که بتوان به راحتی به جمع آوری داده پرداخت و در مرحله بعد روی آنها شروع به تحلیل نمود.
مهندسی داده
کلان داده (بیگ دیتا)، علم داده و هر آنچه راجع به داده است - مهندسی داده
وب سایت مهندسی داده : کلان داده (بیگ دیتا)، علم داده و هر آنچه راجع به داده است
پیش نیازها و ابزارهای لازم
در گام اول نیاز دارید که یک اکانت در اینستاگرام داشته باشید. بعد از ورود به اینستاگرام ، برای اینکه بتوانید به استخراج اطلاعات بپردازید، نیاز دارید که یک برنامه کاربردی در بخش توسعه گران اینستاگرام ایجاد کنید.
این کار را هم انجام دهید. آدرس سایت را هم می توانید یک آدرس غیر معتبر فعلاً وارد کنید هر چند برای کار حرفه ای با اینستاگرام ، حتما به یک آدرس معتبر نیاز خواهید داشت.
بعد از ساخت یک برنامه کاربردی در اینستاگرام ، شماره مشتری خود یا همان Client ID را جایی ذخیره کنید که با شماره مشتری ای که در فایلهای برنامه قرار داده ام ، جایگزین کنید .
کدها را با پایتون نوشته ام و اگر قصد تغییر در آنها و یا اجرای مجدد آنها را دارید، نیاز به نصب خود پایتون(نسخه ۲ یا ۳) و محیط برنامه نویسی پای چارم (که نسخه رایگان هم دارد ) را دارید.
اگر پایتون کار نکرده اید اصلا نگران نباشید، کدهای پایتون به قدری ساده هستند که با همین کدهای پروژه دستتان راه می افتد اما اگر می خواهید مروری بر پایتون داشته باشید، به منابعی که در این مقاله اشاره شده است، رجوع کنید. فقط یادتان باشد که در پایتون فضاهای خالی بسیار مهم هستند و یک اسپیس کم یا زیاد برنامه را دچار خطا می کند.
تنها کتابخانه ای که در این مرحله نیاز دارید نصب کنید کتابخانه langdetect و requests روی پایتون است که به کمک اولی، زبان یک متن را تشخیص می دهیم و ارسال درخواست به یک آدرس اینترنتی را هم با کمک کتابخانه دوم انجام میدهیم .
برای نصب آن هم در پای چارم وارد بخش تنظیمات شوید و در زیر منوی تنظیمات پروژه ، مفسر پروژه را انتخاب کنید (مفسر پروژه همان نسخه پایتونی است که قصد استفاده از آنرا دارید و روی سیستم شما نصب شده است) . اگر برای بار اول است که این صفحه را باز می کنید، یک پیام زرد رنگ در پایین پنجره نمایش داده می شود که به شما می گوید نیاز به نصب ابزارهای اولیه دارد . روی این پیام کلیک کنید تا عملیات نصب به صورت خودکار انجام شود.
در گام اول نیاز دارید که یک اکانت در اینستاگرام داشته باشید. بعد از ورود به اینستاگرام ، برای اینکه بتوانید به استخراج اطلاعات بپردازید، نیاز دارید که یک برنامه کاربردی در بخش توسعه گران اینستاگرام ایجاد کنید.
این کار را هم انجام دهید. آدرس سایت را هم می توانید یک آدرس غیر معتبر فعلاً وارد کنید هر چند برای کار حرفه ای با اینستاگرام ، حتما به یک آدرس معتبر نیاز خواهید داشت.
بعد از ساخت یک برنامه کاربردی در اینستاگرام ، شماره مشتری خود یا همان Client ID را جایی ذخیره کنید که با شماره مشتری ای که در فایلهای برنامه قرار داده ام ، جایگزین کنید .
کدها را با پایتون نوشته ام و اگر قصد تغییر در آنها و یا اجرای مجدد آنها را دارید، نیاز به نصب خود پایتون(نسخه ۲ یا ۳) و محیط برنامه نویسی پای چارم (که نسخه رایگان هم دارد ) را دارید.
اگر پایتون کار نکرده اید اصلا نگران نباشید، کدهای پایتون به قدری ساده هستند که با همین کدهای پروژه دستتان راه می افتد اما اگر می خواهید مروری بر پایتون داشته باشید، به منابعی که در این مقاله اشاره شده است، رجوع کنید. فقط یادتان باشد که در پایتون فضاهای خالی بسیار مهم هستند و یک اسپیس کم یا زیاد برنامه را دچار خطا می کند.
تنها کتابخانه ای که در این مرحله نیاز دارید نصب کنید کتابخانه langdetect و requests روی پایتون است که به کمک اولی، زبان یک متن را تشخیص می دهیم و ارسال درخواست به یک آدرس اینترنتی را هم با کمک کتابخانه دوم انجام میدهیم .
برای نصب آن هم در پای چارم وارد بخش تنظیمات شوید و در زیر منوی تنظیمات پروژه ، مفسر پروژه را انتخاب کنید (مفسر پروژه همان نسخه پایتونی است که قصد استفاده از آنرا دارید و روی سیستم شما نصب شده است) . اگر برای بار اول است که این صفحه را باز می کنید، یک پیام زرد رنگ در پایین پنجره نمایش داده می شود که به شما می گوید نیاز به نصب ابزارهای اولیه دارد . روی این پیام کلیک کنید تا عملیات نصب به صورت خودکار انجام شود.
بعد از این کار، از دکمه + که بالای صفحه مشاهده می کنید استفاده کنید تا وارد صفحه جستجوی کتابخانه ها شود. langdetect و requests را جستجو کرده و با زدن دکمه Install آنرا نصب کنید . (به شکل بالا رجوع کنید)
پروژه ایجاد شده را از این آدرس در گیت هاب دانلود کنید :
https://github.com/smbanaie/instagram_analysis
بهترین راه دانلود آن هم البته این است که اگر یک اکانت در گیت هاب دارید و با آن وارد گیت هاب شده اید ، بر روی دکمه Fork روی این مخزن کد کلیک کنید تا کدها به حساب کاربری شما منتقل شود سپس پروژه را روی سیستمتان کلون گرفته و آنرا با پای چارم باز کنید . به این ترتیب تغییرات شما هم می تواند مجددا به مخزن کد خودتان در گیت هاب منتقل شود .
برای شروع کار هر چه لازم داشته ایم ، آماده شده است.
پروژه ایجاد شده را از این آدرس در گیت هاب دانلود کنید :
https://github.com/smbanaie/instagram_analysis
بهترین راه دانلود آن هم البته این است که اگر یک اکانت در گیت هاب دارید و با آن وارد گیت هاب شده اید ، بر روی دکمه Fork روی این مخزن کد کلیک کنید تا کدها به حساب کاربری شما منتقل شود سپس پروژه را روی سیستمتان کلون گرفته و آنرا با پای چارم باز کنید . به این ترتیب تغییرات شما هم می تواند مجددا به مخزن کد خودتان در گیت هاب منتقل شود .
برای شروع کار هر چه لازم داشته ایم ، آماده شده است.
GitHub
smbanaie/instagram_analysis
instagram_analysis - some simple codes to start using instagram APIs.
آشنایی با توابع ایستاگرام – Instagram API
قبل از شروع به کار ، بد نیست نگاهی به اطلاعاتی که ایستاگرام در اختیار ما می گذارد بیندازیم . هر چند می توانیم از کتابخانه هایی که اینستاگرام برای زبانهای برنامه نویسی مختلف نوشته است استفاده کنیم اما چون اینستاگرام یک روش فراخوانی توابع به صورت REST هم در اختیار می گذارد و کافیست یک آدرس وب را فراخوانی کنیم تا اطلاعات عمومی یک کاربر خاص ، آخرین پستها راجع به یک برچسب ،آخرین پستهای یک کاربر ، افرادی که یک پست را لایک کرده یا کامنت گذاشته اند و … را به راحتی به دست بیاوریم . برای مشاهده لیست کامل توابعی که اینستاگرام در اختیار ما می گذارد به بخش نقاط فراخوانی یا EndPoints از منوی توسعه گران اینستاگرام مراجعه کنید .
مثلا برای مشاهده آخرین مطالبی که راجع به یک برچسب در ایستاگرام ارسال شده است، این نقطه فراخوانی را داریم :
https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN
که البته ما آنرا به صورت
https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN
فراخوانی می کنیم . مثلا برای یافتن آخرین پستهای راجع به آنفولانزایی که جدیداً شایع شده است این آدرس را فراخوانی می کنیم :
https://api.instagram.com/v1/tags/آنفولانزا/media/recent?client_id=baad7b9aa14041c5bb2dc1f9b477447c
که البته اگر روی آن کلیک کنید اطلاعات را به صورت جی سان و نامرتب مشاهده می کنید .
توصیه می کنم برای مشاهده خروجی این نقاط فراخوانی حتما از افزونه Postman در مرورگر کروم استفاده کنید تا خروجی را به این شکل مشاهده کنید و بتوانید هر درخواست را با توضیح مناسب برای مراجعات بعدی خودتان ذخیره کنید .
قبل از شروع به کار ، بد نیست نگاهی به اطلاعاتی که ایستاگرام در اختیار ما می گذارد بیندازیم . هر چند می توانیم از کتابخانه هایی که اینستاگرام برای زبانهای برنامه نویسی مختلف نوشته است استفاده کنیم اما چون اینستاگرام یک روش فراخوانی توابع به صورت REST هم در اختیار می گذارد و کافیست یک آدرس وب را فراخوانی کنیم تا اطلاعات عمومی یک کاربر خاص ، آخرین پستها راجع به یک برچسب ،آخرین پستهای یک کاربر ، افرادی که یک پست را لایک کرده یا کامنت گذاشته اند و … را به راحتی به دست بیاوریم . برای مشاهده لیست کامل توابعی که اینستاگرام در اختیار ما می گذارد به بخش نقاط فراخوانی یا EndPoints از منوی توسعه گران اینستاگرام مراجعه کنید .
مثلا برای مشاهده آخرین مطالبی که راجع به یک برچسب در ایستاگرام ارسال شده است، این نقطه فراخوانی را داریم :
https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN
که البته ما آنرا به صورت
https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN
فراخوانی می کنیم . مثلا برای یافتن آخرین پستهای راجع به آنفولانزایی که جدیداً شایع شده است این آدرس را فراخوانی می کنیم :
https://api.instagram.com/v1/tags/آنفولانزا/media/recent?client_id=baad7b9aa14041c5bb2dc1f9b477447c
که البته اگر روی آن کلیک کنید اطلاعات را به صورت جی سان و نامرتب مشاهده می کنید .
توصیه می کنم برای مشاهده خروجی این نقاط فراخوانی حتما از افزونه Postman در مرورگر کروم استفاده کنید تا خروجی را به این شکل مشاهده کنید و بتوانید هر درخواست را با توضیح مناسب برای مراجعات بعدی خودتان ذخیره کنید .