<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات شرکت علم داده ارزیاب</title>
        <link>https://virgool.io/ArzyabDataScienceCompany/feed</link>
        <description>خانواده ارزیاب بنا به ارزش های خود مبتنی بر دانش و خلاقیت از افراد با دانش آکادمیک آمار، کامپیوتر و گرایش در حوزه های مختلف علم داده تشکیل شده تا با تکیه بر دانش علم داده، خدمات نوین در جهت بهبود کسب‌وکار‌ ها ارائه دهد.</description>
        <language>fa</language>
        <pubDate>2026-06-17 01:35:00</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/assowzrg41pd/wwqb1c.png</url>
            <title>شرکت علم داده ارزیاب</title>
            <link>https://virgool.io/ArzyabDataScienceCompany</link>
        </image>

                    <item>
                <title>معرفی روش های کاهش ابعاد در تحلیل داده و یادگیری ماشین</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/introduction-to-dimensionality-reduction-mhscflrlclur</link>
                <description>اگر مطلب «داده کاوی چیست؟» رو خونده باشید؛ بعد از پاکسازی داده ها یا همون Data Cleaning یه مرحله‌ای وجود داره به اسم کاهش ابعاد. اول از همه بگم توی همه‌ی مراحل داده کاوی لزومی نداره که به فکر کاهش ابعاد باشیم. این که «کاهش ابعاد چیه؟» و «کاربردش کجاست؟» موضوع این مطلب از انتشارات علم داده ارزیاب هست. بعد از پرداختن به این سوالات هم قراره به انواع مختلف روش های کاهش ابعاد یه نگاه کلی کنیم.کاهش ابعاد یکی از مراحل مهم در تحلیل داده و پیاده سازی مدل های آماری و ماشین لرنینگی هست.? این مطلب به درد کیا می‌خوره؟قبل ازین که وارد مطلب بشم باید این نکته رو بگم که این مطلب کمی تخصصی هست و پیش زمینش اینه که برخی از اصطلاحات تخصصی مدل سازی رو بدونید و یا مراحل کلی یادگیری نظارتی رو بلد باشید. اگه حتی مقداری ازین مطالب رو می‌دونید این مطلب براتون کاربردی خواهد بود. وقتی داشتم این مطلب رو می‌نوشتم هدفم بچه های آمار، ریاضی، علوم کامپیوتر و کسایی که با یادگیری ماشین آشنایی دارن، بودن. اما در برنامم هست که حتما اصطلاحات پایه‌ای تر رو توضیح بدم و در ادیشن های بعدی این مطلب لینکش رو قرار بدم.بهرحال سعی کردم خیلی ساده بنویسم و هرکی آشنایی کلی با مدل سازی داره احتمالا بتونه استفاده کنه از مطلب.کاهش ابعاد یا Dimensionality Reduction چیه و کجا کاربرد داره؟فرض کنید با یه پروژه تحلیل داده سر و کار دارید که تعداد متغیراش زیاده. مثلا یکی از مجموعه داده هاش حدود 100 تا متغیر داره و شما باید روی این مجموعه داده و مجموعه داده های مرتبط با این(که شاید تعداد متغیر هاش همین قدر زیاد باشه) کار کنید و مراحل هرم دانش رو پیاده سازی کنید. قطعا یکی از چالش هایی که وجود داره توی تحلیل این نوع مجموعه های داده؛ اینه که مدل هایی که قراره روش پیاده سازی بشه شاید بهینه نباشه. هم از نظر ریسورس و منابع با یه سری چالش مواجه می‌شید هم از نظر پیاده سازی مدل ها(چه آماری باشه چه ماشین لرنینگی). درواقع با افزایش تعداد متغیر ها، مدل پیچیده‌تر می‌شه. هرچی تعداد متغیر ها بیشتر باشه، احتمال بیش برازش یا Overfitting هم بالا می‌ره و این در مدل سازی چیز خوبی نیست. مخصوصا اگه مدلتون ماشین لرنینگی باشه؛ چون یه مدل ماشین لرنینگی که با تعداد زیادی متغیر آموزش دیده، به طور چشمگیری به همون داده‌ هایی که روی اون آموزش داده شده، وابسته می‌شه و به نوبه خود دچار بیش برازش می‌شه. در نتیجه‌ی این بیش برازش، مدل عملکرد ضعیفی روی داده‌های واقعی داره و نمی‌تونه به هدف اصلیش که شامل تحلیل و پیش‌بینی داده های واقعی هست؛ برسه.انگیزه اصلی برای انجام کاهش ابعاد، اجتناب از بیش برازش یا Overfitting هست. هرچی داده‌های آموزشی ما متغیر های کمتری داشته باشه، مفروضات مدل ما کمتر و ساده‌تر خواهد بود. اما این همه چیز نیست و کاهش ابعاد مزایای بسیار بیشتری برای ارائه داره، مثلا:1. داده های گمراه کننده کمتر می‌شه به این معنی که دقت مدل بهبود پیدا می‌کنه.2. ابعاد کمتر به معنای محاسبات کمتره. داده‌ های کمتر به این معنیه که الگوریتم‌ها سریع‌تر اجرا می‌شن یا یاد می‌گیرند.3. داده کمتر به معنای فضای ذخیره سازی کمتر هست.خب حالا که یکم با دردسرای مدل زدن روی دیتاست ها با متغیر های زیاد آشنا شدید و درک کردید که چرا مدل با تعداد متغیر بالا دچار بیش برازش می‌شه؛ باید بگم خبر خوب اینه که شما مجبور نیستید که مدل ها رو روی همه‌ی متغیر های مجموعه داده یا دیتاست‌تون پیاده سازی کنید.درواقع کار کاهش ابعاد اینه که  تعداد متغیر های دیتاست رو کم کنه؛ به طوری که کمترین اطلاعات رو از اون دیتاست از دست بدیم.چطوری؟ خب راه های مختلفی وجود داره برای این کار. بیشتر به این سوال بستگی داره که «نوع دیتاست شما چیه؟» در ادامه مطلب قراره به این سوال بپردازیم: «چطوری متغیر ها رو برای کاهش بعد انتخاب کنیم؟»و همینطور چندین روش کاهش بعد رو معرفی می‌کنیم.روش انتخاب متغیر برای کاهش ابعادانتخاب متغیر یک فرایند شناسایی هست که به انتخاب &quot;متغیر های مرتبط&quot; برای نمونه شما کمک می‌کنه. توی این فرایند به صورت دستی متغیر های جدید از متغیر های موجود ساخته میشه؛ به بیانی دیگه  با اعمال تغییر یا انجام برخی عملیات روی متغیر های موجود، این متغیر های جدید ایجاد می‌شه.انتخاب متغیر می‌تونه به صورت دستی یا برنامه‌ای انجام بشه. مثلا در نظر بگیرید که در حال تلاش برای ساخت مدلی هستید که وزن افراد رو پیش‌بینی می‌کنه و مجموعه بزرگی از داده‌ها جمع‌آوری شده که هر فرد رو کاملاً توصیف می‌کنه. اگه متغیری داشتید که رنگ مورد علاقه هر فرد رو توصیف می‌کرد، آیا برای پیش بینی وزن اون ها کمک زیادی می‌کرد؟ فکر می‌کنم با خیال راحت می‌تونیم توافق کنیم که این طور نخواهد بود؛ درواقع متغیر رنگ مورد علاقه افراد متغیریه که ما می‌تونیم بدون هیچ مشکلی کنار بذاریم. اما در مورد متغیری که طول قد افراد رو توصیف می‌کرد چطور؟ قطعا همه ما می‌دونیم یک رابطه واضحی بین قد و وزن افراد وجود داره و متغیر طول قد یک متغیر اساسی در مدل ما خواهد بود. زمانی که مرتبط یا نامرتبط بودن متغیر های خاص آشکار باشه، می‌تونیم این متغیر های ساده و واضح رو به صورت دستی انتخاب کنیم و ابعاد مجموعه داده رو کاهش بدیم. اما اگه مرتبط بودن یا نبودن اون متغیر به سادگی واضح و قابل درک نباشه چی؟ در این مواقع ابزار های زیادی وجود داره که می‌تونیم برای کمک به انتخاب متغیر هامون استفاده کنیم. ابزاری مثل نقشه حرارتی یا heatmap یا نمودار هایی که همبستگی بین متغیر ها رو نشون میده. البته این نکته رو باید اضافه کنم که ممکنه این همبستگی ها غیر خطی باشه و با نمودار زیاد نشه ارتباطشون رو درک کرد.برای این که زیاد از بحث اصلی دور نشیم این مبحث که «چطور از راه برنامه نویسی رابطه‌ی بین متغیر ها رو درک کنیم و متوجه بشیم؟» رو باز نمی‌کنم. ولی اگه با پایتون کار می‌کنید گوشه ذهنتون باشه می‌تونید این متد کاهش بعد رو با استفاده از کتابخونه scikit-learn به کار ببرید. اگه فرصتی بشه حتما یه مطلب دربارش می‌نویسم.روش های کاهش بعد خطیرایج ترین و شناخته شده ترین روش های کاهش بعد؛ متد هایی هستند که تبدیل های خطی رو اعمال می‌کنن. خیلی خلاصه و مختصر و مفید بخوام معرفی کنم این سه تا متد جزء روش های کاهش بعد خطی هستند:روش تجزیه مولفه های اصلی یا PCA که مخفف Principal Component Analysis هست.تحلیل عاملی یا Factor Analysisتحلیل تشخیصی خطی یا LDA که مخفف Linear Discriminant Analysis هست.اما هر کدوم ازین سه متد کجا کاربرد دارند؟     1) روش تجزیه مولفه های اصلی یا PCA کجا کاربرد داره؟تجزیه مولفه های اصلی معمولاً برای کاهش ابعاد در داده های پیوسته استفاده می‌شه؛ PCA به این صورت عمل می‌کنه که داده ها رو در جهتی که واریانس‌شون افزایش پیدا کنه می‌چرخونه و متغیر های جدیدی که با حداکثر واریانس متغیر ها یا اجزای اصلی هستند رو  برآورد می‌کنه.     2) کاربرد روش تحلیل عاملی یا Factor Analysis کجاست؟روش تحلیل عاملی یه تکنیکیه که برای کاهش تعداد زیادی از متغیر ها به تعداد متغیر کمتر استفاده می‌شه و متغیر جدیدی لزوما اضافه نمی‌شه. توی این روش اول یک یا چند متغیر که می‌خوایم تحلیلش کنیم یا پایه مدل‌مون قرار بدیم انتخاب می‌شه که به این متغیر ها، متغیر مستقل می‌گن. در ادامه متغیر های دیگه به‌ عنوان متغیر های وابسته انتخاب می‌شن و ما رابطه بین متغیر های مستقل و متغیر های وابسته رو مطالعه می‌کنیم تا مهم‌ترین و مرتبط ترین متغیر های وابسته رو پیدا کنیم. توی این روش مهمه که بدونین فرض بر اینه که داده ها تصادفی باشن و از توزیع نرمال پیروی کنن.     3) روش تحلیل تشخیصی خطی یا LDA رو کجا باید به کار ببریم؟در روش LDA داده ها به گونه ای براورد می‌شن که تفکیک پذیری هر طبقه به حداکثر برسه. در این متد مشاهده ها از یک طبقه با استفاده از براورد، نزدیک به هم و  مشاهده ها از طبقه های مختلف دور از هم قرار می‌گیرن.روش‌های کاهش بعد غیر خطیروش‌های تبدیل غیرخطی یا روش‌های یادگیری چندگانه در کاهش بعد، وقتی استفاده می‌شن که داده‌ها در یک زیرفضای خطی قرار نگیرن. این روش ها بر پایه فرضیه منیفولد(manifold hypothesis) هستند که می‌گه در یک ساختار با ابعاد بالا، بیشتر اطلاعات مرتبط در تعداد کمی از منیفولد ها با ابعاد پایین متمرکز می‌شه. یک مثال ساده از منیفولد غیرخطی این می‌تونه باشه که اگر یک ورق کاغذ رول شده رو در نظر بگیرید، یک صفحه کاغذ مسطح  می‌تونه یک زیرفضای خطی ازون باشه.مثال معروف کاغذ رول شدهخب برای این که از بحث زیاد دور نشیم من فقط چندین روش کاهش بعد غیرخطی رو نام می‌برم تا اگه علاقه‌مند هستید که بیشتر دربارش بدونین راجع بهش سرچ کنید. چون خودم &quot;فعلا&quot; تسلط کافی ندارم و فکر نکنم به خوبی بتونم ارائه بدم و حق مطلب رو ادا کنم. البته اگه منبع خوبی برای شرح هر کدوم از این متد ها پیدا کردم حتما به اشتراکش می‌گذارم. اگه شما هم منبع خوبی می‌شناسین یا مطلبی که به خوبی پرداخته به این مباحث زیر همین پست کامنت کنید. امیدوارم فرصت شه و بیشتر دربارش بخونم و ریسرچ کنم. برخی از روش های محبوب کاهش بعد غیر خطی عبارتند از:Multi-dimensional scaling (MDS)Isometric Feature Mapping (Isomap)Locally Linear Embedding (LLE)Hessian Eigenmapping (HLLE)t-distributed Stochastic Neighbor Embedding (t-SNE)خب به عنوان بخش پایانی باید بگم این مطلب خیلی جامع نوشته شده و قصدم از نوشتن این مطلب این بود که بتونم به شما روش کاهش بعد PCA رو در مطالب بعدی معرفی کنم. درواقع این مطلب مقدمه و پیش زمینه‌ای برای معرفی روش تجزیه مولفه های اصلی هست.امیدوارم عمری بمونه و بتونم به صورت کامل درباره PCA بنویسم و در انتشارات شرکت علم داده ارزیاب به اشتراک بگذارم :)</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Sun, 21 Nov 2021 13:30:22 +0330</pubDate>
            </item>
                    <item>
                <title>پاکسازی داده یا Data Cleaning چیست؟ چطوری باید داده هامون رو تمیز کنیم؟</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%BE%D8%A7%DA%A9%D8%B3%D8%A7%D8%B2%DB%8C-%D8%AF%D8%A7%D8%AF%D9%87-%DB%8C%D8%A7-data-cleaning-%DA%86%DB%8C%D8%B3%D8%AA-%DA%86%D8%B7%D9%88%D8%B1%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%D9%85%D9%88%D9%86-%D8%B1%D9%88-%D8%AA%D9%85%DB%8C%D8%B2-%DA%A9%D9%86%DB%8C%D9%85-kqbstsz2kh0w</link>
                <description>قبل‌تر در مطلب «داده کاوی چیست؟» به اهمیت پاکسازی داده ها اشاره کرده بودیم. درواقع پاکسازی داده یا تمیز کردن داده یکی از مراحل اساسی و پایه‌ای تحلیل مجموعه داده هاست. چرا که اگر پایه‌ای ترین مرحله به درستی طی نشه بنابراین آنالیز هایی که در مراحل بعدی ارائه میشه قابل استناد نیست و نتیجه درستی ارائه نمیشه. پس توی این مطلب از انتشارات شرکت علم داده ارزیاب قصد داریم پاکسازی داده ها رو توضیح بدیم و قدم های کلی تمیز کردن داده ها رو معرفی کنیم.به اعتقاد خیلی از دیتاساینتیست ها 80 درصد فرایند تجزیه تحلیل داده، پاکسازی داده ها هست.پاکسازی داده ها یا Data Cleaning چیست؟قبل ازین که به مفهوم پاکسازی داده بپردازیم؛ اجازه بدید اول ازین سوال شروع کنیم: چرا به پاکسازی داده نیاز داریم؟شما به عنوان یک دیتاساینتیست یا تحلیلگر داده قطعا نیاز دارید با چندین مجموعه داده کار کنید و خیلی وقت ها اون ها رو باهم ادغام کنید(مثل مثالی که توی مطلب «داده کاوی چیست؟» براتون اوردم). هنگام ترکیب و ادغام چندین مجموعه داده، احتمال زیادی برای تکرار یا نامناسب بودن مشاهدات وجود داره. طبیعتا اگر داده ها نادرست باشن، نتایج و الگوریتم ها، حتی اگر به نظر درست برسند، غیر قابل اعتماد هستند. قبل از ارائه تعریف باید بگم هیچ راه مطلق برای تجویز مراحل دقیق فرآیند پاکسازی داده وجود نداره. چون ساختار مجموعه های داده باهم فرق داره و فرایند پاکسازی از مجموعه داده به مجموعه داده‌ای دیگر متفاوت خواهد بود. با این وجود ایجاد الگویی برای فرایند پاکسازی اطلاعات بسیار مهمه تا بتونید متوجه بشید که هر بار این روش رو به درستی انجام می‌دید.خب حالا پاکسازی داده چیه؟به فرآیند رفع یا حذف داده های نادرست، خراب، با قالب‌بندی اشتباه، کپی یا ناقص در یک مجموعه داده، پاکسازی داده می‌گویند.در ادامه مطلب قصد دارم یک الگوی کلی از پاکسازی داده رو معرفی کنم.چگونه داده ها را پاکسازی کنیم؟همونطور که گفتیم ممکنه تکنیک های مورد استفاده برای تمیز کردن داده ها با توجه به انواع داده های ذخیره شده در شرکت شما(یا شرکت کارفرمای شما) متفاوت باشه، اما می‌تونید برای ترسیم چارچوبی کلی در سازمان خود این مراحل اساسی را دنبال کنید:1️⃣ قدم اول: مشاهدات تکراری یا غیرمرتبط را حذف کنیدمشاهدات ناخواسته از جمله مشاهدات تکراری یا مشاهدات بی ربط را از مجموعه داده های خود حذف کنید. ثبت مشاهدات تکراری در مجموعه داده اکثرا در هنگام جمع‌آوری اطلاعات اتفاق می‌افته. هنگامی که مجموعه داده ها را از چندین بخش(برای مثال داده های بخش فروش و بخش رضایت سنجی مشتری) جمع‌آوری می‌کنید تا با یکدیگر ادغام کنید، یا داده ها را تراش می‌دید(منظور همون data scraping هست) یا از مشتری و چندین بخش دیگر داده دریافت می‌کنید، احتمال ایجاد داده های تکراری در مجموعه داده شما وجود داره. حذف داده های تکراری یکی از کار های مهمیه که در این مرحله فرآیند مورد توجه قرار می‌گیره.داده های بی ربط هنگامی رخ می‌ده که مشاهده هایی رو پیدا می‌کنید که در مسئله خاصی که می‌خواهید تجزیه و تحلیل کنید، نمی‌گنجه. به عنوان مثال، اگر در مساله‌ای شما می‌خواید داده های مربوط به مشتریان زیر سن 50 سال را تجزیه و تحلیل کنید، اما مجموعه داده های شما شامل سنین بالای 50 سال نیز هست، ممکنه این مشاهدات برای مطالعات شما بی‌ربط باشند. حذف داده های بی‌ربط می‌تونه تجزیه و تحلیل رو کارآمدتر کنه و حواس پرتی از هدف اصلی شما رو به حداقل برسونه؛ همچنین یک مجموعه داده قابل کنترل‌تر و کاربردی‌تر ایجاد می‌کنه.2️⃣ قدم دوم: رفع خطا های ساختاریخطا های ساختاری زمانی رخ می‌ده که داده ها رو اندازه‌گیری می‌کنین یا انتقال می‌دید و متوجه می‌شید که نام‌گذاری های عجیب یا اشتباه تایپی در مجموعه داده وجود دارد. این ناسازگاری ها می‌تونن دسته ها یا کلاس های بدون برچسب ایجاد کنند. به عنوان مثال، ممکنه با مشاهداتی مواجه بشید که متغیر آن مقدار &quot;NA&quot; و &quot;Not Applicable&quot; رو اختیار کرده، اما توجه داشته باشید که این دو نوع مشاهدات درواقع یک معنی رو می‌ده و باید به عنوان یک رسته تجزیه و تحلیل بشه. پس همه مشاهداتی که برخی متغیر های آنان بدون برچسب هستند باید یک مقدار مشخص رو اختیار کنند برای مثال همه باید &quot;NA&quot; شوند.3️⃣ قدم سوم: داده های دور افتاده نامطلوب را فیلتر کنیداول از همه بیایم به این سوال بپردازیم: داده دور افتاده چیه؟در مجموعه داده، داده دور افتاده مشاهده‌ای است که در &quot;یک فاصله غیرعادی&quot; از سایر مقادیر در یک نمونه تصادفی از یک جامعه قرار دارد.یه مثال خیلی ساده می‌تونه این باشه که در متغیر سن در مجموعه داده شما عدد 200 ثبت شده باشه. خب قطعا هممون می‌دونیم که در این دوره زمونه انسان 200 ساله‌ای وجود نداره و این داده احتمالا یک داده دور افتاده هست که احتمالا در ثبتش خطایی رخ داده. یه مثال دیگه هم این می‎‌تونه باشه: فرض کنید یه مجموعه داده از نظرسنجی مشتریان دارید که از سنین مختف در جامعه تهران درباره خدمات یک مجموعه تفریحی سوال پرسیده شده. شما متغیر های مختلفی از جمله جنیست، سن و سطح تحصیلات دارید. دارید به دیتاست نگاه می‌کنید که ناگهان به این مشاهده برمی‌خورید: زهرا 9 ساله دارای مدرک فوق‌لیسانس. خب قطعا این مشاهده یه جای کارش می‌لنگه و نمی‌تونه درست باشه یا زهرا 9 سالش نیست یا مدرک زهرا فوق لیسانس نیست.اکثرا در تجزیه و تحلیل هر مجموعه داده‌ای مشاهداتی وجود دارن که  در یک نگاه کلی به نظر نمی‌رسه در داده هایی که تحلیل می‌کنید جایی داشته باشند. اگر دلیل موجهی برای فیلتر کردن یک داده دور افتاده دارید، مانند ثبت نادرست داده ها، این کار رو حتما انجام بدید. انجام این کار به عملکرد بهتر داده هایی که با اون ها کار می‌کنید کمک می‌کنه. بهرحال طبق تجربیات من گاهی اوقات ظاهر یک داده دور افتاده به نظر می‌رسه ولی نظریه‌ای رو که شما روی اون کار می‌کنید؛ ثابت می‌کنه.?این نکته مهم رو حتما در ذهنتون داشته باشید: صرفاً وجود یک داده دور افتاده، به معنی نادرست بودن اون نیست. این مرحله برای تعیین اعتبار مجموعه داده لازمه. اگر ثابت شد که یک داده دور افتاده برای تجزیه و تحلیل بی ربط یا اشتباه هست، حذف اون رو در نظر بگیرید.4️⃣ قدم چهارم: رسیدگی به داده های گمشدهداده های گمشده چه صیغه‌ای اند دیگه؟داده یا مقدار گمشده وقتی اتفاق می‌افته که متغیر در مشاهده‌ای خاص مقداری رو اختیار نکرده. به بیانی ساده‌تر مشاهده در اون ستون بدون مقدار یا خالی ثبت شده.خب قطعا توی هر مجموعه داده مشاهداتی هستند که برخی یا اکثر متغیر های اون ها خالی رد شده باشند و دارای هیچ مقداری نباشند. شما به عنوان دیتاساینتیست یا تحلیل‌گر داده نمی‌تونید داده های گمشده رو نادیده بگیرید؛ چون خیلی از الگوریتم ها مقادیر گمشده را نمی‌پذیرند و اجرایی نمی‌شن. چند روش برای مقابله با داده های گمشده وجود داره. هیچ کدوم‌شون بهینه نیستند، اما می‌شه اون ها رو در نظر گرفت:?به عنوان اولین گزینه می‌تونید مشاهداتی را که مقادیر از دست رفته دارند در نظر نگیرید، اما انجام این کار باعث کاهش یا از دست رفتن اطلاعات می‌شه، بنابراین قبل از حذف، این مورد رو که اطلاعات از دست می‌دید حتما بخاطر داشته باشید.?به عنوان گزینه دوم، می‌تونید مقادیر گمشده رو بر اساس مشاهدات دیگر وارد کنید. چطور؟ مثلا میانگین بقیه داده ها در اون متغیر خاص رو جایگزین مقادیر گمشده کنید. در این گزینه باز هم احتمال از دست دادن یکپارچگی داده ها وجود داره؛ چون ممکنه شما روی پیش‌فرض ها و نه مشاهدات واقعی کار کنید.?به عنوان گزینه سوم، ممکنه نحوه استفاده از داده ها برای هدایت موثر مقادیر گمشده رو تغییر بدید.5️⃣ قدم پنجم: اعتبارسنجی و اطمینان از کیفیت مجموعه دادهدر پایان فرایند پاکسازی داده ها، باید بتونید به عنوان بخشی از اعتبارسنجی اساسی به این سوالات پاسخ دهید:❓ آیا داده ها منطقی هستند؟❓ آیا داده ها از قوانین مناسب در حوزه خود پیروی می‌کنند؟❓ آیا این داده ها تئوری کار شما رو اثبات یا رد می‌کنه یا بینشی رو براتون بوجود میاره؟❓آیا می‌تونید روند داده ها رو پیدا کنید تا به شما در شکل‌گیری نظریه بعدی‌تون کمک کند؟❓در غیر این صورت، دلیل این همه نه‌ای که در جواب به سوالات بالا گفتید می‌تونه مسئله کیفیت داده باشه؟نتیجه گیری نادرست به دلیل داده های نادرست یا &quot;داده کثیف&quot; می‌تونه باعث چینش استراتژی بد و تصمیم‌گیری ضعیف در کسب و کار بشه و امیدوارم هیچ وقت اینو تجربه نکنید که نتیجه‌گیری های نادرست منجر به لحظه‌ای شرم‌آور در جلسه گزارش بشه. قبل از رسیدن به چنین نقطه‌ای، ایجاد فرهنگ داده های با کیفیت در سازمان مهمه.خب شاید براتون این سوال پیش بیاد که داده های باکیفیت چه ویژگی هایی دارند؟5 ویژگی داده های با کیفیتاعتبار: میزان مطابقت داده های شما با قوانین یا محدودیت های تجاری مشخص شده.دقت: اطمینان حاصل کنید که داده های شما به مقادیر واقعی نزدیک هستند.کامل بودن: درجه‌ای که تمام داده های مورد نیاز شناخته شده است.ثبات: اطمینان حاصل کنید که داده های شما در یک مجموعه داده و یا در چندین مجموعه داده سازگار هست.یکنواختی: درجه تعیین شدن داده با استفاده از یک واحد اندازه‌گیری مشخص.نکاتی تجربی برای پاکسازی داده?شاید اولین سوالی که پیش بیاد براتون بعد این که تا اینجای مطلب رو خوندید این باشه که از چه ابزاری باید برای پاکسازی داده استفاده کنیم؟ خب باتوجه به نوع مجموعه داده هاتون از یک یا چند ابزار باید استفاده کنید که شامل نرم افزار هایی مثل اکسل، زبان SQL و زبان های برنامه نویسی از جمله پایتون میشه. شما در هرچیزی که مهارت بیشتری دارید می‌تونید از همون استفاده کنید. من خودم معمولا از ترکیبی از اکسل و پایتون استفاده می‌کنم. مزایا و معایب خودش رو داره. ولی خب پروژه هایی هم بوده که از SQL هم استفاده کردم.?یه نکته‌ی کاربردی این هست که هر مرحله که پاکسازی می‌کنید داده ها رو(اگه روی بیگ دیتا کار نمی‌کنید و براتون مقدوره) یک نسخش رو داشته باشید تا اگه در یک مرحله اشتباه کردید راحت‌تر متوجه بشید و بتونید درستش کنی. البته که نسخه اصلی دیتا رو همیشه دست نخورده یک گوشه داشته باشید.?نکته آخر برای کسایی هست که با مجموعه داده های بزرگی سر و کار دارند و فرایند پاکسازی سخت‌تر هست و  پروژشون نیازمند زیرساخت های قوی‌تری هست. توی اینجور داده ها می‌تونید اول یه نمونه کافی و تصادفی از مجموعه داده ها بگیرید و اون رو بشناسید و با اون نمونه کوچیک دوست شید؛ فرایند پاکسازی رو روی اون انجام بدید. بعد که با تمام فرایند پاکسازی آشنا شدید می‌تونید این فرایند رو به وسیله زبان های برنامه نویسی اتومات کنید و روی همه دیتا پیاده سازی کنید. البته باید در نظر داشته باشید که دیتای آخر چقدر دارای اعتبار هست. توی این روش این مهم هست که چند نمونه بگیرید و به یک روش تصادفی این نمونه رو از دیتای کل استخراج کنید.سخن آخرتوی این مطلب از انتشارات شرکت علم داده ارزیاب سعی کردم دیدگاهی کلی از پاکسازی داده رو ارائه و مراحل کلیش رو توضیح بدم. بازم میگم دیتا کیلینینگ یا همون پاکسازی داده ها از مجموعه داده به مجموعه داده‌ای دیگه متغیره ولی مراحل کلیشون مشترکه. ممکنه توی یه مجموعه داده چندین مرحله اضافه‌تر داشته باشه و یکی دیگه اینطور نباشه. بهرحال این مهمه که قبل از شروع نگاهی کلی به مجموعه داده هاتون داشته باشید و باهاشون دوست بشید :) این مطلب از مجموعه سری «داده کاوی چیست؟» هست و اگر عمری باقی بمونه ادامه‌ی این سری رو در مطالب بعدی خواهم نوشت.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Wed, 28 Jul 2021 12:09:20 +0430</pubDate>
            </item>
                    <item>
                <title>پیاده سازی الگوریتم های لوید و فورجی - قسمت دوم(مجموعه داده Diamond)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D9%84%D9%88%DB%8C%D8%AF-%D9%88-%D9%81%D9%88%D8%B1%D8%AC%DB%8C-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-diamond-r1bijbdr1lda</link>
                <description>در مطالب قبلی از سری مباحث خوشه‌بندی  در انتشارات شرکت علم داده ارزیاب  به تئوری الگوریتم های خوشه‌بندی K-means پرداختیم. در قسمت اول پیاده سازی الگوریتم های لوید و فورجی نیز یک مثال آموزشی بر روی مجموعه داده‌ی Iris که یکی از ساده‌ترین و معروف‌ترین دیتاست های خوشه بندی هست رو مشاهده کردیم. در این مطلب قصد داریم دو الگوریتم لوید و فورجی را بر روی مجموعه داده الماس پیاده سازی و مقایسه کنیم. قبل ازین که مطلب رو شروع کنم باید بگم مراحل خوشه‌بندی در این جا هم تقریبا مثل مجموعه داده Iris هست با این تفاوت که یک چالشی در خوشه‌بندی مجموعه داده الماس یا همون diamond وجود داره که باعث میشه تا یک قدم در خوشه‌بندی داده های  تجاری و بیزنسی حرفه‌ای تر بشیم. پس قراره در این مطلب بیشتر به این چالش بپردازیم.قسمت دوم پیاده سازی الگوریتم های لوید و فورجی - مجموعه داده Diamondسری مباحث خوشه بندیدر ابتدا لازم می‌دونم بگم این مطلب جزء مطالب تخصصی‌تر هست و اگه دوست دارید پایه‌ای‌تر این مبحث رو دنبال کنید بهتون پیشنهاد می‌کنم سلسه زیر رو به ترتیب بخونید و البته اگه هم با مطلبی آشنایی دارید می‌تونید برید مطلب بعدی که براتون تازه‌تر هست:1- یادگیری ماشین و مدل سازی آماری(شباهت ها و تفاوت ها)2- یادگیری تحت نظارت و بدون نظارت در یادگیری ماشین در سه دقیقه3- خوشه بندی چیست و چگونه عمل می‌کند؟4- معرفی روش خوشه بندی K-means5- الگوریتم های خوشه بندی لوید و فورجی(K-means)6- الگوریتم های خوشه بندی هارتیگان-ونگ و مک‌کوئین (K-means)7- پیاده سازی الگوریتم های لوید و فورجی - قسمت اول (مجموعه داده Iris)معرفی مجموعه داده الماس یا Diamondدومین مجموعه داده‌ای که به منظور پیاده سازی الگوریتم های لوید و فورجی در مبحث الگوریتم های خوشه‌بندی K-means مورد استفاده قرار گرفته؛ مجموعه داده الماس هاست. این مجموعه داده از 9 متغیر که ویژگی الماس ها را ثبت کرده؛ تشکیل شده است. قابل ذکر است که این مجموعه داده شامل 53940 مشاهده است و جدول زیر خلاصه از اطلاعات این متغیر ها را شرح می‌دهد:تصویر1: جدول معرفی دیتاست الماس ها(توی پرانتز اگه نمی‌دونید مجموعه داده یا دیتاست چیه یه سر به «مطلب داده کاوی چیست؟» بزنید?)که نام متغیر ها به انگلیسی به ترتیب جدول از چپ به راست عبارتند از:Carat, Cut, Color, Clarity, Price, x, y, z, Depthبرای درک بهتر این دیتاست هم 6 مشاهده اول رو می‌تونید توی جدول زیر ببینید:تصویر 2: 6 مشاهده اول مجموعه داده الماس هامصور سازی دیتاست الماستوی این بخش برای درک بهتر دیتاست، برخی از متغیر ها رو با چند تا نمودار ساده به تصویر کشیدم. این نکته رو باید اینجا اضافه کنم که قبل از این که بخوایم وارد مدل سازی بشیم خیلی خوبه که با دیتا ها کلنجار بریم و بشناسیمشون. شناخت روی داده ها به ما دید بهتر می‌ده که چه مدلی مناسبه و چطور می‌تونیم حداکثر اطلاعات رو ازش بکشیم بیرون. به نظر من هر دیتاست یه داستان برای گفتن داره. با مصور سازی مجموعه داده می‌تونیم یکم بیشتر باهاش دوست بشیم و درک بهتری از داستانی که می‌خواد برامون تعریف کنه، داشته باشیم. پس بریم چند تا نموداری که ممکنه توی درک دیتاست الماس به ما دید بهتری بده رو ببینیم:تصویر3: هیستوگرام متغیر قیمتبا یک نگاه به نمودار هیستوگرام قیمت می‌توان دریافت که بیشتر الماس ها در این دیتاست قیمت گذاری پایینی به نسبت دیگر الماس ها دارند. و هرچی قیمت بالاتر می‌ره فراوانی الماس ها کاهش پیدا می‌کنه. این یعنی الماس های کمی هستند که قیمتی اند. با دیدن این نمودار این سوال بوجود میاد که الماس های گران‌تر چه ویژگی هایی دارند که فراوانی آن ها کمتر شده است؟ ?برای کسایی که نمی‌دونند هیستوگرام چیه؟فرض کنید شما در یک مطالعه، نمونه‌ای n تایی از یک جامعه می‌گیرید و متغیر پیوسته‌ای مثل سن دارید. در این صورت اگر شما بخواید مطلع بشید که فراوانی های متغیر سن در دیتاست نمونه شما به چه صورت است؛ ابتدا  این متغیر را بازه بندی می‌کنید. مثلا از 15 تا 20، 20 تا 25، 25 تا 30 و 30 تا 45. بعد از این مرحله فراوانی مشاهدات را در دسته بندی ها بدست می‌آورید. مثلا در بازه 15 تا 20 در نمونه شما 5 نفر مشاهده شده‌اند و به همین ترتیب برای بقیه بازه ها.هیستوگرام نموداریه که محور عمودی اون نشان دهنده فراوانی متغیر و محور افقی نشان دهنده بازه هایی از اون متغیر هست. با رسم هیستوگرام می‌توان نگاهی کلی به این داشت که مشاهدات چگونه توزیع شده‌اند. البته که این نمودار بیشتر برای متغیر های پیوسته رسم می‌شه ولی به مواردی هم برخوردم که رسم اون برای متغیر های گسسته هم مفید بوده.?بافت نگار معادل فارسی هیستوگرام است.همانطور که در تصویر 1 نیز مشاهده کردید متغیر عمق تابعی از متغیر های x، y و z است که یعنی این متغیر تابعی از طول، عرض و عمق الماس است. پس شاید رسم هیستوگرام این متغیر دید خوبی به ما بده. در ادامه هیستوگرام متغیر عمق رسم شده:تصویر4: هیستوگرام متغیر عمقبا نگاه کلی به این هیستوگرام می‌توان فهمید که بیشترین فراوانی الماس ها در متغیر عمق حدودا 50 الی 57 میلی‌متر است. همچنین پراکندگی هایی نیز به چشم می‌خورد که گویای کم بودن فراوانی در عمق خیلی زیاد و یا خیلی کم است. نمی‌توان به طور قطعی گفت اما این هیستوگرام کمی متقارن است؛ در علم آمار می‌دانیم توزیع نرمال یکی از توزیع هایی است که خروجی هیستوگرامی داده های آن متقارن است. نرمال بودن داده ها از حوصله این بحث خارجه و فعلا توی این مطلب نمی‌خوام بهش بپردازم. شاید قسمت بشه و مطالب دیگه این مبحث رو بیشتر باز کنم.در  ادامه نمودار های جعبه ای 4 متغیر x، y، z و عیار در کنار یکدیگر رسم شده است:تصویر5: نمودار جعبه‌ای متغیر های طول، عرض، عمق و عیار الماسنمودار جعبه‌ای این 4 متغیر به ما نشان می‌ده که هر کدوم ازین متغیر ها به چه میزان پراکندگی دارند و کدومشون داده های دورافتاده داره. مثلا اگه توی باکس پلات متغیر عیار دقت کنید می‌تونید متوجه بشید که داده های دور افتاده توی این متغیر بیشتره و اگه بیشتر به این نمودار دقت کنید می‌‎تونید متوجه بشید بین همه مشاهدات این دیتا ست یک مشاهده وجود داره که متغیر عیارش مقدار 5 رو اختیار کرده. اینجا برام جالب میشه که بدونم بقیه متغیر های این مشاهده مثل متغیر قیمت چه مقداری رو اختیار کردند. می‌تونند ربطی داشته باشند به هم؟ شاید شهودی و تجربی اکثرا معتقد باشند که خب هرچی عیار الماس بالاتر باشه قیمتش بیشتره ولی خب اگه نظر یک متخصص رو بخوان باید علمی تر از بقیه صحبت کنه و فقط از شهود و تجربه استنتاج نکنه. هم‌خطی و ارتباط بین متغیر ها شاید یه بحث جذاب باشه اینجا اما نمی‌خوام از بحث اصلی که خوشه‌بندی این دیتاست به روش K-means هست دور بشم. البته در ادامه شاید گریزی به این بحث هم زدیم. ?چالش دیتاست الماسهمونطور که در ابتدای مطلب هم گفتم؛ پیاده‌سازی الگوریتم های خوشه‌بندی K-means بر روی دیتاست الماس کمی پیچیده‌تر از دیتاست Iris هست. اما چالش کار کجاست؟ یادتونه توی مطلب «معرفی روش خوشه‌بندی K-means» به معایب و مزایای این روش پرداختم؟ اونجا گفتم از معایب این روش اینه که باید تعداد k رو برای خوشه‌بندی به الگوریتم بدیم وگرنه الگوریتم نمی‌دونه در نهایت باید به چند خوشه برسه. خب توی دیتاست Iris ما می‌دونستیم که ماهیت این دیتاست چیه. یعنی می‌دونستیم که 3 نوع گل از نژاد Iris هست. پس بعد ازین که برچسب های دیتاست رو حذف کردیم به الگوریتم های K-means مقدار 3 رو برای خوشه‌بندی کردن داده ها دادیم. چالش دیتاست الماس اینه که ما نمی‌دونیم ماهیتا چند نوع الماس داریم و باید k رو چند قرار بدیم. این مساله رایجی در دیتاست های تجاری هست که حل کردن اون باعث می‌شه یه لول در مسائل خوشه‌بندی k-means حرفه‌ای تر بشیم. ?✌پیاده سازی الگوریتم لوید بر روی دیتاست الماسخب برای پیاده سازی الگوریتم روی دیتاست الماس نیاز به دو مورد حیاتی داریم:1- همه متغیر ها عددی باشند؛ چون الگوریتم های k-means مقادیر عددی رو قبول میکنن و ورودی شون باید دیتاستی باشه که همه متغیراش عددی باشند.2- مقدار k رو بدونیم؛ چون یکی از ورودی های الگوریتم های k-means مقدار k هست و بدون دونستن اون الگوریتم نمی‌تونه خوشه‌بندی کنه. (برای این که چرا الگوریتم ها نمی‌تونن بدون دانستن k کار کنن پیشنهاد می‌کنم تئوری چگونگی کارکرد این الگوریتم ها رو در مطلب معرفی خوشه‌بندی k-means بخونید.)1️⃣ خب مورد اول که چالش اساسی‌ای به حساب نمیاد و با چند خط کد میشه مقادیر اختیار شده در متغیر های کیفی رو عددی کرد. کد های برنامه R برای این که کامپیوتر بفهمه باید عددی کنه متغیر ها رو به صورت زیر هست:# the data has been numeric to use algorithms
# so we have this codes:
&gt; x = as.numeric(diamond_data$x)
&gt; y = as.numeric(diamond_data$y)
&gt; z = as.numeric(diamond_data$z)
&gt; carat = as.numeric(diamond_data$carat)
&gt; price = as.numeric(diamond_data$price)
&gt; depth = as.numeric(diamond_data$depth)
&gt; cut = as.numeric(diamond_data$numeric_cut)
&gt; color = as.numeric(diamond_data$numeric_color)
&gt; clarity = as.numeric(diamond_data$numeric_clarity)
&gt; dia_data = data.frame(x,y,z,carat,price,depth,cut,color,clarity)
&gt; View(dia_data)البته برای همه متغیر ها نیاز نبود دستور as.numeric رو بزنیم ولی اینجا احتیاط شده و برای همه متغیر ها ازین دستور استفاده شده. کد بهینه‌تر شده به این صورته که فقط برای سه متغیر cut، color و clarity ازین دستور استفاده می‌شد؛ چون  بقیه متغیر ها عددی هستند و فقط این متغیر ها کیفی اسمی اند(تصویر 2).2️⃣ خب حالا به چالش دوم بپردازیم که یه چالش اساسی‌تر هست؛ مقدار k رو چند بگیریم؟ توی مجموعه داده هایی که ما شناخت کمی داریم بهترین کار اینه که چند تا k رو در نظر بگیریم. یعنی مثلا یه بار k رو 5 بذاریم، یه بار 10، یه بار 20 و بعد نتایج رو باهم مقایسه کنیم تا جایی که مطمئن شیم kای که برای خوشه‌بندی انتخاب کردیم تقریبا استنتاج خوبی رو به ما می‌ده و می‌تونیم ازش خروجی های مفیدی رو بدست بیاریم. باید بگم اگه هیچ ایده ای نسبت به تعداد خوشه های داده هاتون ندارید و حتی هیچ تحقیق پیشینی هم در دستتون نیست که بتونید به کمک اون حدسایی بزنید؛ این قسمت تجربیه و با اجرا و مقایسه می‌شه به نتایج قابل قبولی رسید. توی این مثال یعنی دیتاست الماس من باتوجه به تعداد k های متفاوتی که الگوریتم ها رو اجرا کردم متوجه شدم که تعداد 5 خوشه بهینه هست و اگه کمتر بشه اطلاعات از دست میدیم و اگه بیشتر بشه یک خوشه به چندین خوشه تجزیه میشه.?پس من در ادامه کار مقدار k رو برابر با 5 در نظر می‌گیرم و الگوریتم لوید رو پیاده‌سازی می‌کنم. کد های R برای پیاده‌سازی الگوریتم لوید بر روی دیتاست الماس به صورت زیر هست:#Lloyd Algorithm
&gt; Lloyd_D1 = kmeans(dia_data, 5, algorithm =&amp;quotLloyd&amp;quot)قبل‌تر در مطلب الگوریتم های خوشه‌بندی لوید و فورجی به معرفی تمامی ورودی ها و همچنین نوع خروجی های کد بالا که چی هستند و چی رو نشون میدن پرداختم. پس اینجا فقط خروجی اجرای الگوریتم رو می‌بینیم و تفسیر می‌کنیم.خب چیزی که مهمه جدول میانگین های خوشه‌ای هست که کد اون به صورت زیر هست:&gt; Lloyd_D1$centersخروجیش هم به صورت یک جدول مرتب شده در تصویر زیر اوردم:تصویر 6: جدول میانگین های خوشه‌ای یا cluster means برای الگوریتم لویدچیزی که از جدول میشه برداشت کرد اینه که باتوجه به واریانس بین خوشه ها  در هر متغیر، متغیر عمق یا depth در خوشه بندی نسبت به دیگر متغیر ها تاثیر کمتری داشته است. برای این که بدونیم فراوانی هر کدوم از مشاهدات در خوشه ها چطور بوده کد زیر رو به همراه نتایجش داریم:&gt; table(Lloyd_D1$cluster)
1                 2              3            4             5
11490    10424    18068     8933     5025از خروجی ای که به ما نشون میده می‌تونیم بفهمیم که 11490 مشاهده به خوشه اول، 10424 مشاهده به خوشه دوم، 18068 مشاهده به خوشه سوم، 8933 مشاهده به خوشه چهارم و 5025 مشاهده به خوشه پنجم تعلق گرفته است. برای اطلاع از تعداد تکرار الگوریتم هم کد زیر رو داریم:&gt; Lloyd_D1$iter
[1] 11که خروجی نشان دهنده این است که برای رسیدن به این خوشه‌بندی الگوریتم لوید 11 بار تکرار شده است.در ادامه مطلب همین روند را برای الگوریتم فورجی پیاده سازی می‌کنیم و نتایج این دو را با یکدیگر مقایسه خواهیم کرد.پیاده سازی الگوریتم فورجی بر روی دیتاست الماسخب همانند مراحل بالا با در نظر گرفتن k=5 مراحل پیاده سازی را با الگوریتم فورجی اجرا می‌کنیم. کد های پیاده سازی الگوریتم فورجی به صورت زیر است:&gt;#Forgy Algorithm
&gt; Forgy_D = kmeans(dia_data, 5, algorithm =&amp;quotForgy&amp;quot)با توجه به کد های بالا داده ها به پنج خوشه تقسیم بندی شده‌اند که میانگین مشخصه های هر خوشه در جدول زیر آورده شده است:تصویر 7: جدول میانگین های خوشه‌ای برای الگوریتم فورجیهمچنین دستور های table  و iter را نیز برای دانستن فراوانی خوشه ها و تعداد تکرار الگوریتم فورجی بر روی دیتاست الماس، به کار می‌بریم: &gt; table(Forgy_D$cluster)
1                     2               3                4                 5
20848         3802       11068       6160      12062
&gt; Forgy_D$iter
[1] 11باتوجه به خروجی این کد ها، تعداد تکرار در اجرای الگوریتم فورجی نیز برابر با 11 شده است و درحالت کلی از 53940 داده، 20848 مشاهده به خوشه 1، 3802 مشاهده به خوشه 2، 11068 مشاهده به خوشه 3، 6160 مشاهده به خوشه 4 و 12062 مشاهده به خوشه 5 ام تعلق گرفته است.مقایسه پیاده سازی الگوریتم های لوید و فورجی بر روی دیتاست الماسبا مقایسه نتایج جدول میانگین مشخصه های هر خوشه در اجرای الگوریتم لوید و فورجی بر روی مجموعه داده الماس ها می‌توان دریافت که 2 خوشه در این الگوریتم ها خروجی نزدیک به هم داده‌اند. تعداد تکرار در هر دو الگوریتم نیز با یک دیگر برابر است. در جدول زیر سعی شده خروجی این دو الگوریتم با یکدیگر مقایسه شود: ?قابل ذکر است که خوشه هایی که رنگ هایلایت یکسان دارند بیانگر نزدیک بودن این خوشه ها از نظر خوشه‌بندی در دو الگوریتم است.تصویر8: مقایسه جدول میانگین های خوشه‌ای حاصل از اجرای دو الگوریتم لوید و فورجی?یک نکته‌ای که باید اینجا بگم اینه که ما در ابتدا فرض کردیم هیچ دانشی نسبت به دیتاست نداریم و بعد شروع کردیم به دوست شدن باهاش و فهمیدنش. توی این مطلب من فرض کردم هیچی درباره کاهش بعد هم نمیدونیم و صد البته مساله ما در اینجا صرفا پیاده سازی الگوریتم های k-means هست و هیچ وقت درباره این که این دیتاست چطوری به دست ما رسیده و قبلش چه شناخت هایی باید حاصل می‌شده و چه فرایندی باید طی می‌شده بحث نکردیم. البته من سعی کردم یک دید کلی در مطلب «داده کاوی چیست؟» رو ارائه بدم. ? بهرحال این مهمه که بدونیم در این مطلب ما هیچ پیش زمینه‌ای از کاهش بعد، هم‌بستگی بین مغیر ها، رگرسیون و این دست مسائل که روابط بین متغیر های یک دیتاست رو به ما نشان می‌دهند نداریم.✅با فرض بر دانستن نکته بالا مطلب رو ادامه می‌دیم.با مقایسه واریانس های میانگین خوشه ها در 9 متغیر عمق، قیمت، عیار، x، y، z، برش، رنگ و شفافیت در 2 الگوریتم، می‌توان دریافت متغیر های قیمت و x و y بیشترین تاثیر و متغیر عمق کمترین تاثیر را در این خوشه‌بندی گذاشته‌ اند. کد های برنامه R برای مقایسه واریانس های خوشه‌ای این 9 متغیر در 2 الگوریتم ذکر شده به صورت زیر است:&gt; # comparing varibles with variance
&gt; algorithm_D = list(Lloyd_D1$centers,Forgy_D$centers)
&gt; x = c()
&gt; y = c()
&gt; z = c()
&gt; carat = c()
&gt; price = c()
&gt; depth = c()
&gt; cut1= c()
&gt; color = c()
&gt; clarity = c()&gt; for(name in 1:2){
AL_D = algorithm_D[name]
 x[name] = var(AL_D[[1]][1:5])
 y[name] = var(AL_D[[1]][6:10])
z[name] = var(AL_D[[1]][11:15])
carat[name] = var(AL_D[[1]][16:20])
price[name] = var(AL_D[[1]][21:25])
depth[name] = var(AL_D[[1]][26:30])
cut1[name] = var(AL_D[[1]][31:35])
 color[name] = var(AL_D[[1]][36:40])
clarity[name] = var(AL_D[[1]][41:45]) }&gt; x
[1] 1.442573        1.536787 &gt; y
[1] 1.431015       1.529341&gt; z
[1] 0.5393813      0.5768793 &gt; carat
[1] 0.3189001      0.3208689 &gt; price
[1] 33073205       30712068 &gt; depth
[1] 0.007042929      0.004078505&gt; cut1
[1] 0.02113756     0.02125287 &gt; color
[1] 0.1483196     0.1569140 &gt; clarity
[1] 0.2097639      0.2744841بنابر این نتیجه در ادامه با تمرکز بر سه متغیر x و y و قیمت، نمودار های نقطه‌ای دسته‌بندی ها را در این 2 الگوریتم رسم کرده و مقایسه می‌کنیم. برای رسم نمودار ها همانند گذشته از کتابخانه ggplot استفاده شده است.نمودار نقطه‌ای الگوریتم لویددر این نمودار ها می‌توان دسته بندی هایی که الگوریتم لوید بر روی داده ها انجام داده را مشاهده کرد:1- نمودار قیمت در برابر x یا طول الماس:تصویر9: مقایسه متغیر قیمت در برابر متغیر X یا طول الماس2- نمودار قیمت در برابر y:تصویر 10: مقایسه متغیر قیمت در برابر متغیر y یا عرض الماسدر هر دو نمودار آورده شده مشاهده می‌شود که متغیر قیمت تاثیری اساسی در خوشه‌بندی گذاشته است. نمودار های نقطه‌ای الگوریتم فورجیدر این نمودار ها می‌توان دسته بندی هایی که الگوریتم فورجی بر روی داده ها انجام داده را مشاهده کرد. البته که در ادامه مشاهده خواهید کرد نمودار ها تفاوت زیادی با یکدیگر ندارند.1- نمودار قیمت در برابر x:تصویر 11: مقایسه متغیر قیمت در برابر متغیر x یا طول الماس1- نمودار قیمت در برابر y:تصویر 12: مقایسه متغیر قیمت در برابر متغیر y یا عرض الماس در آخر با توجه به جداول میانگین های خوشه‌ای در هر الگوریتم و همچنین نمودار های نقطه‌ای رسم شده می‌توان دریافت که در عمل اجرای این الگوریتم ها بر روی این مجموعه داده نتایج چندان متفاوتی با یکدیگر ندارند و در هر دو الگوریتم متغیر قیمت بیشترین تاثیر را در خوشه بندی دارد و باز هم اینجا تاکید می‌کنم بررسی این دیتاست صرفا یک مثال هست که به شما ایده بده تا روی دیتاست هاتون الگوریتم های k-means رو پیاده سازی و مقایسه کنید.این مطلب آخرین مطلب از سری خوشه‌بندی k-means نیست و قطعا مطالب دیگه‌ای هم به اشتراک خواهم گذاشت. اما تا به اینجا می‌شه گفت به خوبی تونستیم این مبحث رو پوشش بدیم. احتمالا در مطالب آینده از سری مباحث دیگه گریزی به این مطالب خواهم زد و خواهم گفت که اگر چه مبحثی رو می‌دونستیم کار کردن با این الگوریتم های خوشه‌بندی بر روی دیتاست ها برامون راحت‌تر می‌شد.??‍?حسن ختام این مطلب یه تجربه هم بگم بهتون. الگوریتم های k-means برای مجموعه داده ها با حجم بالا غالبا ریسورس بالایی می‌خواد و اگه شما یه دیتاست بزرگ دارید و می‌خواید خوشه بندیش کنید؛ بهتره اول به فکر کاهش بعد یا پیاده‌سازی الگوریتم های بهینه‌تر باشید.?اگر نظر یا کامنتی دارید خوشحال می‌شم مطرح کنید?</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Mon, 12 Jul 2021 08:48:45 +0430</pubDate>
            </item>
                    <item>
                <title>جنگو برای تازه کار ها - قسمت اول: راه اندازی</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%AC%D9%86%DA%AF%D9%88-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%A7%D8%B2%D9%87-%DA%A9%D8%A7%D8%B1-%D9%87%D8%A7-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-xu4mcumufhe4</link>
                <description>جنگو چیست؟جنگو یک فریم‌ورک (چارچوب) تحت وب رایگان و متن باز هست که به زبان پایتون نوشته شده و مجموعه ای از ابزار ها مختلف رو داره که به شما کمک میکنند که یک وبسایت رو سریع تر، راحت تر و مطابق با یک استاندارد (در نتیجه امن تر) توسعه بدید.در واقع فریم ورک ها اومدند که ما هر بار، چرخ رو از اول اختراع نکنیم و با استفاده از  استاندارد های از پیش تعریف شده کار خودمون رو پیش ببریم.فریم ورک چه مزیتی دارد؟در توسعه هر وبسایت شما باید موارد مشابهی رو توسعه بدید. مواردی مثل ورود/خروج، ثبت نام، پنل مدیریت روش آپلود فایل، امنیت، ایجاد ارتباط با پایگاه داده و ...یک فریم ورک خوب تمام موارد از این قبیل رو طبق اصول و استاندارد های نسبی رعایت کرده و شما لازم نیست هر پروژه رو از صفر شروع کنید و میتونید با فراخوانی این چارچوب، صرفا موارد جدید رو بنویسید، این کار باعث می‌شه اولا سرعت کار بسیار زیاد تر بشه و وقتتون درگیر کارای تکراری نشه و (نکته مهمتر) دوما به دلیل اشتباه در فرایند های تکراری کاری جا نمی افته و همه چیز طبق اصول مستند شده در چارچوب پیش میره.ضمنا، معمولا مواردی مثل معماری نرم افزار در این چارچوب ها رعایت میشن و این استاندارد سازی باعث میشه در کار تیمی و کار های بزرگ هماهنگی افراد مختلف تیم بسیار بیشتر بشه و سرعت پروژه افزایش پیدا کنه.نصب و راه اندازی اولین پروژه در جنگونصب و راه اندازی چارچوب نرم افزاری جنگو بسیار ساده هست. فقط باید دقت داشته باشید برای شروع کار با جنگو نیاز هست که در ابتدا پایتون رو روی سیستم خودتون نصب کنید.اگر پایتون رو روی سیستمتون نصب ندارید میتونید از این آدرس آخرین نسخه نرم افزار مطابق با نوع سیستم عاملتون دانلود و نصب کنیدبرای شروع کار و پیاده سازی جنگو اول نیاز داریم یک محیط مجازی (virtual environment) ایجاد کنیم تا میزبان نرم افزار ما باشه.برای این کار وارد محیط command میشیم و دستور زیر رو وارد می کنیم.Pip install virtualenvدستور بالا کتابخانه مربوط به ساخت محیط مجازی رو برای ما آماده میکنهبعد از تکمیل دستور بالا باید وارد دایرکتوری مورد نظر بشیم. برای مثال من در دسکتاپ یک فولدر به نام جنگو ایجاد کردم و در اون یک فولدر به اسم hello ساختم تا تمام محتویات نرم افزار رو اونجا قرار بدمcd desktop/django/helloحالا باید یک محیط مجازی جدید بسازیم. برای مثال من نام arzyab_test رو برای این محیط انتخاب میکنم.virtualenv arzyab_testبرای اینکه از درستی دستور مطمئن بشید میتونید فولدر مورد نظرتون(اینجا hello) رو چک کنید باید یک فولدر به نام محیط مجازی (arzyab_test) در اون ایجاد شده باشه. بعد از این باید محیط مجازی ساخته شده رو فعال کنیم. کافیه دستور زیر رو وارد کنیم تا با فراخوانی فایل activate محیط مجازی ما فعال بشه..\arzyab_test\scripts\activateدقت کنید اگر این محیط به درستی فعال بشه قبل از دستورتون یه پرانتز باز میشه به نام محیط مجازیتون (در تصویر با رنگ آبی مشخص شده)خب انتظارمون تموم شد. حالا میتونیم فریمورک جنگو رو با این دستور فراخوانی کنیم. pip install djangoدر این مرحله یک پروژه جنگو رو ایجاد میکنیم.یک نام دلخواه برای این پروژه نیاز هست که من mysite رو انتخاب میکنیم. با دستور زیر یک پروژه جدید ایجاد میکنیم.django-admin startproject mysite در این مرحله یک پوشه جدید برای شما به نام دلخواهتون(در اینجا mysite) ایجاد میشه.وارد پوشه پروژه میشیم.cd mysiteبرای ایجاد نرم افزار باید یک app جدید به نام دلخواه(در اینجا myapp) ایجاد کنیم. برای این کار از دستور زیر استفاده میکنیم.python manage.py startapp myappحالا یک پوشه جدید به نام myapp  به پوشه اصلی ما اضافه شده.در این مرحله فرایند نصب فریم ورک به پایان میرسه و میتونیم با این دستور سرور ساخته شده رو اجرا کنیم.python manage.py runserverاگر همه مراحل درست پیش رفته باشه دستور به این شکل و بدون خطا اجرا میشههمونطور که مشاهده میکنید همه چیز به درستی انجام شده و نرم افزار ما روی آدرس درخواست شده (127.0.0.1:8000) منتشر شده. با وارد کردن این آدرس میتونید نسخه نرم افزار پیش فرض نصب شده رو ببینید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>ashkanchakak</author>
                <pubDate>Thu, 20 May 2021 14:08:00 +0430</pubDate>
            </item>
                    <item>
                <title>داده کاوی چیست؟ - نگاهی کلی به داده کاوی(Data Mining)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%AF%D8%A7%D8%AF%D9%87-%DA%A9%D8%A7%D9%88%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA-%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%DA%A9%D9%84%DB%8C-%D8%A8%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%DA%A9%D8%A7%D9%88%DB%8Cdata-mining-oitth5vyocvz</link>
                <description>در مطلب هرم دانش در علم داده به بخش های مختلف این هرم پرداختم و ذکر کردم برای این که یک مساله دیتاساینسی حل بشه نیازمند این هست که مراحل این هرم به درستی طی شوند. برای این که مراحل این هرم طی بشه و داده به اطلاعات و سپس دانش تبدیل بشه نیازمند اجرای یک سری فرایند هست. فرایند هایی که  به عنوان داده کاوی شناخته میشه و باید از ابزار ها و دانش به خصوصی در اون ها استفاده کنیم. در این مطلب قصد دارم داده کاوی(Data Mining) رو معرفی کنم.برای این که مراحل هرم دانش طی بشه نیازمند اجرای یک سری فرایند هایی است که  به عنوان داده کاوی شناخته میشه و باید از ابزار ها و دانش به خصوصی در اون ها استفاده کنیم.فرایند داده تا دانش در هرم دانشقبل ازین که تعریفی از داده‌کاوی ارائه بدم بهتره اول به معنی داده، اطلاعات و دانش بپردازیم. البته که به همه این ها خیلی مفصل تر در مطلب هرم دانش در علم داده پرداخته شده؛ پس اینجا بهتره اول یک مثال از مجموعه داده و فرایند تبدیلش به اطلاعات و سپس دانش بیارم. خب یک مثال از فرایند داده تا دانش می‌تونه این باشه:فرض کنید یک رستوران می‌خواد کیفیت غذا ها رو بهتر کنه و به تبعیت از اون قیمت سفارشاتش بالاتر میره اما نمیدونه با این کار چقدر مشتری از دست می‌ده یا بدست میاره؛ برای همین از یک یا چند دیتاساینتیست کمک می‌گیره تا به این سوالش جواب داده بشه. دیتاساینتیست در مرحله اول کار برای این که بدونه گذشته رستوران به چه شکل بوده شروع به بدست اوردن داده میکنه. ممکنه این داده ها وجود داشته باشند یا نداشته باشند. برای مثال هر فروشی که رستوران انجام میده طی یک فاکتور فروش که متغیر هایی داره؛ در سیستم فروشگاه ثبت میشه؛ متغیر هایی مثل نوع غذا یا نوشیدنی، مبلغ پرداخت، تاریخ و ساعت سفارش و حتی شماره تماس مشتری. دیتاساینتیست ها برای داده هایی هم که وجود نداره شروع به جمع‌آوری اون ها می‌کنند. برای مثال سن و جنسیت مشتری، رضایت و نظر مشتری درباره کیفیت و مزه غذا و پیش غذا یا خدمات و فضای رستوران. این که چطور باید این داده ها جمع آوری بشه خودش یک فرایند جدایی هست که نیاز به دانش نمونه‌گیری آماری داره. درواقع از طرح پرسش نامه برای سنجش رضایت و نظر مشتری تا نحوه جمع‌آوری این پرسش‌نامه ها دانشی به نام نمونه‌گیری دخیل میشه که موضوع این مطلب نیست و در مطالب بعدی اگر فرصت شد حتما بهش می‌پردازم.در هرصورت در مرحله اول داده هایی توسط دیتاساینتیست ها جمع‌آوری میشه که فرمتش می‌تونه به شکل زیر باشه:تصویر 1: نمونه داده های مثال که دیتاساینتیست ها از سیستم ثبت شده رستوران بدست آوردند. تصویر 2: نمونه داده های مشتریان که توسط رضایت سنجی طراحی شده به وسیله دیتاساینتیست ها جمع‌آوری شده است.توجه داشته باشید که به هر یک از جدول هایی که تصویرشان در بالا موجود هست یک مجموعه داده یا دیتاست می‌گویند. درواقع:دیتاست مجموعه‌ای از مشاهدات است که هریک از متغیر های آنان مقادیری را اختیار کرده‌اند.مثلا در دیتاست اول در تصویر 1، ردیف 1 مربوط به مشاهده‌ای است که در تاریخ 27 اردیبهشت 1400 سفارش 1 سیخ کباب، دو سیخ جوجه و یک نوشابه خانواده داده و 78500 تومان را برای سفارشش پرداخت کرده. بنابراین هریک از متغیر های تاریخ سفارش، ساعت سفارش، سفارش، شماره تماس مشتری و مبلغ پرداخت شده برای هر یک از مشاهدات مقادیری را اختیار می‌کنند.پس در این مجموعه های داده و البته به صورت معمول در هر دیتاست یک ردیف مربوط به یک مشاهده است و یک ستون مربوط به یک متغیر است.بعد از بدست آوردن داده ها، دیتاساینتیست ها مجموعه هایی که به آن ها کمک می‌کند تا بهتر به مسئله مطرح شده پاسخ دهند را به منظور اجرای عملیات بر روی آن ها انتخاب می‌کنند. خب توی این مثال ساده و ساختگی ما فقط دو تا مجموعه داده داریم که ازشون استفاده می‌کنیم. به اصطلاح داده ها رو یک مرحله پروسس می‌کنیم و از خام بودن درشون میاریم. توی این مرحله داده ها رو تبدیل به اطلاعات می‌کنیم.برای این که داده ها رو تبدیل به اطلاعات کنیم از روش های مختلفی میشه استفاده کرد. از ساده‌ترین روش ها مثل میانگین گرفتن روی فروش روزانه در هر ماه که با فرمول نویسی در اکسل و یا دستور های SQL میشه بدستش اورد تا روش های پیشرفته‌تر. در اینجا فرایند داده کاوی با دوست شدن با داده ها و بعدش تمیز کردن اون ها یا به اصلاح دیتا کلینینگ شروع میشه و روش ها و ابزار هایی وجود داره که به وسیله اون ها می‌تونیم داده ها رو به اطلاعات تبدیل کنیم. توی این مطلب من به مساله دیتا کلینینگ نمیپردازم اما مبحث خیلی مهمی هست و بهتون پیشنهاد می‌کنم حتما بخونید دربارش. (توی پرانتز من معمولا وقتی میخوام دیتاست هایی رو بشناسم و باهاش سر و کله بزنم یه اصطلاحی درست کردم و میگم با دیتا دوست می‌شیم?)حتی توی این مرحله می‌تونیم از رابطه بین دیتاست ها هم کمک بگیریم و اون ها رو در کنار هم داشته باشیم تا اطلاعات جامع‌تری کسب کنیم. برای مثال اگر داده های نظرسنجی ما در تصویر دوم متغیری به اسم شماره تماس داشت می‌توانستیم بین دو دیتاست نظرسنجی و سفارش مشتریان رابطه برقرار کنیم و بفهمیم مثلا مشتری‌ای به اسم نیکان که مرد هم هست و سنش 19 ساله، در تاریخ 27 اردیبهشت ماه 1400 سفارش ردیف سوم در دیتاست اول رو ثبت کرده و نظرش درباره مزه و کیفیت غذا تقریبا خوبه.توی این مرحله باید بگم هرچی اطلاعات دم دستی‌تر باشه پروسس کمتری روش انجام شده و هرچی عمیق‌تر باشه کار بیشتری روش انجام گرفته. مثلا ما صرفا با داشتن دیتاست اول می‌تونیم بگیم پر فروش ترین غذای رستوران کدام غذا هست؟ درصورتی که این اطلاعی که بدست اوردیم ممکنه خود صاحب رستوران هم بدونه و نیاز نبود برای دانستن این مساله از چند تا دیتاساینتیست کمک بگیره...هنر دیتاساینتیست ها در این مرحله اینه که همزمان با اطلاعات سطحی‌ای که بدست میاد، اطلاعاتی رو بدست بیارند که کمک کننده‌تر باشه. همونطور که در مطلب هرم دانش در علم داده هم گفتم، داده و اطلاعات مربوط به گذشته هستند. طی کردن این مراحل لازمه ولی کافی نیست. گرچه این رو لازم میدونم بگم که در خیلی از سازمان ها و کسب و کار ها دانستن این گذشته خیلی حیاتی و مهم هست و به طور بدیهی این گذشته رو نمیدونن. این مساله‌ی بیشتر  کسب و کار های متوسط و بزرگ در ایران هست و باهاش دست و پنجه نرم می‌کنند. کسب و کار هایی که از ابتدا به طور استاندارد پایگاه های داده خودشون رو بهینه نکردند و استخراج داده گذشته‌شون و وصل کردن و ارتباط بین این مجموعه داده ها کمی دشوار هست.هرم دانش در یک نگاهبه ادامه مثال بپردازیم؛ یک مرحله بیشتر مجموعه داده ها رو پروسس می‌کنیم. مرحله تبدیل اطلاعات به دانش دیتاماینینگ. از داده های جانبی کمک می‌گیریم و اون ها رو در کنار داده هایی می‌گذاریم که از قبل وجود داشته. اگه این مثال واقعی بود و من می‌خواستم روش کار کنم حتما و حتما تاریخ ها رو با تعطیلی هایی که وجود داره مطابقت میدادم و البته آب و هوای منطقه‌ای که رستوران هست رو هم در اون تاریخ به دیتاست اضافه می‌کردم. یعنی دو تا متغیر به دیتاست اولم اضافه می‌کردم: آیا اون روز تعطیل بوده یا نه و آب و هوای اون روز چطوری بوده؟ بارونی یا برفی؟ یا حتی آفتابی؟ توی این مرحله ممکنه متغیر هایی که فکر می‌کنیم به درد می‌خوره رو به دیتاست ها اضافه کنیم یا ممکنه برعکس کاهش بعد بدیم. یعنی انقدر تعداد متغیر ها زیاد باشه که برای پیاده سازی مدل های ریاضیاتی، آماری، ماشین لرنینگی و ... بهینه نباشه. در این صورت نیازه که کاهش بعد داده بشه. در مرحله تبدیل اطلاعات به دانش از روش های پیشرفته‌تری استفاده میشه. ممکنه مدل هایی روی دیتاست ها پیاده سازی بشند و این پیاده سازی به وسیله زبان های برنامه نویسی یا نرم افزار های به خصوصی انجام بشه. توی مثال ساده خودمون سوال رستوران‌دار این بود: «اگر قیمت غذا را به منظور بالاتر بردن کیفیت غذا افزایش دهم تعداد مشتری را از دست نمی‌دهم؟». فرض کنیم نتیجه های پیاده‌سازی مدل ها بر روی دیتاست های یک مرحله پروسس شده ما این موارد بود: مشتریان شما به فضای رستوران اهمیت بیشتری می‌دهند تا کیفیت غذا.در روز های تعطیل و برفی مشتریان نسبت به رفتار خدمه نارضایتی دارند.خب طبق این نتایج بدست اومده بهتره استراتژی رستوران تغییر کنه. این مرحله ای هست که دیتاساینتیست ها معمولا پیشنهاد میدن و تصمیم گیری نهایی باید توسط مدیر اون مجموعه صورت بگیره. مرحله‌ای که در هرم دانش به عنوان خرد یاد میشه. پیشنهادات میتونه به این صورت باشه:در تبلیغات رستوران، بر روی کمپین هایی تمرکز شود که محوریت آن فضای رستوران باشد.توزیع تعداد خدمه در روز های هفته تغییر کند؛ مثلا در روز های تعطیل و برفی افزایش یابد و در بقیه روز ها به نسبت کمتر شود.تمام این مثال رو پیش بردیم که به یک چیز بپردازیم: دیتاماینینگ چیست؟داده کاوی یا دیتاماینینگ چیست؟خیلی خلاصه بخوام بگم:به روند استخراج اطلاعات و دانش از داده ها داده کاوی یا data mining می‌گویند.در داده کاوی از روش های مختلف، ابزار ها و نرم افزار های متفاوت استفاده می‌کنند. در این جا می‌خوام رفرنس بدم به کتاب data mining for business analytics و مراحلی که تقریبا در بیشتر فرایند های داده کاوی انجام میشه رو بگم.مراحل روند داده کاویهدف داده­ کاوی درک شود (به چه منظور داده­ کاوی روی این داده صورت می ­­گیرد؟).مجموعه ­ی داده­ های مورد استفاده در تحلیل را به ­دست آورید.داده ­ها را اکتشاف، پاک­سازی و پیش­ پردازش کنید (در بعضی موارد ممکن است برخی داده­ ها نیاز به اصلاح داشته باشند، مثلاً پاسخ به این سوال که چگونه داده ­های گمشده را مدیریت کنیم؟).در صورت لزوم، بُعد داده ­ها را کاهش دهید (مانند حذف کردن متغیرهای غیر ضروری).کارها و مدل های مربوط به داده­ کاوی را تعیین کنید (طبقه ­بندی، پیش­گویی، خوشه­ بندی و ...).داده­ ها را افراز کنید (اگر لازم بود که از روش­ های یادگیری تحت نظارت استفاده شود، داده ­ها را به سه قسمت آموزش، اعتبارسنجی و مجموعه ­ی داده­ های آزمون تقسیم ­بندی می­ کنیم).تکنیک­ های داده­ کاوی که باید مورد استفاده قرار بگیرند را انتخاب کنید (رگرسیون، شبکه­ های عصبی و ...).الگوریتم ­های لازم برای انجام کار ها را به کار بگیرید.نتایج الگوریتم­ ها را تفسیر کنید.مدل­ ها را ارزیابی کنید و مدل نهایی را انتخاب کنید.مدل را پیاده کنید.این مبحثی که باز شده سر دراز دارد... درواقع دنیای داده کاوی خیلی بزرگه و من خودم هیچ ادعایی ندارم که توی همش حرفه‌ای ام. شاید فقط بتونم از هر کدوم یک نقطه استارت براتون بگم و آشنا کنم و در بعضی از مسائل عمیق تر بشیم. همونطور که قبل تر هم گفتم چون علم داده یک علم بین رشته‌ای هست؛ دیتاساینتیست باید دانش سطحی روی هرکدوم از حوزه ها داشته باشه و توی یک مبحث خیلی عمیق باشه.امیدوارم عمری باقی بمونه تا بتونم این رشته رو هم به خوبی ادامه بدم و مطالب مرتبط با داده کاوی رو باهاتون به اشتراک بگذارم. خوشحال میشم اگر نظری دارید حتما کامنت کنید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Tue, 18 May 2021 20:46:34 +0430</pubDate>
            </item>
                    <item>
                <title>پیاده سازی الگوریتم های لوید و فورجی - قسمت اول (مجموعه داده Iris)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D9%84%D9%88%DB%8C%D8%AF-%D9%88-%D9%81%D9%88%D8%B1%D8%AC%DB%8C-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-iris-dvhceqzedymm</link>
                <description>در مطلب معرفی روش خوشه بندی K-means به معرفی کلی این روش پرداختم و الگوریتم های آن را به صورت موردی نام بردم. در مطالب الگوریتم های خوشه بندی لوید و فورجی و الگوریتم های خوشه بندی هارتیگان-ونگ و مک‌کوئین نیز به توضیح کامل چگونگی کارکرد این الگوریتم ها پرداختیم. در این مطلب قصد دارم به نحوه پیاده سازی الگوریتم های لوید و فورجی بر روی یک مجموعه داده بسیار ساده بپردازم.در قسمت اول برای شروع الگوریتم های لوید و فورجی را بر روی مجموعه داده آموزشی Iris پیاده سازی خواهیم کرد.
معرفی مجموعه داده Irisقبل ازین که الگوریتمی بر مجموعه داده پیاده سازی بشه بهتره که اول از همه یک شناخت کلی از دیتاست داشته باشیم و با متغیر های اون آشنا باشیم. خب برای ساده بودن مطلب من در اول ماجرا یک مجموعه داده معروف و صد البته راحت رو انتخاب کردم؛ بعد از بررسی این مجموعه داده و پیاده سازی این الگوریتم ها، مجموعه داده دیگه‌ای رو معرفی خواهم کرد و روند پیاده سازی رو بر روی اون هم اجرا می‌کنم.اولین مجموعه داده‌ای که باهاش سر و کار داریم دیتاست معروف Iris هست که از 5 متغیر تشکیل شده. این مجموعه داده شامل 150 مشاهده است که چهار ویژگی طول و عرض کاسبرگ و گلبرگ را در سه نوع گل بررسی کرده است. یعنی متغیر های این مجموعه داده شامل این موارد هست:1- طول کاسبرگ2- عرض کاسبرگ3- طول گلبرگ4- عرض گلبرگ5- نام گونه گیاهدر شکل های زیر می‌توان نمودار های نقطه‌ای این مجموعه داده را مشاهده کرد. در این نمودار ها دو متغیر طول و عرض گلبرگ در مقابل هم و دو متغیر طول و عرض کاسبرگ در مقابل هم رسم شده‌اند.در این تصویر متغیر های طول و عرض گلبرگ ها در برابر یکدیگر رسم شده‌اند.در این تصویر متغیر های طول و عرض کاسبرگ ها در برابر یکدیگر رسم شده‌اند. نکته‌ای که در این مجموعه داده وجود داره اینه که در کنار ویژگی های طول و عرض کاسبرگ و گلبرگ یک متغیر اسم وجود داره که میشه در مسائل طبقه بندی که زیر مجموعه‌ای ای مسائل یادگیری تحت نظارت هستند؛ به عنوان برچسب داده ها استفاده کرد. با این حال چون مساله در اینجا خوشه بندی است و و خوشه‌بندی زیر مجموعه یادگیری بدون نظارت هست ما مجبوریم این متغیر را کنار کذاشته و در پیاده سازی ها از اون استفاده نکنیم. پس مجموعه داده جدید ما به صورت 4 متغیر طول و عرض گلبرگ و کاسبرگ است و مساله اصلی ما به این صورته:سه نوع گل داریم که از هر نوع گل 50 مشاهده استخراج کردیم و 4 ویژگی طول گلبرگ، عرض گلبرگ، طول کاسبرگ و عرض کاسبرگ رو ثبت کردیم. ما نمیدونیم که هر رکورد یا مشاهده مرتبط با چه نوع گلی هست ولی مسالمون اینه که 150 مشاهده رو خوشه بندی کنیم و بگیم هر رکورد در چه خوشه‌ای قرار می‌گیره.برای درک بهتر از مجموعه داده می‌تونید 5 مشاهده اول مجموعه داده یا به اصطلاحی دیگر head دیتاست رو در تصویر زیر ببینید:به دلیل این که مساله ما در اینجا خوشه‌بندی است؛ متغیر نام گونه گل را در این مجموعه داده کنار گذاشتیم.پیاده سازی الگوریتم لویددر این قسمت به وسیله نرم افزار R، الگوریتم لوید از روش خوشه‌بندی k-mean را بر روی داده های Iris پیاده سازی می‌کنیم. با توجه به نوع مجموعه داده، تعداد خوشه ها در هر یک از الگوریتم ها را برابر با 3 در نظر می‌گیریم(k=3). نکته قابل ذکر در این قسمت این است که ما می‎‌دانیم ماهیت دیتاست سه خوشه را شامل می‌شود؛ سوالی که پیش میاد اینه که خب اگر در یک مجموعه داده ندونیم دیتا چه ماهیتی داره چی؟ قطعا به یک مثال دیگه هم توی پیاده سازی این الگوریتم خواهم پرداخت که ندونیم ماهیت دیتاست چیه و حل مساله رو از نگاه من ببینید. در اینجا چون اولین دیتاستی هست که داریم کار می‌کنیم بهتره توی این مرحله برای درک بهتر همه چی تا حدی ساده باشه.خب کد های برنامه R برای پیاده سازی الگوریتم لوید بر روی داده های Iris به صورت زیر هست:&gt; # the data has been numeric to use algorithms
&gt; # so we have this codes:
&gt; iris1 = iris[,1:4]

&gt; #Lloyd Algorithm
&gt; Lloyd =  kmeans(iris1, 3, algorithm =&amp;quotLloyd&amp;quot)
&gt; Lloydخب دو خط اول درواقع کامنت هست و توضیح داده که داده ها باید نامریک باشند تا بشه الگوریتم ها رو روشون پیاده سازی کرد و از روی دیتاست اصلی یک دیتاست جدید ساخته که 4 متغیر طول و عرض گلبرگ و کاسبرگ رو شامل میشه.خط بعدی درواقع پیاده سازی الگوریتم لوید با 3 خوشه بر روی دیتاست جدید است که با تابع kmeans و پارامتر های مجموعه داده، تعداد خوشه و نام الگوریتم پیاده سازی شده و در یک متغیر به اسم Lloyd ریخته شدند.خط آخر هم فراخوانی نتایج هست که قراره کامل بهش بپردازم. درواقع با ران کردن خط آخر نتایج زیر تو کنسول چاپ میشه:K-means clustering with 3 clusters of sizes 61, 50, 39

Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.883607    2.740984     4.388525    1.434426
2     5.006000    3.428000     1.462000    0.246000
3     6.853846    3.076923     5.715385    2.053846

خط اول که رسما اعلام میکنه از بین 150 مشاهده چند مشاهده به هر کدوم از خوشه ها اختصاص داده شده. توی این مثال 61 مشاهده به خوشه اول، 50 مشاهده به خوشه دوم و 39 مشاهده به خوشه سوم تعلق گرفته. خب ازونجایی که با مجموعه داده آشنایی داریم میتونیم واضحا بگیم این خوشه بندی قطعا درصدی خطا داره؛ چرا که اگر بی نقص بود باید به هر خوشه 50 مشاهده تخصیص داده می‌شد.خط بعدی عنوان یک جدول هست به نام Cluster means یا میانگین خوشه. در این جدول هر ردیف یا رکورد نماینده خوشه هست و هر ستون نماینده متغیر ها. رکورد های داخل جدول هم میانگین متغیر مربوطه در خوشه مشخص هستند. برای مثال میانگین متغیر Sepal.Length در خوشه دوم برابر با 5.006000 است.جدول cluster means یه جورایی مهمه. چرا؟ چون شما با نگاه کردن به ردیف ها که نماینده هر خوشه هستند می‌تونید مقایسه کنید که واریانس کدوم متغیر زیاد تره. اینطوری می‌تونید در یک نگاه متوجه شید که کدوم یکی از متغیر ها در خوشه‌بندی تاثیر بیشتری گذاشتند. هرچی که واریانس بین خوشه ها در یک متغیر خاص در جدول میانگین خوشه‌ای بیشتر باشه اون متغیر تاثیر بیشتری در خوشه‌بندی شما گذاشته.?نکته: تو این قسمت واریانس رو توضیح دادم و هرکس با مفهومش آشنا هست می‌تونه این قسمت رو رد کنه :)?واریانس چیه؟ممکنه یه سری بگید واریانس چیه؟ خب ساده بگم واریانس یک آماره هست که نماینده پراکندگی توی داده هاست. آماره واریانس اکثرا در کنار آماره میانگین قرار می‌گیره و اطلاعات مفیدی از داده ها رو بهمون میده. فرمول کلی واریانس جامعه به این صورت محاسبه میشه:سیگما به توان 2 همان واریانس جامعه هست.اگه بخوام تکنیکالی فرمول بالا رو کامل توضیح بدم واریانس جامعه برابر میشه با:مجموع تفاضل های همه رکورد های جامعه از میانگین جامعه به توان دو تقسیم بر تعداد رکورد های جامعه. یا به بیان دیگر1-  از جامعت میانگین بگیر و اسمش رو بذار میو. 2- بعد همه رکورد های جامعه رو تک تک از میانگین کل جامعه که اسمش رو گذاشته بودی میو کم کن.3- نتیجه تفاضل های انجام شده رو تک تک به توان دو برسون4- نتایج به توان دو رسیده رو باهم جمع کن5- مجموع بدست اومده رو به تعداد کل رکورد های جامعه تقسیم کن می‌خوام با ذکر یک مثال از محاسبه واریانس در جدول میانگین خوشه مبحث cluster means رو تموم کنم و برم سر خروجی بعدی. توی جدول میانگین خوشه‌ای این مجموعه داده واریانس متغیر های sepal length و petal length محاسبه شده و به ترتیب برابر با 0.8543489 و  4.736064 هست. میشه این برداشت رو کرد که متغیر petal length به دلیل واریانس بیشتر در این جدول دارای تاثیر گذاری بیشتری روی خوشه بندی هست.این که اهمیت تاثیر گذاری هر متغیر رو توی خوشه بندی محاسبه کنیم شاید الان مهم نباشه ولی در کل برای بهینه کردن مدل خوشه‌بندی‌مون می‌تونه مفید باشه.خب خروجی بعدی Clustering vector هست که نشان می‌ده که هرکدام از مشاهدات به چه خوشه‌ای اختصاص داده شده‌اند. برای مثال اگر دقت کنید مشاهدات 1 تا 50 به خوشه دوم اختصاص داده شدند.Clustering vector:
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[26] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[51] 3 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[76] 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[101] 3 1 3 3 3 3 1 3 3 3 3 3 3 1 1 3 3 3 3 1 3 1 3 1 3
[126] 3 1 1 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 3 3 3 1 3 3 1Available components:
[1] &amp;quotcluster&amp;quot      &amp;quotcenters&amp;quot      &amp;quottotss&amp;quot
[4] &amp;quotwithinss&amp;quot     &amp;quottot.withinss&amp;quot &amp;quotbetweenss&amp;quot
[7] &amp;quotsize&amp;quot         &amp;quotiter&amp;quot         &amp;quotifault&amp;quotخروجی آخر هم همونطور که در مطلب الگوریتم های خوشه بندی لوید و فورجی گفتم نشان دهنده مواردی هست که می‌تونید اطلاعات بگیرید از خوشه بندی‌تون. برای مثال ما به کد زیر توجه کنید:&gt; Lloyd$iter
[1] 11این نشان دهنده تعداد تکرار الگوریتم برای رسیدن به بهینه ترین خوشه بندی هست. یا Lloyd$centers به طور خاص فقط جدول میانگین خوشه‌ای رو بهتون خروجی میده و چاپ میکنه.نمودار نقطه‌ای الگوریتم لویددر این نمودار می‌تونید دسته بندی هایی که الگوریتم لوید بر روی داده ها انجام داده رو ببینید:باتوجه به محاسبه متغیر های موثر در خوشه‌بندی الگوریتم لوید در این نمودار از متغیر های طول و عرض گلبرگ که بیشترین تاثیر را در خوشه‌بندی داشتند استفاده شده است.پیاده سازی الگوریتم فورجیتوی قسمت تئوری الگوریتم های لوید و فورجی توضیح داده بودم که الگوریتم لوید توزیع داده ها رو گسسته میدونه در حالی که فورجی این توزیع رو پیوسته میدونه. خب شما در اول این مطلب دیتاست رو دیدید و مشاهده کردید که جنس داده ها پیوسته‌ هست. بنابراین باتوجه به تئوری این درست نیست الگوریتم لوید رو روی این دیتاست پیاده سازی کنیم اما صرفا برای این که بدونیم چه اتفاقی میوفته این کار رو کردیم. حالا با این علم که فورجی درست تره برای پیاده سازی خوشه‌بندی بر روی این مجموعه داده می‌ریم سراغ پیاده سازیش :)راستش کد ها و توضیح و شرح خروجی ها زیاد متفاوت نیست با الگوریتم لوید اما بهتره به صورت یک جا پیاده سازی این الگوریتم هم ببینیم:&gt; #Forgy Algorithm
&gt; Forgy = kmeans(iris1, 3, algorithm =&amp;quotForgy&amp;quot)
&gt; Forgy
K-means clustering with 3 clusters of sizes 50, 61, 39Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000
2     5.883607    2.740984     4.388525    1.434426
3     6.853846    3.076923     5.715385    2.053846Clustering vector:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[26] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[51] 3 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[76] 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[101] 3 2 3 3 3 3 2 3 3 3 3 3 3 2 2 3 3 3 3 2 3 2 3 2 3
[126] 3 2 2 3 3 3 3 3 2 3 3 3 3 2 3 3 3 2 3 3 3 2 3 3 2Available components:
[1] &amp;quotcluster&amp;quot      &amp;quotcenters&amp;quot      &amp;quottotss&amp;quot
[4] &amp;quotwithinss&amp;quot     &amp;quottot.withinss&amp;quot &amp;quotbetweenss&amp;quot
[7] &amp;quotsize&amp;quot         &amp;quotiter&amp;quot         &amp;quotifault&amp;quot&gt; Forgy$iter
[1] 4با توجه به نتایج بالا تعداد تکرار در اجرای این الگوریتم برابر با 4 شده است و درحالت کلی از 150 داده، 50 مشاهده به خوشه 1، 61 مشاهده به خوشه 2 و 39 مشاهده به خوشه 3 ام تعلق گرفته.با مقایسه نتایج جدول میانگین مشخصه های هر خوشه در اجرای الگوریتم لوید و فورجی بر روی مجموعه داده Iris می‌توان دریافت که هر دوی این الگوریتم ها خروجی یکسان دادند. با این تفاوت که تعداد تکرار در الگوریتم لوید بیشتر از تعداد تکرار در الگوریتم فورجی است. در عمل خوشه های سوم این الگوریتم ها با یکدیگر برابر است؛ با توجه به اختیاری بودن برچسب ها در الگوریتم ها مشاهده می‌شود خوشه های الگوریتم لوید و فورجی بایکدیگر برابرند. دلیل این برابری هم همون‌طور که در بخش نظری نیز به اون پرداخته شد، اینه که این دو الگوریتم عملکرد یکسانی دارند.نمودار نقطه‌ای الگوریتم فورجیدر این نمودار می‌تونید دسته بندی هایی که الگوریتم فورجی بر روی داده ها انجام داده رو ببینید:باتوجه به محاسبه متغیر های موثر در خوشه‌بندی الگوریتم فورجی در این نمودار از متغیر های طول و عرض گلبرگ که بیشترین تاثیر را در خوشه‌بندی داشتند استفاده شده است. مقایسه دو الگوریتم لوید و فورجی در دیتاست Irisدر آخر می‌تونم بگم اگر دو تا نمودار خوشه‌بندی الگوریتم های لوید و فورجی رو باهم مقایسه کنیم به راحتی می‌تونیم این مساله که این دو الگوریتم هیچ تفاوت عملکردی ای توی خوشه‌بندی دیتاست Iris نداشتند؛ ببینیم. تنها تفاوت تعداد تکرار ها بود که الگوریتم فورجی به دلیل تکرار کمتر عملکرد بهتری داشته تا به اینجا.?نکته مهم: این که نتیجه پیاده سازی این دو الگوریتم روی مجموعه داده آموزشی Iris کاملا یکسان بوده دلیل نمیشه که عملکردشون کاملا یکسان باشه. این فقط یک مثال از پیاده سازی این دو تا الگوریتم روی یک دیتاست کاملا آموزشی بود.خب این مطلب تازه یک مقدمه از پیاده سازی الگوریتم ها و مقایسه سطحی‌شون باهم بود؛ هنوز کلی سوال هست که جواب داده نشده و هر مطلبی که جلوتر می‌ریم یک لول عمیق‌تر می‌شیم. سعی می‌کنم در مطالب بعدی با پیاده سازی این دو الگوریتم بر روی یک مجموعه داده بزرگ‌تر نتایج و عملکرد هاشون رو باهم مقایسه کنم.مطالبی که پیشنهاد می‌کنم به ترتیب اولویت در این رشته مبحث بخونید به این صورته:1- یادگیری ماشین و مدل سازی آماری(شباهت ها و تفاوت ها)2- یادگیری تحت نظارت و بدون نظارت در یادگیری ماشین در سه دقیقه3- خوشه بندی چیست و چگونه عمل می‌کند؟4- معرفی روش خوشه بندی K-means5- الگوریتم های خوشه بندی لوید و فورجی(K-means)6- الگوریتم های خوشه بندی هارتیگان-ونگ و مک‌کوئین (K-means)خوشحال می‌شم اگه بازخوردی دارید حتما بهم پیشنهاد بدید :)</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Wed, 14 Apr 2021 20:49:03 +0430</pubDate>
            </item>
                    <item>
                <title>الگوریتم های خوشه بندی هارتیگان-ونگ و مک‌کوئین (K-means)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D8%AE%D9%88%D8%B4%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D9%87%D8%A7%D8%B1%D8%AA%DB%8C%DA%AF%D8%A7%D9%86-%D9%88%D9%86%DA%AF-%D9%88-%D9%85%DA%A9-%DA%A9%D9%88%D8%A6%DB%8C%D9%86-k-means-nxwsu8eufxxh</link>
                <description>در مطلب معرفی روش خوشه بندی K-means به معرفی کلی این روش پرداختم و الگوریتم های آن را به صورت موردی نام بردم. در مطلب الگوریتم های خوشه بندی لوید و فورجی نیز به توضیح کامل چگونگی کارکرد این الگوریتم ها پرداختیم. در این مطلب قصد دارم به طور دقیق الگوریتم های هارتیگان-ونگ و مک‌کوئین رو که از دسته الگوریتم های روش خوشه بندی k-means هستند؛ معرفی کنم.اگر حس می‌کنید نیاز به معرفی روش k-means یا یادگیری بدون نظارت دارید حتما مطالب قبلی انتشارات شرکت علم داده ارزیاب رو بخونید.قسمت دوم معرفی الگوریتم های خوشه بندی k-meansالگوریتم هارتیگان-ونگ(Hartigan-Wong&#x27;s Algorithm)الگوریتم هارتیگان یک جایگزین ابتکاری برای الگوریتم لوید هست. در این روش نیز مانند الگوریتم لوید، ابتدا مشاهدات به طور تصادفی به k گروه تقسیم می‌شوند. با توجه به نماد های معرفی شده در مطلب روش خوشه بندی k-mean، نماد C نماینده مراکز خوشه ها است. در الگوریتم هارتیگان پس از تقسیم تصادفی مشاهدات به k خوشه، Ck (چون توی ویرگول نمیشه حروف اندیس دار گذاشت شما به این صورت بخونید: C با اندیس k)  مجموعه به وجود می‌آید که مشاهدات در این مجموعه ها تقسیم بندی شده‌اند. پس از آن اگر فرض کنیم از k خوشه، مقادیر m و n انتخاب شده باشند و مشاهده‌ای از خوشه n ام را در نظر بگیریم که تابع زیر را کمینه سازد؛ مقدار x از خوشه n ام به خوشه m ام منتقل می‌شود:تابع متوقف کننده الگوریتم هارتیگان-ونگدر نتیجه مشاهده نام برده در C با اندیس m قرار می‌گیرد و در نهایت زمانی که برای هر n و m و x مقدار  تابع بالا بیشتر از صفر باشد، الگوریتم متوقف می‌شود.در ادامه میخوام به توضیح این که الگوریتم چطوری کار می‌کنه بپردازم ولی قبلش ترجیح میدم برای درک بهتر یک سری تعاریف رو یادآوری کنم:سانتروئید مرکز هندسی یک جسم محدب است که می‌توان از اون به عنوان تعمیمی از میانگین یاد کرد.فرمول تابع هدف SSE(C) به صورت زیر هست:تابع هدف SSE(C)خب حالا که مفاهیم قبلی یادآوری شد در این قسمت به شبه دستور العمل های تکرار های الگوریتم هارتیگان-ونگ پرداختم:تعداد خوشه ها انتخاب می‌شوند.مشخصه های قابل استفاده انتخاب می‌شوند.روشی برای برگزیدن سانتروئید های اولیه انتخاب می‌شود.سانتروئید های اولیه انتخاب می‌شوند.مشاهدات به نزدیک‌ترین سانتروئید اختصاص داده می‌شوند.سانتروئید ها محاسبه می‌شوند.به ازای هر i کوچک‌تر مساوی تعداد خوشه ها، اگر سانتروئید i در آخرین تکرار به روز شده باشد:        الف) SSE در داخل هر خوشه محاسبه می‌شود.         ب) به ازای هر j کوچک‌تر مساوی با تعداد مشاهدات در خوشه:                ب-1) اگر مشاهده در خوشه باشد، SSE برای خوشه k مخالف i محاسبه می‌شود.                ب-2) اگر SSE خوشه k ام از SSE خوشه i کوچک‌تر باشد، خوشه که شامل مشاهده است؛ تغییر داده می‌شود.الگوریتم مک کوئین(MacQueen Algorithm)الگوریتم مک کوئین نیز یک الگوریتم تکرار شونده است. تفاوت اصلی این الگوریتم با الگوریتم های لوید و فورجی در این است که هر باری که یک مشاهده فضای فرعی را تغییر می‌دهد و همچنین پس از طی شدن همه‌ی مراحل؛ سانتروئید ها دوباره محاسبه می‌شود. مقدار دهی اولیه سانتروئید ها به همان صورت است که در الگوریتم های لوید و فورجی صورت می‌گیرد و تکرار ها به شرح زیر هست:برای هر مشاهده به تنهایی، اگر زیر فضایی که سانتروئید در حال حاضر به آن تعلق دارد؛ نزدیکترین مرکز باشد، تغییری ایجاد نمی‌شود. اما اگر مشاهده به سانتروئید دیگری نزدیک‌تر باشد؛ آنگاه به خوشه‌ی دیگر منتقل می‌شود و با توجه به مشاهده جدید تعلق گرفته به خوشه جدید، مراکز خوشه ها برای هر دو خوشه‌ی قدیمی و جدید به صورت میانگین مشاهدات متعلق به آن خوشه ها، دوباره محاسبه می‌شوند.گفته میشه که این الگوریتم نسبت به الگوریتم های لوید و فورجی بسیار کارآمد تر هست چراکه مراکز خوشه ها را سریعتر به روز می‌کند و معمولا به منظور همگرا کردن مساله نیاز دارد که از طریق یک مشاهده یک مرحله را به طور کامل اجرا کند.در این جا شبه دستور العمل های تکرار ها توصیف شده:تعداد خوشه ها انتخاب می‌شوند.مشخصه های قابل استفاده انتخاب می‌شوند.روشی برای برگزیدن سانتروئید های اولیه انتخاب می‌شود.سانتروئید های اولیه انتخاب می‌شوند.تا زمانی که مشخصه‌ی سانتروئید ها و مشاهدات بیشتر از آستانه هستند:       الف) برای هر i کوچک‌تر مساوی با مشاهدات:                الف-1) مشاهده i ام به نزدیک‌ترین خوشه در مشخصه مورد نظر اختصاص داده می‌شود.                الف-2) مراکز خوشه ها برای دو خوشه تحت تاثیر واقع شده، دوباره محاسبه می‌شوند.       ب) مراکز خوشه ها دوباره محاسبه می‌شوند.کد های زبان R برای پیاده سازی الگوریتم های هارتیگان-ونگ و مک‌کوئیندر این جا باید بگم پیاده سازی این الگوریتم ها در زبان برنامه‌نویسی R تفاوتی با پیاده سازی الگوریتم های لوید و فورجی نداره و حتی خروجی ها هم یکسان هست. بهرحال کد های برنامه R برای پیاده سازی الگوریتم هارتیگان-ونگ به صورت زیر هست:Hartigan = kmeans(data, k,algorithm =&amp;quotHartigan-Wong&amp;quot)
Hartiganبرای این که بدونید دقیقا ورودی ها و خروجی های کد هایی که قرار دادم به چه صورته حتما قسمت &quot;کد های زبان R برای پیاده سازی الگوریتم های لوید و فورجی&quot; رو که در مطلب الگوریتم های خوشه‌بندی لوید و فورجی منتشر کردم؛ بخونید.کد های پیاده سازی الگوریتم مک‌کوئین در زبان R نیز به صورت زیر است:MacQueen = kmeans(data, k, algorithm =&amp;quotMacQueen&amp;quot)
MacQueenجمع بندیدر این مطلب و مطلب قبلی به صورت جامع به نحوه کارکرد الگوریتم های خوشه بندی k-means پرداختم و مختصری از پیاده سازی هر کدام در زبان R رو توضیح دادم. خب... چون می‌خواستم مطالب در مرحله اول جامع باشه و بعد کاملش کنم یه سری سوال ها از مطلب قبلی و حتی این مطلب مونده که باید پاسخ داده بشه. مثلا سوالاتی از این قبیل که k رو چطور باید تعیین کنیم یا این که کدوم یکی ازین الگوریتم ها برای پیاده سازی بهتر هست؟ البته درباره نحوه استفاده از فورجی و لوید صحبت هایی کردم ولی درباره این مساله که از بین این 4 الگوریتم کدومشون عملکرد بهتری داره بحث زیادی نکردم.مسیری که در ادامه قراره در این رشته مبحث خوشه بندی K-means طی کنم به صورت زیر هست:پیاده سازی الگوریتم های لوید و فورجی بر روی یک یا دو مجموعه دادهپیاده سازی الگوریتم هارتیگان-ونگ و مک‌کوئین بر روی یک یا دو مجموعه دادهسنجش کیفیت خوشه‌بندی ها و مقایسه 4 الگوریتم با یکدیگرامیدوارم عمری باقی بمونه تا بتونم ادامش رو بنویسم :)</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Mon, 05 Apr 2021 18:09:06 +0430</pubDate>
            </item>
                    <item>
                <title>الگوریتم های خوشه بندی لوید و فورجی(K-means)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/httpsvirgooliofatemehsafavipour%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D8%AE%D9%88%D8%B4%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%D9%84%D9%88%DB%8C%D8%AF-%D9%88-%D9%81%D9%88%D8%B1%D8%AC%DB%8Ck-means-pgecwrmw51kk</link>
                <description>در مطلب معرفی روش خوشه بندی K-means به معرفی کلی این روش پرداختم و الگوریتم های آن را به صورت موردی نام بردم. در این مطلب قصد دارم به طور دقیق الگوریتم های لوید و فورجی رو که از دسته الگوریتم های روش خوشه بندی k-means هستند؛ معرفی کنم. اگر حس می‌کنید نیاز به معرفی روش k-means یا یادگیری بدون نظارت دارید حتما مطالب قبلی انتشارات شرکت علم داده ارزیاب رو بخونید.خیلی ها روش k-means رو به اسم این الگوریتم ها میشناسن. درصورتی که وقتی میگن k-means منظورشون یکی از الگوریتم های لوید یا فورجی هست.الگوریتم لوید(Lloyd’s Algorithm):در سال 1957 استوارت لوید، یک الگوریتم تکرار شونده ساده رو پیشنهاد داد تا به طور موثر یک کمینه محلی برای مساله خوشه بندی پیدا کند. این الگوریتم به این صورت عمل می‌کند که ابتدا به صورت تصادفی k نقطه رو به عنوان مراکز خوشه ها انتخاب می‌کند. سپس فاصله مشاهدات رو از مرکز هر خوشه می‌سنجد و نزدیک ترین فاصله را برای اختصاص دادن نقطه در آن خوشه انتخاب می‌کند. سپس با توجه به نقاط قرار گرفته در خوشه، میانگین جدید در هر خوشه محاسبه می‌شود. پس از محاسبه میانگین های جدید دوباره فاصله نقاط تا هر میانگین بررسی شده و دوباره نزدیک ترین فاصله هر نقطه تا میانگین جدید محاسبه می‌شود و نقاط در خوشه های جدید قرار می‌گیرند. این کار تا زمانی ادامه می‌یابد که تابع هدف (C)SSE که در اون C ها مراکز خوشه ها هستند؛ کمینه شود.تابع هدف SSE(C)هدف ما در این الگوریتم این است که مراکز k خوشه را بنابر تابع هدف SSE که مربع فاصله بین تمام نقاط تا نزدیک ترین مرکز خوشه است؛ بیابیم.در حالت کلی الگوریتم لوید به صورت زیر خلاصه میشه:در قدم اول k نقطه تصادفی به عنوان مراکز خوشه انتخاب می‌شوند. فاصله هر مشاهده تا مراکز تصادفی محاسبه شده و هر مشاهده که کمترین فاصله رو تا مرکز خوشه‌ای خاص داره به اون خوشه تعلق می‌گیره.در قدم سوم و پس از تشکیل خوشه ها، میانگین جدید مشاهدات هر خوشه محاسبه میشه و به عنوان مرکز جدید خوشه معرفی میشه.در قدم بعدی دوباره فاصله هر مشاهده تا مراکز جدید خوشه ها محاسبه میشه و هر مشاهده که کمترین فاصله رو تا مرکز جدید خوشه داره به اون مرکز تعلق می‌گیره.انقدر این الگوریتم تکرار میشه که که تابع هدف معرفی شده مینیمم بشه.الگوریتم فورجی(Forgy Algorithm)الگوریتم های لوید و فورجی هر دو جزء مدل های مرکزوار دسته‌ای(سانتروئیدی دسته‌ای) هستند. سانتروئید مرکز هندسی یک جسم محدب است که می‌توان از اون به عنوان تعمیمی از میانگین یاد کرد. الگوریتم های دسته‌ای، الگوریتم هایی هستند که در یک قدم همه تغییرات به تمام مشاهدات اعمال می‌شوند. از آن جایی که الگوریتم های افزایشی k-mean برای عضویت خوشه‌ای هر مشاهده یا انجام محاسبات دو خوشه نزدیک برای پردازش هر مشاهده نیاز به ذخیره دارند، که از نظر محاسباتی در داده های بزرگ گران هستند؛ بنابراین با در نظر گرفتن بهینه بودن، بهتره از الگوریتم های لوید و فورجی برای تحلیل مجموعه داده های بزرگ استفاده شود. تفاوت بین الگوریتم های لوید و فورجی در اینه که الگوریتم لوید توزیع داده رو گسسته می‌دونه در حالی که توزیع داده ها در الگوریتم فورجی پیوسته فرض شده. روند اجرای این دو الگوریتم دقیقا همانند یکدیگر هست که در بخش قبل به این الگوریتم پرداخته شد.کد های زبان R برای پیاده سازی الگوریتم های لوید و فورجیخب اول از همه بگم که شما آزادید با هر زبان برنامه نویسی ای که راحت ترید با مجموعه داده هاتون کار کنید و الگوریتم ها رو پیاده سازی کنید. معمولا برای پیاده سازی الگوریتم های یادگیری ماشین یا از R استفاده می‌کنند یا از پایتون که معرف حضورتون هست. استفاده از هرکدومشون هم باتوجه به نوع کاری که دارید مزایای خودشون رو دارند. توی این مطلب من قصد دارم پیاده سازی این الگوریتم ها رو با زبان R بهتون بگم اما خب شما به راحتی می‌تونید مشابه این کد ها رو توی پایتون هم پیدا کنید.کد های R برای پیاده سازی الگوریتم لوید به صورت زیر هست:Lloyd =  kmeans(data, k, algorithm =&amp;quotLloyd&amp;quot)
Lloydخط اول کد تابع kmeans ازتون دو تا ورودی می‌گیره. اولیش مجموعه داده هست که در قالب دیتافریم باید به تابع این ورودی رو بدید و مهمه که داده شما عددی باشه. یعنی مثلا اگه توی مجموعه داده شما ستونی به اسم جنسیت وجود داره که مقادیرش زن و مرد هست باید مقادیرش رو عددی کنید و برای خودتون کد گذاری کنید.مثلا بگید زن معادل عدد 1 و مرد معادل هدد 0 در مجموعه داده تغییر یافته ای هست که میخوام به تابع kmeans ورودی بدم. ورودی بعدی این تابع تعداد خوشه هایی هست که میخواید مجموعه داده شما خوشه بندی بشه. برای توضیح بهتر همون مثال معروف داده های iris رو میگم که معرف مشخصات سه نوع گل هست؛ اگه بخوایم این الگوریتم رو برای این داده ها پیاده سازی کنیم k رو برابر با 3 در نظر میگیریم.در نهایت مقدار algorithm رو در این تابع باید برابر با &quot;Lloyd&quot; قرار بدید تا الگوریتم لوید روی مجموعه داده شما اجرا بشه.خب شما توی خط اول دارید تابع kmeans رو اجرا میکنید و نتایج اون رو در متغیری به اسم Lloyd می‌ریزید. شما می‌تونید این نتایج رو توی متغیر با اسم های دیگه هم بریزید. نکته این قسمت اینه که Lloyd فقط یه متغیر هست که نتایج الگوریتم اجرا شده رو نشون میده. این متغیر میتونه هر اسم دیگه ای هم داشته باشه؛ مثلا میتونه اسمش fatemeh باشه :)توی خط دوم شما دارید به R می‌گید که نتایج رو براتون پرینت کنه و با این دستور شما چندین خروجی می‌بینید:1- Cluster means(میانگین های خوشه ها)2- Clustering vector(بردار خوشه بندی)3- Available components(اجزای موجود)خروجی اول به شما یک به اصطلاح جدولی(table) رو نشون میده که ستون های اون شامل متغیر های مجموعه داده شماست که به تابع ورودی دادید و سطر های اون نشان دهنده میانگین هر خوشه به تفکیک متغیر های مجموعه داده شما هست. مثلا اگه شما k رو برابر با 3 در نظر گرفته باشید و مجموعه داده شما 4 تا متغیر داشته باشه؛ جدولی که به شما خروجی داده میشه شامل 4 ستون معرف متغر های شما و 3 سطر معرف تعداد خوشه هاست. مقادیر داخل جدول هم میانگین هر خوشه در متغیر مورد نظر را نشان می‌دهد.خروجی دوم به صورت یک وکتور هست که بهتون نشون میده که بعد از پیاده سازی الگوریتم هر کدوم از مشاهدات شما به چه خوشه‌ای تعلق گرفتند. بنابراین طول وکتور شما باید به اندازه طول مشاهدات در مجموعه داده شما باشه.خروجی سوم صرفا نشان دهنده نام اجزائی هست که می‌تونید از نتایج تابع خروجی بگیرید. این قسمت میتونه کمک کننده باشه بهتون برای استفاده در تحلیل داده. نمونه ای ازین خروجی رو سعی کردم در این قسمت بیارم:Available components:[1] &quot;cluster&quot;      &quot;centers&quot;      &quot;totss&quot;        &quot;withinss&quot;     &quot;tot.withinss&quot; &quot;betweenss&quot;    &quot;size&quot;         &quot;iter&quot;    &quot;ifaultاین اسم اجزائی هست که اگر صداشون بزنید(به اصطلاح کال کنیدشون) اطلاعات مخصوص به خودشون رو در خوشه بندی اجرا شده چاپ می‌کنند. مثلا اگر تایپ کنید Lloyd$iter تعداد تکرار الگوریتم تا رسیدن به نتایج بهینه رو براتون چاپ میکنه.کد های R برای پیاده سازی الگوریتم فورجی به صورت زیر هست:Forgy = kmeans(data, k, algorithm =&amp;quotForgy&amp;quot)
Forgyهمونطور که می‌بینید تنها تفاوت های این کد با کد اجرا شده برای الگوریتم لوید یکی در نام گذاری متغیری هست که نتایج قراره توی اون ریخته بشه و دومی اسم الگوریتم الگوریتم در قسمت algorithm هست. بقیه توضیحاتی که برای لوید دادم قطعا برای پیاده سازی الگوریتم فورجی هم صدق می‌کنه.همونطور که در بخش بررسی تئوری مربوط به فورجی هم گفته شد تفاوت این دو تا الگوریتم توی اینه که توزیع داده های ما در لوید گسسته فرض میشن و توی فورجی پیوسته. پس قطعا توی کد به ارور نمی‌خورید اگه توزیع داده هاتون مثلا گسسته باشن ولی فورجی رو اجرا کرده باشید. مساله بیشتر اینه که خودتون تا چه حد تئوری رو رعایت کردید. اگه بخوام یه مثال به خصوص توی زمینه مدل سازی های آماری بزنم مثل این می‌مونه که توی برازش مدل رگرسیونی شما فروض قبل از برازش رو نادیده گرفته باشید ولی خب توی کد به شما ارور نمیده که نمیتونه خط رو برازش بده؛ صرفا کارتون از نظر علمی نادرست میشه.سوالات متداول درباره الگوریتم های خوشه بندی K-meansاگر براتون سوال پیش اومده که از کجا تعداد k رو محاسبه کنیم و توی این الگوریتم بهش بدیم باید بگم بنا بر مجموعه داده ای که دارید باهاش کار می‌کنید متفاوته این تعداد. بعضی اوقات ممکنه شما دیدی داشته باشید نسبت به مجموعه داده و تعداد k رو حدس بزنید؛ مثل مجموعه داده معروف iris که میدونیم توی این مجموعه داده 3 نوع گل وجود داره. پس تعداد خوشه ها رو برابر با 3 قرار می‌دیم. خیلی جا ها هم دید کافی نسبت به مجموعه داده نداریم و نمی‌دونیم بهتره که k چه عددی باشه. در این جور جا ها بهتره که چندین k رو با الگوریتم های پیشنهادی پیاده سازی کنیم و در نهایت با توجه به کیفیت خوشه بندی بسنجیم که کدوم k مناسب تر بوده. خب سوال بعدی اینه که کیفیت خوشه بندی رو چجوری بفهمیم؟؟ این باز مساله ای هست که راه های مختلف داره و حوصلش ازین مطلب خارجه. در بحث های بعدی سعی می‌کنم به این مطلب هم بپردازم و با پیاده سازی روی مجموعه داده های مختلف بهتون کیفیت خوشه بندی رو توضیح بدم.در این قسمت فرصت شد تا دو تا از الگوریتم های روش k-means رو توضیح بدم. در قسمت های بعد حتما سعی می‌کنم به بقیه الگوریتم های این روش هم بپردازم. </description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Tue, 26 Jan 2021 19:07:34 +0330</pubDate>
            </item>
                    <item>
                <title>چالش های ارزیاب در جذب نیرو و مسیر علم داده ارزیاب</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/httpsvirgooliofatemehsafavipour%DA%86%D8%A7%D9%84%D8%B4-%D9%87%D8%A7%DB%8C-%D8%A7%D8%B1%D8%B2%DB%8C%D8%A7%D8%A8-%D8%AF%D8%B1-%D8%AC%D8%B0%D8%A8-%D9%86%DB%8C%D8%B1%D9%88-%D9%88-%D9%85%D8%B3%DB%8C%D8%B1-%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A7%D8%B1%D8%B2%DB%8C%D8%A7%D8%A8-kbrkwcs8keff</link>
                <description>تقریبا اوایل ترم 6 کارشناسیم بودم که دنبال کار مرتبط با رشتم می‌گشتم و البته از ترم 3 خارج از دانشگاه، مطالعات آزاد داشتم و سعی می‌کردم اون چیزی که برای جذب به یه تیم خوب نیاز هست رو یاد بگیرم. از همون ترم 3 شروع کردم مهارت برنامه نویسی رو در خودم تقویت کردم و R رو یاد گرفتم و بعدش شروع کردم روی پایتون وقت گذاشتن. تابستون بین ترم 4 و 5 بود که با چند تا از بچه های دیگه جمع شدیم و به کمک یکی از اساتید کتاب دیتاماینینگ رو خوندیم و تمریناش رو حل کردیم و همون تابستون بود که قبل از این که درس رگرسیون رو داشته باشم اون رو از یکی از استادام در تحلیل پروژه ای که برای انجمن علمی تعریف کرده بودیم یادگرفتم و به کار بردم. این شد که ترم 6 فکر کردم مقدار اولیه دانش و مهارت رو دارم و باید دنبال جایی بگردم که بتونم این توانایی ها رو بهتر کنم و چیز های جدید یاد بگیرم. راستش اون موقع فقط برام مهم بود که یاد بگیرم. خوشبختانه و از شانس خیلی خوبم همون موقع ها که دنبال کار می‌گشتم با تیم ارزیاب آشنا شدم و دو تا مصاحبه رفتم و به عنوان کارآموز قبول شدم. روزای اول کارآموزی هم هیجان انگیز بود برام هم چیزای زیادی یاد می‌گرفتم. با مسائل کاربردی آشنا می‌شدم و هر روز توانایی هام بهتر می‌شد. باوجود این که کارآموز بودم ولی در پروژه های مختلف درگیر می‌شدم و اغلب اوقات مدیرم از من برای حل مساله های مختلف راه حل می‌خواست. شاید حتی بعضی اوقات راه حل های سختی ارائه می‌دادم که خودمم می‌دونستم شاید توی واقعیت نتونم با این سطح از دانش پیاده سازیش کنم. اما این خیلی برام جالب و قشنگ بود که توی اکثر مسائل، شرکت داده می‌شدم و ازم خواسته می‌شد راه حل ارائه بدم. 3 ماه گذشت و کم کم با کمک لیدر هام توی تیم به توانایی هایی رسیدم که می‌تونستم توی پروژه های اصلی شرکت کنم و بخشی ازون ها باشم.الان که تقریبا 2 سال از جوین شدن من به شرکت ارزیاب می‌گذره هنوز اون خاطرات برام شیرین اند و البته تکرار نشدنی... البته عطش من برای انجام دادن کار و یاد گرفتن هنوزم مثل سابق هست و خیلی خودمو خوش شانس می‌دونم که ارزیاب یکی از بهترین اتفاق های زندگیم بود.چالش های ارزیاب در جذب نیروتقریبا چند وقت پیش بود که می‌خواستیم به تیم های مختلف ارزیاب نیرو اضافه کنیم تا با اضافه شدن اون ها کار سریعتر جلو بره و بتونیم به کلاینت های بیشتری خدمت رسانی کنیم. برای همین لیستی از افرادی که می‌تونیم باهاشون کار کنیم رو درست کردیم و همینطور در فضای مجازی منتشر کردیم که به دنبال جذب نیرو هستیم. خب این خیلی طبیعی هست که وقتی فردی به یک سازمان بخواد اضافه بشه علاوه بر توانایی هایی که باید برای اون پست داشته باشه؛ مهمه که با فرهنگ تیمی اون سازمان ارتباط خوبی برقرار کنه. ازین موارد بگذریم، مد نظر داشتیم افرادی رو جذب تیم کنیم که فارغ التحصیل شده باشن یا در صدد فارغ التحصیلی باشن. خیلی خلاصه بخوام بگم هر فردی که مصاحبه می‌شد تقریبا یکی از موارد زیر براش وجود داشت که ارزیاب نمی‌تونست بنا به استاندارد هاش اون فرد رو جذب کنه:نداشتن مهارت حل مسالهبلد نبودن ابزار های رشته های مرتبط با علم دادهنداشتن انگیزه پیشرفت که یکی از مولفه های فرهنگ تیمی ارزیاب هست.خب قطعا مساله نداشتن انگیزه پیشرفت چیزی نیست که ارزیاب بتونه توی افراد حلش بکنه اما برای دو مورد دیگه پیشنهاد تیم منابع انسانی ارزیاب این بود که چطوره که فرصتی آماده کنیم تا هم توش آموزش باشه و هم رقابت و از طرف دیگه افراد با استاندارد های ارزیاب تربیت بشن و فرصتی باشه برای افراد علاقه مند که شاید بتونیم در ادامه باهاشون همکاری کنیم.مسیر علم داده ارزیاببرای حل چالشی که گفتم تیم آموزشی ارزیاب سعی کرد یه برنامه آموزشی تدوین کنه که هم ارزیاب فرصت آشنایی با افراد جدید علاقه مند و با انگیزه رو داشته باشه و هم ارزش ها و استاندارد های ارزیاب در جذب نیرو رعایت بشه. مسیر علم داده ارزیاب یک فرصت برای علاقه مندان به فعالیت در زمینه علم داده هست که رشته های مرتبط با این دانش رو خوندند. این مسیر شامل آموزش های مقدماتی و پیشرفته ابزار های علم داده هست که در خلال یادگیری این ابزار ها توانایی حل مساله هم میشه کسب کرد و از همه مهم تر با داده های متفاوت و مسائل مختلف دنیای تجارت آشنا شد. ارزیاب سعی کرده هزینه برگزاری این دوره ها رو به حداقل برسونه و حتی بودجه آموزشی برای مدرسین با استاندارد های خودش برای برگزاری بهتر این کارگاه ها اختصاص بده. الان ارزیاب در ابتدای این مسیره و قصد این مطلب معرفی کردن این مسیر هست. در ادامه به ترتیب اولویت کارگاه ها و دوره هایی که در این مسیر طی میشه رو معرفی می‌کنم:کارگاه اکسل مقدماتی(از پاکسازی تا گزارش گیری داده ها)کارگاه پایتون مقدماتی(پروژه محور و با رویکرد علم داده)کارگاه مقدماتی Power BI(تولید گزارش از داده)کارگاه مقدماتی SQL(پایگاه داده برای علم داده)کمپ علم داده ارزیاب که نفرات برتر دوره های مقدماتی می‌تونند به صورت رایگان در این کمپ شرکت کنند.تربیت نیرو های جوان و با انگیزه طبق ارزش ها و استاندارد های ارزیاب یکی از اهداف مسیر علم داده ای است که شرکت ارزیاب برای جذب نیرو تدوین کرده است. الان که این مطلب رو می‌نویسم دو تا از کارگاه ها در حال ثبت نام هستند و لینکشون در این مطلب قرار گرفته. هر کدوم دیگه که بخواد برگزار بشه این مطلب رو آپدیت می‌کنم.اگر درباره مسیر علم داده ارزیاب سوالی دارید می‌تونید کامنت کنید و یا به هریک از شبکه های اجتماعی ارزیاب پیام بدید:اینستاگرام ارزیابلینکدین ارزیاباگر فکر می‌کنید این مطلب برای دوستانتون مفید هست با اون ها به اشتراک بگذارید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Sun, 29 Nov 2020 16:20:36 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی روش خوشه بندی K-means</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D8%B1%D9%88%D8%B4-%D8%AE%D9%88%D8%B4%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-k-means-myirpwqohwjs</link>
                <description>در مطلب خوشه بندی چیست و چگونه عمل می‌کند؟ به معرفی کلی خوشه‌بندی و تئوری آن پرداختیم. در این مطلب قصد داریم به معرفی روش k-means یا به طور معادل k-میانگین که از روش های متداول خوشه بندی است؛ بپردازیم و الگوریتم های آن را معرفی کنیم. لازم می‌دونم ذکر کنم بخشی از این مطلب برگرفته شده از پایان نامه کارشناسی ارشد مربی و منتور من، اشکان چکاک هست.روش k-mean جزء روش های یادگیری بدون نظارت هست که هدف آن خوشه بندی کردن داده ها بر اساس ویژگی های آن هاست. سری مباحث خوشه بندیدر ابتدا و قبل از شروع مبحث باید بگم سعی کردم که مباحث خوشه‌بندی رو به صورت یک سلسه و سری که از دیدگاه کل به جزء بررسی می‌شه رو باهاتون به اشتراک بگذارم. این سلسله مباحث به ترتیب اولویت زیر لیست شده اند و پیشنهاد من برای بهتر درک کردن این مباحث اینه که به ترتیب بخونید و البته اگه مطلبی رو بلدید می‌تونید برید سراغ بعدی :)1- یادگیری ماشین و مدل سازی آماری(شباهت ها و تفاوت ها)2- یادگیری تحت نظارت و بدون نظارت در یادگیری ماشین در سه دقیقه3- خوشه بندی چیست و چگونه عمل می‌کند؟4- معرفی روش خوشه بندی K-means5- الگوریتم های خوشه بندی لوید و فورجی(K-means)6- الگوریتم های خوشه بندی هارتیگان-ونگ و مک‌کوئین (K-means)7- پیاده سازی الگوریتم های لوید و فورجی - قسمت اول (مجموعه داده Iris)8- پیاده سازی الگوریتم های لوید و فورجی - قسمت دوم(مجموعه داده Diamond)کاربرد ها و هدف روش خوشه بندی k-meansخب قبل ازین که بحث تخصصی بشه؛ خوبه که به چند تا کاربرد از روش k-means و همین‌طور هدف این روش پرداخته بشه. همونطور که قبل تر در مطلب «خوشه بندی چیست؟» گفته شد، هدف از خوشه بندی کردن داده ها، قرار گرقتن داده های مشابه‌تر در یک خوشه است. برای مثال اگر یک مجموعه داده خرید مشتریان از یک فروشگاه اینترنتی با متغیر های قیمت محصول، نوع محصول، دسته بندی محصول، تعداد سفارش هر محصول، تعداد محصول در هر سبد خرید مشتری وجود داشته باشد؛ می‌توان با روش های خوشه‌بندی هر مشتری را بر اساس رفتار خرید آنالیز کرد و در خوشه مربوط به خود قرار داد. شاید براتون سوال پیش بیاد خب که چی؟ چرا باید مشتریان رو با آنالیز رفتار خرید خوشه بندی کنیم؟ خب باید بگم این فیلد کاربرد خیلی کلیدی ای داره که می‌تونه فروش یک فروشگاه رو تا چندین برابر افزایش بده. ساده ترین مثالش این هست که میشه بر اساس این رفتار خرید استراتژی فروش چید. مثلا اگر در سبد یک خوشه از مشتریان کالای A و B و C مکررا با هم خریداری شده، می‌توان یک پیشنهاد ویژه برای خرید پک کامل این کالا ها برای مشتریان تدارک دید. البته راه های دیگه‌ای مثل تحلیل مولفه های اصلی(Principal Component Analysis) هم وجود داره برای این دسته کار ها؛ اما با توجه به نوع دیتاست باید دید کدوم روش بهتره. چون روش k-means هم جزء روش های خوشه بندی محسوب میشه، کاربرد و هدف مشابهی داره.هدف الگوریتم های این روش یافتن خوشه هایی در مجموعه داده ها با تعداد خوشه های متغیر K هست.برای مثال اگه بخوایم مشتری ها رو به k گروه خوشه بندی کنیم تا رفتار خرید اون ها رو آنالیز کنیم؛ از الگوریتم های k-means می‌تونیم استفاده کنیم. توی این روش مهمه که k چه عددی باشه و این رو باید خودمون تعیین کنیم. مثلا روی دیتاست iris که هدفش تشخیص سه نوع گل از یک دیگه هست(با فرض ندانستن نوع گل ها)، k برابر با 3 در نظر گرفته میشه. خب سوال جدی این بخش اینه که چطور مقدار k رو تعیین کنیم؟ بسته به نوع دیتاست این مقدار متغیره. حتی بعضی اوقات با دیتاست هایی سر و کار داریم که برای k مقادیر مختلف در نظر می‌گیریم و بعد از خوشه بندی، بهینه ترین خوشه بندی رو انتخاب می‌کنیم. این نکته که چطور میشه بهینه ترین رو انتخاب کرد رو بعدا توضیح میدم.روش خوشه بندی k-meansهمونطور که گفتیم روش k-means جزء روش های یادگیری بدون نظارت هست که هدف آن خوشه بندی کردن داده ها بر اساس ویژگی های آن هاست. در این روش نیاز به یک تابع امتیاز برای ارزیابی میزان کیفیت خوشه بندی داریم. بنابراین نیاز به یک تابع هدف داریم که بتونیم نسبت به اون کیفیت خوشه بندی رو بسنجیم؛ پس تابع توان دوم خطا رو به شکل زیر تعریف می‌کنیم:تابع هدف برای ارزیابی میزان کیفیت خوشه بندیهدف نهایی کمینه کردن تابع توان دوم خطا برای هر خوشه هست. مراحل الگوریتم های روش k-meansاینجا می‌خوام از مراحل الگوریتم های این روش بگم که این مراحل تا زمانی مشخص تکرار میشه:انتخاب k  نقطه به صورت تصادفی؛ در این مرحله به صورت رندوم k نقطه انتخاب میشه و به عنوان مرکز خوشه شناخته میشه.شکل دادن k خوشه بر اساس میزان فاصله هر نقطه تا مراکز انتخابی، به گونه‌ای که برای هر نقطه(داده) فاصله تا تمام مراکز محاسبه می‌شود و نهایتا نقطه(داده) متعلق به خوشه با کمترین فاصله است.تابع محاسبه کمترین فاصله نقطه x از مراکز خوشه C. نقطه(داده) i ام متعلق به خوشه j ام است.بعد از تخصیص نقطه(داده) ها به خوشه، میانگین جدید هر خوشه محاسبه میشه و اون میانگین به عنوان مرکز خوشه قرار میگیره.الگوریتم بالا تا جایی تکرار میشه که فاصله میانگین های دو مرحله پیاپی کمتر از سطح حساسیت مورد نظر بشه:ابسیلون سطح حساسیت است.پلات دو بعدی داده ها قبل از خوشه بندیپلات دو بعدی داده ها بعد از خوشه بندی؛ c1، c2 و c3 مراکز خوشه ها هستند.مزیت ها و معایب روش k-meansروش خوشه بندی k-means  ساده ترین روش برای خوشه بندی داده هاست. از مزیت های این روش می‌توان به سرعت و سهولت استفاده و امکان پیاده سازی برای داده های بزرگ اشاره کرد. از جمله معایب اون هم نیاز حتمی به داشتن تعداد خوشه ها(k) و دقت کم در داده ها با شکل غیر محدب هست.الگوریتم های روش k-meansچون نمیخوام این مطلب بیشتر ازین ادامه داشته باشه در اینجا فقط نام الگوریتم های این روش رو می‌گم و بعدا به چگونگی کارکرد اون ها جزئی تر می‌پردازیم. این روش 4 الگوریتم داره که عبارتند از:الگوریتم لوید(Lloyd’s Algorithm)الگوریتم فورجی(Forgy Algorithm)الگوریتم هاتیگان - ونگ(Hartigan-Wong’s Algorithm)الگوریتم مک کوئین(MacQueen Algorithm)لازم میدونم بگم تمامی این الگوریتم ها مراحل مشخصی که گفته شد رو طی می‌کنند اما در نحوه محاسبه فرمول های متفاوتی دارند.در آخر بهتره اضافه کنم برای دانستن نحوه کارکرد هر یک از الگوریتم های روش k-means کافیه روی لینک اون ها در لیست بالا کلیک کنید تا به صفحه معرفی جامع اون ها راهنمایی بشید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Thu, 26 Nov 2020 16:22:46 +0330</pubDate>
            </item>
                    <item>
                <title>خوشه بندی چیست و چگونه عمل می‌کند؟</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%AE%D9%88%D8%B4%D9%87-%D8%A8%D9%86%D8%AF%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%B9%D9%85%D9%84-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-dwupp2anjtwl</link>
                <description>در مطلب یادگیری تحت نظارت و بدون نظارت به طور مختصر با این دو نوع یادگیری آشنا شدیم و گفتیم در یادگیری بدون نظارت از الگوریتم­ ها و مدل های یادگیری ماشین استفاده می‌­شود که ماشین روی داده ­های بدون برچسب نتیجه ­گیری می­‌کند. در این مطلب قصد دارم به طور کلی به خوشه بندی یا clustering یکی از زیر مجموعه های یادگیری بدون نظارت است؛ بپردازم.خوشه بندی یا clustering یکی از زیر مجموعه های یادگیری بدون نظارت است.کاربرد های خوشه بندیقبل ازین که به توضیح خوشه بندی بپردازم بهتره که کمی با کاربرد های اون آشنا بشیم. از جمله کاربرد های خوشه بندی میشه به استفاده از الگوریتم های این روش در مدل سازی های مربوط به دسته بندی مشتریان جهت به کارگیری در مدیریت ارتباط با مشتری، کشف تقلب در بیمه جهت کاهش زیان شرکت های بیمه، دسته بندی کارمندان جهت کمک به واحد منابع انسانی سازمان ها، متن کاوی جهت تحلیل داده های شبکه های اجتماعی و ... اشاره کرد. خوشه بندی کاربرد های خیلی مختلف داره که خیلی جا ها ازش استفاده می‌شه و قطعا این مثال هایی که زدم فقط بخشی ازین کاربرد ها رو بازگو کرده.خوشه بندیدر تجزیه و تحلیل خوشه یا خوشه بندی، گروه بندی مجموعه‌ای از اشیاء انجام می‌شه. این کار به این صورته که اشیائی که در یک گروه (به نام خوشه) قرار دارند، در مقایسه با اشیاء دیگر دسته‌ها (خوشه ها) مشابه‌تر هستند. این وظیفه اصلی داده کاوی اکتشافی هست و یک روش معمول برای تجزیه و تحلیل داده‌های آماریه. تجزیه و تحلیل خوشه‌ای به تنهایی یک الگوریتم خاص نیست، بلکه یک روند کلی هست و می‌تونه توسط الگوریتم‌های مختلفی به دست بیاد که در درک آنچه که یک خوشه رو تشکیل می‌ده و همین طور نحوه‌ی کارآمدی اون ‌ها متفاوته.خوشه‌ها شامل گروه ‌هایی با فاصله‌ های کم بین اعضای خوشه، مناطق متراکم فضای داده، فواصل و یا توزیع ‌های آماری خاص هستند. بنابراین خوشه بندی می‌تونه به عنوان یک مسئله بهینه سازی چند هدفه صورت بگیره. انتخاب الگوریتم خوشه بندی مناسب و تنظیمات پارامتر (از جمله پارامترهایی مانند تابع فاصله مورد استفاده، آستانه تراکم یا تعداد خوشه مورد انتظار) بستگی به تنظیم مجموعه داده‌ها توسط فرد و استفاده خاص فرد از نتایج داره. تجزیه و تحلیل خوشه‌ای یک روش اتوماتیک نیست، بلکه یک فرآیند تکراری از کشف دانش یا بهینه سازی چند هدفه تعاملی هست که در اون آزمایش و شکست وجود داره. توی خوشه بندی اغلب لازمه که داده ‌ها پیش پردازش بشه و پارامترهای مدل اصلاح بشه تا نتیجه حاصل، همان نتیجه‌ی دلخواه باشه.تئوری کلی خوشه بندیدر روش خوشه بندی در مجموعه داده‌ای با n مشاهده و d بعد و با فرض تعداد خوشه های مورد نیاز k تایی هدف اصلی جدا کردن داده ها به k گروه یا خوشه به صورت {c={C1,C2,C3,…,Ck} است. هر دسته نماینده ای  مانند میو آی(در ویرگول به دلیل محدودیت تایپ نمی‌تونم نماد رو تایپ کنم) دارد که معمولا میانگین (به عبارت دیگر مرکز) خوشه نامیده می‌شود، در این صورت:نحوه محاسبه میو آی هاو  تعداد دقیق حالت های ممکن برای خوشه بندی n داده در kخوشه به صورت زیر است:تعداد دقیق حالت ها برای خوشه بندی n مشاهده در K خوشه. این تعداد حالات برای n های بزرگ(تعداد رکورد های زیاد در مجموعه داده) بزرگ است.بدیهیه که پیاده سازی این تعداد محاسبه در تعداد داده های بالا امکان پذیر نیست. به همین دلیل روش هایی برای امتیاز دهی و کوتاه کردن حالت های ممکن به وجود اومده تا با تعداد محاسبات کمتر به نتیجه دلخواه برسیم.در این مطلب به معرفی کلی خوشه بندی که زیر مجموعه‌ای از یادگیری غیر نظارت است؛ پرداختم. در ادامه این رشته مطالب به الگوریتم های مختلف خوشه بندی خواهم پرداخت.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Wed, 21 Oct 2020 18:32:59 +0330</pubDate>
            </item>
                    <item>
                <title>هرم DIWK یا هرم دانش در علم داده</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%87%D8%B1%D9%85-diwk-%DB%8C%D8%A7-%D9%87%D8%B1%D9%85-%D8%AF%D8%A7%D9%86%D8%B4-%D8%AF%D8%B1-%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-ntgvbsfojdtl</link>
                <description>در مطلب دیتاساینتیست کیست اشاره کرده بودم یک دیتاساینتیست برای این که مسائل رو حل کنه باید مراحل هرم دانش رو طی کنه. همینطور یک توضیح مختصر درباره هرم دانش داده بودم. در این مطلب در انتشارات ارزیاب سعی کردم به طور جامع به بخش های مختلف هرم دانش و اهمیت دانستن اون در علم داده بپردازم.هرم دانش در یک نگاهبرای استخراج دانش از داده های خام نیازه که داده ها پردازش بشن. مراحل پردازش داده ها به صورت کلی در هرم دانش خلاصه می‌شه. هرم دانش، سلسله مراتب خِرد و سلسله مراتب اطلاعات بعضی از نام هایی هستند که به نمایش روابط بین داده‌ها، اطلاعات، دانش و خرد اشاره می‌کنند.هرم دانش نیز همانند مدل های سلسله مراتبی دیگر از مجموعه بلوک هایی ساخته شده که ترتیب داره. داده‌ها(data) در پایین ترین قسمت این هرم قرار می‌گیرد. پس از آن اطلاعات(information) و سپس دانش(knowledge) قرار می‌گیرند و بالاترین بخش این هرم خرد(wisdom) است.هر مرحله‌ای که در این هرم طی میشه؛ به سوالی درباره‌ی داده های اولیه پاسخ داده می‌شه و به اون ارزش هایی اضافه می‌کنه. هرچقدر به سوالات بیشتری پاسخ داده بشه مراحل بیشتری در این هرم طی شده. به بیانی دیگر هرچه معنای بیشتری از داده ها استخراج کنیم، به دانش و بینش بیشتری از داده های اولیه دست یافته‌ایم. در راس هرم، ما دانش و بینش ها را به یک تجربه یادگیری تبدیل کرده‌ایم که راهنمای اعمال ما است.در ادامه بخش های مختلف هرم داده را بررسی می‌کنیم:· داده ها:داده ها مجموعه‌ای از حقایق به صورت خام یا سازمان یافته مانند اعداد یا حروف هستند. بهرحال بدون داشتن متن(متغیر)، داده ها ممکنه معنی کمی داشته باشند. برای مثال 13990714 فقط توالی اعداد است که اهمیت آشکاری ندارند. اما اگر ما اون رو در متن «این یک تاریخ است» مشاهده کنیم؛ آن گاه می‌توان گفت این توالی اعداد به معنی 14 ام ماه مهر سال 1399 است. با اضافه کردن متن و ارزش به این اعداد، آن ها معنی بیشتری نسبت به قبل دارند. به این ترتیب ما توالی خام اعداد را به اطلاعات تبدیل کرده‌ایم.· اطلاعات:اطلاعات دومین بلوک ساختمانی هرم دانش است. در این مرحله داده ها از خطا ها پاکسازی شده و بیشتر به روشی پردازش می‌شوند که اندازه گیری، تجسم و تجزیه و تحلیل برای یک هدف خاص رو آسان‌تر می‌کند. بسته به این هدف، پردازش داده ها می‌تواند شامل عملیات مختلفی مانند ترکیب مجموعه های مختلف داده (جمع شدن)، اطمینان حاصل کردن از این که داده های جمع آوری شده چقدر مرتبط و دقیق هستند(اعتبار سنجی) و ... باشد. به عنوان یک مثال کلی، می‌تونیم داده های خودمون رو به گونه‌ای سامان دهیم که روابط بین نقاط مختلف داده های به ظاهر متفاوت و گسسته را در معرض نمایش قرار دهد. مثالی خاص تر در این زمینه، ما می تونیم عملکرد شاخص کل بورس را با ایجاد گرافی از نقاط داده های معاملات برای یک دوره خاص، بر اساس داده های پایان هر روز، تجزیه و تحلیل کنیم.با پرسیدن سوالات مرتبط با موضوع «چه کسی»، «چرا»، «چه موقع»، «کجا»، «چه زمانی» و ... می‌تونیم اطلاعات ارزشمندی از داده ها بدست آوریم و پاسخ این سوالات، داده ها را برای ما مفید تر می‌کند.اما چه زمانی به سوال «چگونه» پاسخ دهیم؟ این همان چیزی است که باعث جهش از اطلاعات به دانش می‌شود.· دانش:«چگونه» اطلاعات حاصل از داده های جمع آوری شده، مربوط به اهداف ما هستند؟ «چگونه» قطعات این اطلاعات به سایر قسمت ها متصل می‌شوند تا معنا و ارزش بیشتری بیابند؟ و شاید مهم ترین سوال در این بخش این باشد که:«چگونه» می‌تونیم از اطلاعات برای دستیابی به هدف خود استفاده کنیم؟ هنگامی که ما اطلاعات را تنها به عنوان توضیحی از حقایق جمع آوری شده نمی‌بینیم و درک می‌کنیم که چگونه می‌توان از آن برای دستیابی به اهدافمان استفاده کرد‌، ما آن را به دانش تبدیل کرده‌ایم. این دانش اغلب برتری است که شرکت ها نسبت به سایر رقبای خود دارند. هرچه ما روابطی کشف کنیم که صریحاً به عنوان اطلاعات بیان نشده است، ما بینش های عمیق تری را بدست می‌آوریم که باعث می‌شه ما یک مرحله در هرم دانش بالاتر رویم. هنگامی که از دانش و بینش های به دست آمده از اطلاعات برای تصمیم گیری ها استفاده می‌کنیم، می توان گفت که ما به مرحله نهایی «خرد» از هرم دانش رسیده‌ایم.· خرد:خرد بالاترین مرحله هرم دانش است و برای رسیدن به این مرحله باید به سوالاتی از قبیل «چرا کاری انجام دهیم؟» و «بهترین کار چیست؟» پاسخ دهیم. به عبارت دیگر، خرد دانشی است که در عمل به کار برده می‌شود. همچنین می‌توان گفت اگر مرحله داده ها و اطلاعات شبیه به نگاه کردن به گذشته باشند، مراحل دانش و خرد به این مربوط می‌شود که ما در حال حاضر برای بهتر شدن آینده، چه کاری می‌تونیم انجام دهیم.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Mon, 05 Oct 2020 16:47:19 +0330</pubDate>
            </item>
                    <item>
                <title>دانشمند علم داده یا دیتاساینتیست کیست و چه می‌کند؟</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%AF%D8%A7%D9%86%D8%B4%D9%85%D9%86%D8%AF-%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-%DB%8C%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%D8%B3%D8%A7%DB%8C%D9%86%D8%AA%DB%8C%D8%B3%D8%AA-%DA%A9%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-alfkubd4xt2z</link>
                <description>خیلی وقتا شده که اطرافیانم ازم می‌پرسن تو چه حوزه‌ای کار می‌کنی؟ و وقتی می‌گم دیتاساینس، خیلی ها براشون سوال پیش میاد که دقیقا چی کار می‌کنی؟؟ خب توضیحش برای همه زیاد راحت نیست... اما سعی کردم این مطلب رو طوری بنویسم که بیشتر افراد متوجه بشن یک دانشمند علم داده یا دیتاساینتیست دقیقا چی کار می‌کنه. البته پیشنهاد می‌کنم  پست دیتاساینس چیست رو قبل ازین مطلب بخونید؛ چون در اون مطلب به طور جامع به این پرداختم که دیتاساینس چیه و از چه تخصص هایی تشکیل شده و در این جا قصد دارم کار هایی که یک دیتاساینتیست انجام می‌ده رو شرح بدم.در این مطلب به صورت مختصر و ساده توضیح دادم که دیتاساینتیست کیه و چی کار می‌کنه؟دانشمند علم داده کیست؟یک دانشمند علم داده شخصی است که از داده ها برای حل مسائل، کشف الگو ها و بدست آوردن بینش استفاده می‌کنه. متخصصین علم داده بیشتر با سازمان ها و تجارت هایی همکاری دارند که مجموعه داده های بزرگ را جمع آوری می‌کنند. متخصصین علم داده ممکنه از آمار، برنامه نویسی، پایگاه داده، یادگیری ماشین و مدل های ریاضیاتی برای دستیابی به اهداف خود استفاده کنند. به طور کلی این متخصصین مراحل هرم دانش را برای حل مسائل طی می‌کنند. ممکنه براتون سوال بشه هرم داده چیه؟ به طور مختصر بخوام بگم هرم دانش متشکل شده از 4 مرحله داده، اطلاعات، دانش و خرد که هر یک ازین مراحل توضیح خاص خودش رو داره و توی مطلب هرم DIWK یا هرم دانش مفصل‌تر بهش پرداختم. متخصص علم داده برای حل هر مساله در کسب و کار، ابتدا نیاز داره تا اهمیت ها و اولویت های تجارت یا سازمان رو درک کنه. دیتاساینتیست پس ازین مرحله به دنبال داده هایی می‌گرده که ممکنه برای انجام آزمون های  تشخیص داده شده توسط خودش جمع آوری بشه یا داده هایی که ممکنه در حال حاضر در جایی موجود باشه. اگر لازم به انجام آزمایشی باشه، مهمه که قبل از پردازش داده ها فرض های اون نوشته بشه. پس از جمع آوری داده ها، آن ها باید ارزیابی و پاکسازی بشند. سپس ابزار مناسب برای مدل سازی انتخاب می‌شه. برای مثال نرم افزار R یا Python یا بسته های نرم افزاری دیگر می‌تونن ابزاری برای مدل سازی باشن. سپس داده ها و نتیجه هایشان با استفاده از ابزار های مصور سازی، تجزیه و تحلیل می‌شند. متخصصین علم داده به دنبال نشانه های مهم و روند ها می‌گردند و فروض را بررسی می‌کنند. تست های آماری برای بررسی استوار بودن و اعتبار سنجی نتایج استفاده می‌شند. یادگیری ها، نتایج و بینش ها به صاحبان تجارت ابلاغ می‌شند که این نتایج معمولا به همراه پیشنهادات است. برای مثال یک متخصص علم داده در مساله ای که مربوط به تجارت حمل و نقل می‌شه؛ ممکنه مسیر های خاصی رو که ناکارآمد هستند شناسایی کنه و راه حل هایی با کارایی بیشتر پیشنهاد بده.یک دیتاساینتیست چه توانایی هایی باید داشته باشه؟شاغلین در حوزه علم داده که اون ها رو متخصص علم داده یا دانشمند علم داده و به اصطلاحی دیگر دیتاساینتیست می‌نامند؛ به مهارت هایی برای دستیابی به طیف وسیعی از نتایج نیاز دارند که مهمترین مهارت ها به شرح زیر است:· توانایی استخراج و تفسیر منابع داده· مدیریت حجم زیاد اطلاعات با سخت‌افزار· محدودیت‌های نرم‌افزاری و پهنای باند· ادغام منابع داده با یک دیگر· تضمین پایداری مجموعه‌های داده· مصورسازی داده به منظور فهم آن· ساخت مدل‌های ریاضی و آماری با استفاده از داده، مانند مدل های رگرسیون و طبقه بندی· مقایسه آماری مدل های گوناگون و انتخاب مدل برتر· به اشتراک گذاری یافته‌ها و دیدگاه‌ها در حوزه داده با متخصصان دیگر یا مخاطب عامالبته که اگه کسی ازم بپرسه چطور می‌تونم این مسیر رو طی کنم به عنوان کسی که حدود یک و نیم سال توی این فیلد فعالیت داره؛ قبل ازین که بهش پیشنهادی بدم، از حوزه‌ای که در اون بوده سوال می‌پرسم. چراکه این فیلد کاری نیاز داره که از قبل یک پایه دانشی از یکی از سه حوزه آمار و ریاضی، علوم کامپیوتر و یا دانش حوزه کسب و کار داشته باشید و به قولی در یکی ازین تخصص ها عمیق باشید. مسیری که هر کدوم ازین تخصص ها طی می‌کنند تا به یک دیتاساینتیست تبدیل بشن متفاوته و نکته آخر این که دیتاساینس یک کار &quot;تیمی&quot; هست. چون همه توانایی هایی که در بالا ذکر کردم رو یک نفر نمی‌تونه به صورت تخصصی داشته باشه درصورتی که هر یک از توانایی ها رو یک نفر می‌تونه کسب کنه و در بقیه توانایی ها تسلطی سطحی داشته باشه تا بتونه به صورت تیمی کار کنه.در آخر بهتون پیشنهاد می‌کنم مطلب «مسیر علم داده ارزیاب» رو بخونید تا دید جامعی از این که چطور مسیر یادگیری علم داده رو شروع کنید و استارت بزنید پیدا کنید. </description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Sat, 26 Sep 2020 20:30:09 +0330</pubDate>
            </item>
                    <item>
                <title>علم داده یا دیتاساینس چیست؟(نگاهی جامع به علم داده)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-%DB%8C%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%D8%B3%D8%A7%DB%8C%D9%86%D8%B3-%DA%86%DB%8C%D8%B3%D8%AA%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%AC%D8%A7%D9%85%D8%B9-%D8%A8%D9%87-%D8%B9%D9%84%D9%85-%D8%AF%D8%A7%D8%AF%D9%87-ogurbnhesgvi</link>
                <description>تعاریف زیادی از علم داده وجود داره. این تعاریف تا اونجایی جالب میشه که هر رشته‌ای که توی این فیلد دخیل هست دوست داره که اون رو به نفع خودش تموم کنه. مثلا یه استادی داشتیم که می‌گفت علم داده همون آماره و باید آمار رو تغییر نام بدیم به علم داده :) واقعیت اینه که علم داده فقط مختص به یک رشته خاص نیست و از ترکیب چند رشته بوجود اومده که توی این مطلب میخوام به صورت جامع بهش بپردازم.نگاهی مختصر و جامع به زمینه های دیتاساینستعریف علم دادهعلم داده، دانشی میان ‌رشته‌ای پیرامون استخراج دانش و آگاهی از مجموعه داده هاست که از ترکیب مباحث مختلفی به وجود اومده تعدادی از این حوزه‌ها عبارتند از: ریاضیات، آمار، مهندسی داده، بازشناخت الگو و… هدف این علم، استخراج مفهوم از داده و تولید محصولات داده‌محور هست.شاید براتون سوال باشه محصولات و خدمات داده محور چی هستن؟ خب این بحث اینجا نمی‌گنجه و احتمالا توی یه مطلب دیگه بهش بپردازم؛ اما اگه دوست دارید با تعدادی ازین خدمات آشنا بشید می‌تونید یه سر به سایت ارزیاب بزنید.به طور کلی مهمترین رشته هایی که علم داده رو تشکیل میدن حوزه های &quot;علوم کامپیوتر&quot;، &quot;ریاضیات و آمار&quot; و &quot;دانش های حوزه کسب و کار&quot; هستند. قبل از پرداختن به علم داده بهتره یک نگاهی به دانش ­های میان رشته ای در این سه حوزه داشته باشیم. علم داده یک دانش میان رشته‌ای هست.پیشاپیش می‌گم در ادامه ممکنه از اصطلاح های تخصصی تری استفاده بشه اما مطلب رو سعی کردم طوری بنویسم که از هر سه فیلد درگیر در علم داده دید جامعی به دست بیاد. علوم کامپیوتر در علم دادهاکثر الگوریتم هایی که الگو شناسی داده ها رو انجام می‌دهند؛ راه حل های بسته و ساده ندارند. برای مثال رگرسیون خطی یک روش مدل سازی ساده است که به سادگی می‌توان از ویژگی های هندسی خطی استفاده کرد تا معادلات نرمال را بدست آورد و در پایان به یک فرمول نهایی دست یافت که داده ها را مدل سازی می‌کند. اما برای به کارگیری روش های یادگیری ماشین پیشرفته مانند Kernelized SVM، درخت تصمیم و شبکه عصبی بهتره از روش های بهینه سازی عددی مانند الگوریتم های گرادیان کاهشی استفاده بشه. یادگیری ماشین در مقیاس بزرگ نیاز به یک تجربه برنامه نویسی قوی مانند موازی سازی داده ها، محاسبات توزیع شده و مدیریت حافظه داره. یک مثال می‌تونه بردار سازی داده ها باشه. یک روش ساده برای آموزش یک شبکه عصبی نوشتن یک دسته تو در تو حلقه ها برای به روز کردن عناصر واحد در ماتریس وزن هست. خب در دنیای ریاضیات افلاطونی، این امر در تئوری برای دستیابی به یک طبقه بندی قوی برای یادگیری ماشین کافیه، اما در عمل این امر می‌تونه ماه ها یا سال ها طول بکشه. بنابراین مهارت و تجربه برنامه نویسی قوی می‌تونه در علم داده بسیار کمک کننده باشه.ریاضیات و آمار در علم دادهیادگیری ماشینی به تنهایی مفهومی است که در اون عوامل و الگوریتم ها از محیط یا داده های اون یاد می‌گیرند تا در یک وظیفه تعیین شده بهتر عمل کنند. این نکته که الگوریتم ها چگونه یاد می‌گیرند تقریبا به حوزه &quot;آمار&quot; برمی‌گردد. برخی از الگوریتم های یادگیری ماشین (مانند تجزیه و تحلیل تفکیک کننده خطی یا چهارگانه) اساساً مدل های بیزی هستند که در اینجا برخی از ساختار توزیع پارامتری داده ها فرض می‌شوند و پارامترها را به صورت الگوریتمی به روز می‌کنند. از دیگر طبقه بندی کننده ها می‌توان به شبکه های عصبی اشاره کرد که در آن بردار های ارزش گذاری شده توسط مجموعه ای از محاسبات به فضای احتمالاتی (عددی بین 0 تا 1) نگاشت می‌شوند.دانش حوزه کسب و کار در علم دادهبرای حل مساله ابتدا باید پی‌برد که مساله چیست. یک دانشمند علم داده باید سه جنبه از دانش حوزه کسب و کار که به یکدیگر مرتبطه اما قابل تفکیک هست رو در ذهنش به خاطر داشته باشه. این سه حوزه عبارتند از:1- منبع مشکلاتی که کسب و کار سعی در حل کردن اون داره.2- مجموعه اطلاعات و تخصص هایی که کسب و کار برای حل کردن مسائل اصلی به اون نیاز داره.3- مکانیزم دقیق جمع آوری داده ها برای حل مسائل اصلی رو به طور دقیق بدونه.بنابراین برای به کارگیری علم داده ها در هر زمینه ابتدا باید با آن زمینه و فرایند ها و روند ها آشنایی کسب کرد. این جایی است که به &quot;دانش حوزه کسب و کار&quot; یا &quot;مدیریت&quot; نیاز می‌شه.تلفیق سه حوزه علوم کامپیوتر، آمار و ریاضیات و دانش کسب و کارهنگامی که سه عنصر شرح داده شده باهم ترکیب می‌شوند، تیمی بوجود میاد که بسیار راحت می‌تونه مشکل رو شناسایی کند و راه حل ارائه بده؛ «چه چیزی در معرض خطر هست؟» ، «از چه داده هایی باید استفاده بشه؟»، «چه مدل هایی مناسبه؟»، «چگونه به ماشین آموزش داده بشه؟» و در آخر نحوه تولید راه حل بررسی می‌شه.در نهایت با پاسخ به این سوالات مجموعه راه حل هایی  بوجود میاد که می‌تونه به سولات کسب و کار پاسخ بده و به حل مسائلش کمک کنه و  باعث کاهش هزینه و افزایش سود برای اون کسب و کار بشه.در پایان این بحث بهتون پیشنهاد می‌کنم مطلب «دانشمند علم داده یا دیتاساینتیست کیست و چه می‌کند؟» رو حتما مطالعه کنید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Sat, 19 Sep 2020 18:32:18 +0430</pubDate>
            </item>
                    <item>
                <title>روش شش سیگما در مدیریت داده محور کسب و کار ها</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%B1%D9%88%D8%B4-%D8%B4%D8%B4-%D8%B3%DB%8C%DA%AF%D9%85%D8%A7-%D8%AF%D8%B1-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%AF%D8%A7%D8%AF%D9%87-%D9%85%D8%AD%D9%88%D8%B1-%DA%A9%D8%B3%D8%A8-%D9%88-%DA%A9%D8%A7%D8%B1-%D9%87%D8%A7-amp9uwlajxho</link>
                <description>در مطلب مدیریت داده محور در کسب و کار ها به انواع مدل درآمدزایی پرداختم و از اهمیت رضایت مشتری در کسب و کار های B to C صحبت کردم. همین طور گفتم که کسب و کار هایی که بر پایه ی دانش داده محور کار می‌کنند، عملکرد بهتری دارند؛ چراکه این کسب و کار ها درک کردن رضایت مشتری باعث افزایش سود می‌شه و بر اساس داده، دقیقا می‌دونن که مشتری چه زمانی، چه چیزی رو چطوری می‌خواد؛ و ازین اطلاعات در بهبود عملکرد های سازمانی استفاده می‌کنند. در این مطلب قراره به صورت خلاصه راجع به روش مدیریتی شش سیگما بحث کنم. درواقع بخشی ازین مطلب خلاصه‌ای از کتاب &quot;معجزه شش سیگما&quot; اثر سایبر چاد هوری هست که اگر در حال حاضر در سمت یک مدیر خرد یا جزء هستید، پیشنهاد می‌کنم این کتاب رو بخونید. کتاب معجزه شش سیگما در قالب یک داستان بیزنسی سطح تاثیر مدیریت داده محور و به کارگیری این روش در کسب و کار رو بازگو می‌کنه.سیگما چیه و شش سیگما چه معنی ای در مدیریت می‌ده؟سیگما در اصطلاح آماری اشاره به انحراف معیار یا همون Standard Deviation داره. این که چطور بدست میاد؛ مبحث آماری ساده‌ای هست اما در این مطلب نمی‌خوام بهش بپردازم و فرمول بندی کنم. در اینجا بیشتر می‌خوام مفهوم سیگما رو بگم. درواقع سیگما یک معیار برای پراکندگی داده ها هست و ازین معیار در تحلیل داده های فرایند ها، در سازمان ها و کسب و کار ها با هدف به کارگیری رویکرد های مختلف از جمله رویکرد شش سیگما استفاده میشه. اگر یک عیب یا نقص به وسیله دو حد مشخص کننده که نتایج فرایند ها رو از خوب تا بد دسته بندی می‌کنند، تعریف بشه؛ در این صورت یک پروسه شش سیگما یک میانگین فرایند داره که شش انحراف معیار از نزدیک ترین حد مشخص شده فاصله داره و هدفش اینه که به بالاترین حد دست پیدا کنه. شاید یکم گیج شده باشین اما تصویر زیر می‌تونه برای درک این مفهوم کمک کننده باشه:در یک پروژه شش سیگما پس از اندازه گیری جایگاه فعلی و تعیین حد بالا(هدف)، تمام برنامه های سازمانی در جهتی حرکت می‌کنه که سازمان یا کسب و کار به هدف نزدیک تر بشه.شش سیگما رو می‌شه به عنوان معیار عملکرد فرایند در نظر گرفت. با توجه به نقص در هر میلیون، شش سیگما هدف است. وقتی که عملکرد فعلی فرآیند اندازه گیری شد، هدف اینه که به طور مداوم سطح سیگما رو بهبود داده بشه و به سمت شش سیگما حرکت کنیم. حتی اگر پیشرفت ها به شش سیگما هم نرسه، باز هم پیشرفت های صورت گرفته از سه سیگما به چهار سیگما و از چهار سیگما به پنج سیگما بهبود پیدا می‌کنه که طی کردن این پروسه باعث کاهش هزینه ها و افزایش رضایت مشتری خواهد شد.هرچه از سطح سیگما در یک روند افزایش پیدا کنه، تعداد نقص ها هم کمتر میشه و درنتیجه بازده بالاتر می‌ره.هدف اصلی شش سیگما چیه؟در حالت کلی دانش داده‌ای به کمک مدیران آمده که بتونن تصمیمات خرد و کلان رو بر اساس اون دانش و با خطای کمتر اتخاذ کنن. این کاهش خطا گاهی اوقات می‌تونه در خیلی از هزینه ها صرفه جویی کنه و یا سرمایه گذاری های موثر رو نتیجه بده. شش سیگما نیز یکی از روش های مدیریتی داده محور هست که در جهت کاهش خطا ها و اتلافات سازمان قدم برمی‌داره.درواقع هدف اصلی شش سیگما، کاهش خطا ها و اتلاف ها در همه حوزه های کاری است؛ به طوری که رضایت مشتری و افزایش سود رو در پی داشته باشد.سوال به جایی هست اگه بپرسید شش سیگما چطور این کار رو انجام میده؟ در جواب باید بگم مثل اغلب روش های مدیریت داده محور، شش سیگما نیز در ابتدا با شناخت تمام فرایند های کسب و کار و تحلیل داده های موجود در هر بخش از سازمان با مسائل آشنا می‌شه. در قدم بعدی این روش، مساله‌ای انتخاب می‌شه که بیشترین دردسر رو ایجاد کرده و بیشترین اتلاف منابع رو داشته. مساله‌ای که بیشترین نارضایتی مشتریان رو به دنبال داشته و حل اون مساله بیشترین بازدهی رو برای کسب و کار داره. بعد از شناخت کلیه فرایند ها و انتخاب مساله کلیدی باید برای حل اون مساله اقدام کرد. اما فرایند حل مساله به چه صورته؟ همونطور که قبلا فرایند DAMIC رو توضیح داده بودم؛ شناسایی مساله و فرایند های سودآور در گام اول قرار داشت که تا اینجای کار بر اساس این روش ما گام اول رو طی کردیم و نسبت به مساله شناخت پیدا کردیم. در گام دوم برای محاسبه یک شاخص عملکردی از گذشته کسب و کار تا الان، وضعیت کنونی رو اندازه گیری می‌کنیم. در قدم بعدی برای رسیدن به یک دانش جامع، داده های جمع آوری شده را تجزیه تحلیل می‌کنیم و در گام بعد برای حل مساله از دانش تولید شده استفاده می‌کنیم تا بهترین استراتژی ها تدوین و اجرایی شود. در آخرین قدم نیز استراتژی های اجرایی رو کنترل می‌کنیم تا میزان تاثیر(خوب یا حتی بد) این استراتژی ها در کسب و کار مشخص بشه. این فرایند و مراحل چگونه تحقق پیدا می‌کنه؟قبل از این که به چگونگی تحقق این فرایند ها بپردازم بهتره اول یه معرفی مختصر از نقش های روش شش سیگما داشته باشم تا فرایند چگونگی تحقق این مراحل بهتر درک بشه. درواقع در این روش افراد کلیدی سازمان نقش هایی رو بر عهده می‌گیرند که بر اساس این نقش ها وظایف و دسترسی های متفاوتی دارند. تعدد این نقش ها در این روش بسته به سطح سازمان و گستردگی اون متغیره؛ اما در حالت کلی می‌شه این نقش ها رو به سه گروه تقسیم کرد:مدیران بهبود: اعم از مدیران ارشد، میانی و عملیاتی که مسئولیت حمایت از پروژه ها و پیوند بین پروژه ها با اهداف کلان شرکت رو به عهده دارند.مربیان: در روش شش سیگما به کسایی که این نقش رو ایفا می‌کنن، &quot;کمربند سیاه ارشد&quot; می‌گن و مسئولیت اون ها مشاوره، انتقال تجربه، کمک در انتخاب پروژه ها و هسته های بهبود و اصلاح دیدگاه ها هست.هسته های بهبود: این هسته از نقش های مختلفی از جمله کمربند سیاه، کمربند سبز ها، کمربند زرد ها و کمربند سفید ها تشکیل شده و مسئولیت تحقق بهبود رو به عهده دارند. این روش لول بندی افراد مثل ورزش های رزمی می‌مونه تقریبا :)حالا بیایم به جواب سوالمون بپردازیم. برای تحقق فرایند گفته شده در این روش باید برای هرکس وظایف و پاداش های معینی تعیین بشه. برای مثال تقدیر، ترفیع و پاداش. کمربند سیاه که جزئی از هسته بهبود هست باید همه‌ی منابع مورد نیاز رو در اختیار داشته باشه تا بتونه یک پروژه شش سیگما رو به موفقیت برسونه. بنابر این ساختار سازمانی بوجود اومده توسط شش سیگما می‌شه در یک کلام گفت:قدرت شش سیگما در این هست که زبان واحدی برای همه کارکنان سازمان ایجاد می‌کنه.شش سیگما به کارکنان یاد می‌ده که چطور روش های کارشون رو به طور علمی بهبود بدن و چطور عملکردشون رو در سطح بالا نگه دارند.در نهایت باید بگم که همه این فرایند ها بدون اندازه گیری و تجزیه و تحلیل داده ها نمی‌تونه انجام بشه و اینجاست که سر و کله روش های آماری و علم داده ها پیدا میشه. در این مطلب به صورت مختصر با شش سیگما آشنا شدیم. برای به کار گیری اون و شیوه هاش پیشنهاد می‌کنم کتاب &quot;طراحی برای شش سیگما&quot; رو بخونید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Tue, 01 Sep 2020 16:40:23 +0430</pubDate>
            </item>
                    <item>
                <title>مدیریت داده محور در کسب و کار ها</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%AF%D8%A7%D8%AF%D9%87-%D9%85%D8%AD%D9%88%D8%B1-%D8%AF%D8%B1-%DA%A9%D8%B3%D8%A8-%D9%88-%DA%A9%D8%A7%D8%B1-%D9%87%D8%A7-mcjikwmj4txz</link>
                <description>میشه گفت در عصر حاضر که تنوع کسب و کار ها و برند ها بیشتر شده انتظار افراد جامعه هم از ارائه خدمات و کیفیت محصولات بیشتر شده. مردم بیشتر به دنبال خدمات و محصولاتی اند که هم از نظر کیفیت اون ها رو راضی نگه داره و هم براشون به صرفه باشه. چرا اینجا از رضایت مشتری نهایی کسب و کار صحبت می‌کنیم؟ این سوالیه که قراره به صورت مفصل توی این مطلب دربارش صحبت کنم.کسب و کار هایی که با روش های کاملا علمی و بر پایه دانش داده‌ای کار می‌کنند؛ موفق ترند.کسب و کار ها از نظر مدل درآمد زایی به چند دسته اساسی تقسیم بندی می‌شن:1- بیزنس به بیزنس (Business to Business یا B to B):در این مدل کسب و کاری، خدمات و محصولات کسب و کار به یک کسب و کار دیگر ارائه می‌شود و مصرف کننده نهایی خدمات یا محصولات یک بیزنس است. مانند یک کارخانه پنیر سازی که محصولات خودش رو در مراکز خرده فروشی توزیع می‌کنه.2- بیزنس به مصرف کننده (Business to Customer یا B to C):در این مدل، خدمات و محصولات یک کسب و کار به مصرف کننده نهایی ارائه می‌شه. یک مثال در این حوزه می‌تونه یک شرکت خدماتی قالی شویی باشه که خدمت خودش رو به مصرف کننده نهایی ارائه می‌کنه.3- مصرف کننده به بیزنس (Customer to Business یا C to B):در این مدل مصرف کننده خدمات یا محصولاتی به کسب و کار ارائه می‌دهد. ساده ترین مثال در این حوزه شاید وانتی هایی باشند که با یک بلندگو در سطح شهر وسایل دست دوم مردم را خریداری می‌کنند؛ و یا حتی افرادی که خانه خود را به مدت چند روز به مراکز گردشگری اجاره می‌دهند هم می‌تونند مثالی در این حوزه باشند.4- مصرف کننده به مصرف کننده (Customer to Customer یا C to C):در این مدل کسب و کار بستری رو میسازه که مصرف کنندگان بتونن در اون کالا یا خدمتشون رو به هم عرضه کنن. مثال هایی ازین دسته مدل کسب و کار میتونه پلتفرم های دیوار، ایوند و حتی شبکه های اجتماعی باشه.قطعا مدل های کسب و کاری دیگه‌ای وجود داره اما در این مطلب بیشتر می‌خوام مدیریت داده محور در مدل کسب و کار بیزنس به مصرف کننده یا B to C رو توضیح بدم.توی مدل کسب و کار B to C رضایت مصرف کننده نهایی خدمات یا کالا اهمیت بالائی داره. نمی‌خوام اینجا بگم مثل یه سری شعار تبلیغاتی و پیام بازرگانی با مصرف کننده نهائی حرف بزنید و بهشون بگید که &quot;جلب رضایت مشتری مهم است&quot; و &quot;سرمایه ی ما رضایت شماست&quot; و ... ? شاید این تبلیغات تاثیری در جلب توجه مشتری بکنه اما کافی نیست. تا شما در عمل ثابت نکنید که مشتری براتون اهمیت داره قطعا با شعار نمی‌تونید نظرش رو جلب کنید. مثل این می‌مونه که توی تیم فوتبال به هم تیمی هات بگی کاملا بهشون اعتماد داری و کل بازی رو تک روی کنی?چیزی که در یک کسب و کار B to C مهمه بهینه کردن و بهبود تمام فرایند هایی هست که اتفاق میوفته تا در نهایت کیفیت خدمات و محصولات علاوه بر به صرفه بودن بالا بره و این باعث بهبود عملکرد کسب و کار و رضایت مشتری نهائی میشه.به بیانی دیگه تمام فرایند ها در کسب و کار های B to C باید به نحوی رقم بخوره که مصرف کننده نهائی احساس رضایت کامل داشته باشه و این میسر نیست مگر با سنجیدن نظر اون ها و زیر نظر داشتن فرایند های کلیدی.بنا به تجربیات من بیشتر کسب و کار های B to C (بیزنس به مصرف کننده) به دو صورت کار می‌کنند:1- کسب و کار هایی که بازاری اند و به صورت سنتی فعالیت دارند.2- کسب و کار هایی که با روش های کاملا علمی و بر پایه دانش داده‌ای کار می‌کنند.منظورم از دسته اول اغلب کسب و کار هایی اند که به همان شیوه های قدیمی کار می‌کنند. تمام فعالیت هاشون به شیوه‌ی سنتی هست و در نتیجه اگر در پی تغییر و تحولات نابود نشوند؛ پیشرفت چشمگیری هم نخواهند کرد.اما دسته دوم کسب و کار هایی اند که تمام فعالیت هاشون بر روی دانش داده ها پایه ریزی می‌کنند. این کسب و کار ها قدم به قدم مسائل رو به صورت دانش داده محور حل می‌کنند و به این صورت راه پیشرفت رو برای خودشون می‌سازند. شیوه‌ی کار در این کسب و کار ها به صورت 5 گام کلیدی هست که در یک چرخه تکرار میشه. در ادامه به صورت کلی به این 5 گام می‌پردازیم.5 گام کلیدی در مدیریت داده محور کسب و کار های B to C1- شناخت مساله: این مرحله خیلی اساسیه. یه جمله‌ی معروفی وجود داره که میگه:نصف جواب رو میتونی توی سوال پیدا کنی!برای این که بتونیم یک مساله رو حل کنیم باید اول شناخت جامع از ابعاد مساله داشته باشیم. در کسب و کار های سنتی بدون این که شناخت جامع حاصل بشه، صرفا از نقطه نظر های محدود به مساله نگاه میشه و در نتیجه شاید راه حل هایی که ارائه میشه برای حل مساله خوب نباشه؛ چون اساسا شناخت درستی صورت نگرفته. در این مرحله تمام فرایند هایی که باعث بوجود آوردن مساله(چه به صورت مستقیم و یا غیر مستقیم) شده بررسی میشه تا ابعاد اون مساله به صورت جامع درک بشه. یک مثال ساده توی این مورد می‌تونه رستورانی باشه که مساله‌اش ثابت کردن مشتری های سابق و افزایش مشتری است. در نگاه اول شاید راه حل های بدیهی یا حتی پیچیده به ذهن برسه. اما تا درکی از کل فرایند های رستوران (از تهیه‌ی مواد اولیه گرفته تا نحوه پخت و سفارش گیری و رساندن به دست مشتری) حاصل نشود و همچنین اگر هیچ مستندی از نظرات مشتریان موجود نباشد، نمی‌توان گفت که بهبود در کدام فرایند می‌تواند در حل این مساله کمک کننده باشد.2- اندازه گیری: پس از شناخت مساله در این گام باید فرایند هایی که بیشترین رضایت مشتری، کاهش هزینه و افزایش سود رو برای کسب و کار دارند اندازه گیری شوند. در واقع در شناخت مساله این فرایند ها شناسایی شده اند و در این گام باید اندازه گیری شوند. به بیانی دیگر در این گام وضعیت موجود مورد سنجش قرار می‌گیرد. چرا این مرحله نیازه؟ وقتی یک هدفی داریم باید اول بسنجیم که در حال حاضر کجاییم و چقدر با هدف فاصله داریم. گام اندازه گیری به ما یک گزارش از عملکرد پیشین می‌ده و در قدم &quot;تجزیه و تحلیل&quot; ما رو راهنمایی می‌کنه که به سمت هدف جدید که حل مساله شناسایی شده هست قدم برداریم. 3- تجزیه و تحلیل: در اینجا با استفاده از شناخت فرایند های سودآور و اندازه گیری هر یک از آن ها که در دو گام قبلی اتفاق افتاد داده هایی جمع آوری شده اند که این داده ها برای تدوین بهترین استراتژی کسب و کار در حل مساله، تجزیه و تحلیل می‌شوند. درواقع در این گام دانشی تولید می‌شود که در تدوین استراتژی بهبود به کسب و کار کمک می‌کنه.4- بهبود: همونطور که گفته شد در این مرحله با استفاده از دانشی که از تجزیه و تحلیل داده بوجود آمده استراتژی هایی برای حل مساله تدوین می‌شه و به کار گرفته می‌شه. این استراتژی ها توسط مدیران ارشد و میانی کسب و کار اجرایی می‌شه.5- کنترل: در این مرحله روند اجرایی شدن استراتژی های تدوین شده در گام بهبود اندازه گیری و کنترل میشه تا عملکرد و میزان تاثیر این استراتژی ها در رسیدن به هدف و حل مساله مشخص بشه. اگر بخواهیم به صورت کلی مراحل رو مرور کنیم در گام اول ما مساله رو شناسایی و فرایند های سودآور رو تعیین کردیم؛ در گام دوم وضعیت کنونی رو اندازه گیری کردیم تا بتونیم یک شاخص عملکردی از گذشته کسب و کار بدست بیاریم. در قدم بعدی داده های جمع آوری شده را تجزیه تحلیل کردیم تا به یک دانش جامع برسیم و در گام بعد برای حل مساله از دانش تولید شده استفاده کردیم تا بهترین استراتژی ها تدوین و اجرایی شود. در آخرین قدم نیز به کنترل استراتژی های اجرایی پرداختیم تا میزان تاثیر(خوب یا حتی بد) این استراتژی ها در کسب و کار مشخص بشه. پس از این مرحله دوباره گام های 1 تا 5 باید اجرایی بشه تا بیشتر فرایند های کلیدی کسب و کار به بیشترین میزان عملکرد خودشون در جهت افزایش رضایت مشتری داشته باشند.شکل زیر می‌تونه یک خلاصه ازین چرخه رو به نمایش بذاره:فرایند DMAIC در یک نگاهدرآخر باید بگم مدیریت داده محور فقط مختص کسب و کار های B to C نیست و در همه کسب و کار ها میشه به کار گرفت. در این مطلب سعی شد به صورت خلاصه و جزئی به این حوزه بپردازم. در مطلب بعدی سعی می‌کنم خلاصه‌ای از فلسفه مدیریتی شش سیگما که نمونه‌ای از مدیریت داده محور هست و در اکثر مدل های کسب و کاری می‌شه به کار برد رو توضیح بدم.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Mon, 17 Aug 2020 15:22:15 +0430</pubDate>
            </item>
                    <item>
                <title>مدل مفید یا مدل درست؟! - بخش اول</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D9%85%D8%AF%D9%84-%D9%85%D9%81%DB%8C%D8%AF-%DB%8C%D8%A7-%D9%85%D8%AF%D9%84-%D8%AF%D8%B1%D8%B3%D8%AA-%D8%A8%D8%AE%D8%B4-%D8%A7%D9%88%D9%84-y9nte0amnwtw</link>
                <description>&quot; تمامی دانش ما ، در مقایسه با واقعیت، ابتدایی وکودکانه است. ولی با این حال با ارزش ترین دارایی ما است.&quot; - آلبرت اینشتیندنیای ما دنیای ساده ای نیست!ما یکی از صدها میلیون گونه‌ موجوداتی هستیم که در این دنیای بزرگ، می‌کوشیم بفهمیم جاییم و چه می‌کنیم، می‌کوشیم به دنیای اطراف خود معنا بدهیم و بفهمیم هر رویدادی چرا اتفاق می‌افتد، بفهمیم موجودات دیگر چگونه رفتار می‌کنند و هر رفتاری را به چه علتی بروز می‌دهند.در مقیاسی کوچک‌تر، می‌کوشیم به کمک دانش‌هایی مانند جامعه شناسی و روانشناسی اجتماعی و روانشناسی رفتارگرا رابطه‌ی خود با سایر انسانها را درک کنیم.از طرفی ما موجودی ابزارساز هستیم. جدای از تیر و تبر و تخته و طناب، ابزارهای بسیار پیچیده‌تری هم ساخته‌ایم. از شبکه‌های مخابراتی تا شبکه‌های اجتماعی؛ از دارو تا دستگاه‌های پیچیده‌ی پزشکی؛ از سکه تا سهام!داستان مدلسازی نیز از همین نقطه آغاز می گردد، که ما می کوشیم شکلی ساده شده از دنیای اطرافرا ترسیم کنیم. شکلی که در حد فهم و درک ما باشد و بتوانیم به کمک آن کیفیت تصمیم گیری خود را بهتر کنیم و تحلیل های کارایی انجام دهیم. بنابراین می توان گفت:هدف مدلسازی، ترسیم شکلی ساده از جهان است.بخش قابل توجهی از آنچه ما امروز به عنوان دانش یاد می‌گیریم و به دیگران یاد می‌دهیم، چیزهایی از جنس مدل هستند. جورج باکس، آماردان معروف جمله‌ی معروفی دارد که احتمالاً آن را خوانده یا شنیده‌اید:&quot; همه مدل ها غلط هستند، اما بعضی از آنها مفیدند ! &quot; -  جورج باکسشاید معروف‌ترین مثال در این زمینه، نقشه جغرافیایی باشد. نقشه‌ی جغرافیایی شکل درست و واقعی یک منطقه نیست. پستی‌ها و بلندی‌ها و بسیاری از جزییات دیگر در آن حذف شده‌اند. حتی خطاهای بسیاری در ابعاد و اندازه‌های نقشه‌ها وجود دارد. اما هنوز، می‌توان گفت یک نقشه‌ی جغرافیایی شکل مفیدی از یک منطقه است.بنابراین می توان گفت همه ما در طول زندگی خود از تعداد زیادی مدل استفاده کرده ایم و همچنین بسیار مدل سازی کرده ایم. اما باید از افتادن در دام اینکه بکوشیم تا هر چیز را در ظرف مدل خود بگنجانیم بپرهیزیم و اگر احساس کردیم واقعیتی در مدل ما نمی گنجد آن را انکار نکنیم.ادامه دارد...در بخش های بعد به مباحثی مانند اینکه ابزار مورد نیاز مدلسازی چیست و چه مدل هایی مفیدترند خواهیم پرداخت.با ما همراه باشید.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Hadi Noroozi</author>
                <pubDate>Thu, 13 Aug 2020 10:35:16 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری تحت نظارت و بدون نظارت در یادگیری ماشین در سه دقیقه</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%86%D8%B8%D8%A7%D8%B1%D8%AA-%D9%88-%D8%A8%D8%AF%D9%88%D9%86-%D9%86%D8%B8%D8%A7%D8%B1%D8%AA-%D8%AF%D8%B1-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D8%AF%D8%B1-%D8%AF%D9%88-%D8%AF%D9%82%DB%8C%D9%82%D9%87-f9q74mcriiw7</link>
                <description>توی این مطلب قصد دارم خیلی مختصر  supervised learning و unsupervised learning  که جزء سرفصل های یادگیری ماشین هستند رو توضیح بدم.مقایسه‌ی یادگیری تحت نظارت و بدون نظارتیکی از راه­ های ساده برای این که با یادگیری تحت نظارت آشنا بشیم اینه که دقیقاً به معنی این کلمه توجه کنیم. تحت نظارت به معنی &quot;با دقت زیر نظر گرفتن&quot; است. با دقت نظاره کردن اجرای یک پروژه، وظیفه یا یک فعالیت. حالا این سوال به وجود میاد که چطور یک مدل یادگیری ماشین رو تحت نظر می‌گیریم؟ این کار رو با یاد دادن مدل انجام می ­دیم. به این صورت که مدل رو با دانش قبلی می‌­سازیم. بنابراین می­‌تونیم نمونه­ های آینده رو پیش­ بینی کنیم. اما سوال دیگه‌ای که ایجاد می­‌شه اینه که دقیقاً چطور این مدل رو آموزش می­ دیم؟ سوال بسیار خوبیه! در اینجا باید بگم که تخصص های زمینه‌ی الگوریتم نویسی و همچنین مدل های ریاضیاتی و آماری در این مرحله به کمک ما میان. اما یک مثال بسیار ساده می‌تونه  مثال تشخیص پرتقال و سیب که در مطلب قبلی آورده شده باشه. در این مثال معروف قصد داشتیم یک برنامه‌ای طراحی کنیم که بتونه پرتقال و سیب رو تشخیص بده. بنابراین در قدم اول مجموعه داده‌ای رو ثبت می‌کردیم که مشخصه های وزن و صافی یا زبری میوه در اون اندازه‌گیری بشه. نکته‌ی مهم در جمع آوری داده هایی که می‌خواهیم بر روی آن ها مدل های یادگیری تحت نظارت رو اجرا کنیم اینه که داده ها &quot;دارای برچسب&quot; هستند. در این مثال خاص من علاوه بر این که ویژگی های صافی یا زبری و وزن میوه رو ثبت می‌کنم؛ باید اسم میوه(پرتقال یا سیب) رو هم ثبت کنم.بنابراین در یادگیری تحت نظارت این مهمه که داده­ ها &quot;برچسب&quot; داشته ­باشند و این مجموعه‌ داده ­های برچسب­­ گذاری ­شده چگونه باشند. پس از جمع­ آوری داده، داده­ ها طبق این برچسب­ ها طبقه‌بندی می­‌شند. ما در یادگیری تحت نظارت می‌­دانیم طبقه­ بندی­ ها به چه صورته، چون داده­ ها دارای برچسب هستند؛ در صورتی که در یادگیری بدون نظارت عکس این قضیه اتفاق میوفته. درواقع در یادگیری بدون نظارت به مدل اجازه می‌دیم که خودش کار بکنه و اطلاعات رو کشف بکنه که ممکنه این عمل از چشم انسان دور باشه. در یادگیری بدون نظارت از الگوریتم­ ها و مدل های یادگیری ماشین استفاده می‌­شود که ماشین روی داده ­های بدون برچسب نتیجه ­گیری می­‌کند.مقایسه یادگیری تحت نظارت و بدون نظارتیادگیری بدون نظارت الگوریتم­ های بسیار سخت­ تری از یادگیری تحت نظارت داره. چرا که ما اطلاعات کمی در مورد داده­ ها یا نتایج مورد انتظار داریم. در یادگیری بدون نظارت به دنبال چیزهایی می‌­گردیم که بتونیم با آن‌ها گروه تشکیل بدیم یا خوشه­‌بندی کنیم، برآورد تراکم انجام دهیم و در نهایت ابعاد رو کاهش بدیم. در مقایسه­‌ی این دو نوع یادگیری، یادگیری بدون نظارت دارای آزمایش­ ها و مدل­ های کمتری هست که برای اطمینان از دقت مدل استفاده می‌شه.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Sun, 09 Aug 2020 20:27:12 +0430</pubDate>
            </item>
                    <item>
                <title>بررسی آماری ویروس کرونا از زوایای دیگر</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%A2%D9%85%D8%A7%D8%B1%DB%8C-%D9%88%DB%8C%D8%B1%D9%88%D8%B3-%DA%A9%D8%B1%D9%88%D9%86%D8%A7-%D8%A7%D8%B2-%D8%B2%D9%88%D8%A7%DB%8C%D8%A7%DB%8C-%D8%AF%DB%8C%DA%AF%D8%B1-ugv8go2bo0gh</link>
                <description>با استناد به آمار و ارقام منتشر شده در سایت world Meter در رابطه با انتشار ویروس کرونا در سطح دنیا تا ظهر امروز 5 اوت، آمار 18 میلیون و 706 هزار و 376 مورد قطعی ابتلا به ویروس کرونا در سطح جهان به ثبت رسیده است که حدودا نزدیک به 12 میلیون (11،924،967) مورد از این موارد تاکنون بهبود یافته اند، و 704 هزار و 396 نفر از این موارد منجر به فوت افراد شده است.طی آمارهای رسمی نهادهای مسئول در کشورمان در حال حاضر در ایران تعداد موارد ابتلای قطعی به ثبت رسیده 314 هزار و 786 نفر است، که 17 هزار و 617 مورد از این موارد منجر به فوت فرد مبتلا شده است و 272 هزار و 535 مورد بهبود یافته اند.آمار جهانی انتشار کرونا ویروسبررسی های آماری نشان از این دارد که پس از شروع پیک دوم کرونا در کشورمان، آمار مرگ و میر روزانه این ویروس بار دیگر در سطح ده کشور بالاتر (از لحاظ تعداد مبتلا) در سطح جهان قرار گرفته است. میانگین نرخ مرگ و میر مبتلایان به این ویروس کشنده در سطح جهانی 3/84 درصد می باشد. که این نرخ در ایران روی عدد 5/51 درصد، پایین تر از دو کشور مکزیک و اسپانیا با ارقام 11/5 و 8.48 درصد قرار دارد. بیشترین نرخ های مرگ و میر میان ده کشور با بیشترین تعداد مبتلا (آمارها متعلق به سه روز گذشته است)این در حالیست که این چهار کشور در بین ده کشور با بیشترین آمارابتلا، کمترین تعداد مبتلا را دارند.ده کشور با بیشترین تعداد مبتلا (آمارها متعلق به سه روز گذشته می باشد)با نگاه به این معیار در میان ده کشوری که بیشترین تعداد مرگ و میر را داشته اند، سه کشور مکزیک، اسپانیا و ایران جای خود را به کشورهای فرانسه ، انگلستان و ایتالیا خواهند داد و در این شرایط ایران جایگاه ششم را میان ده کشور با بالاترین نرخ مرگ و میر خواهد گرفت. این در حالیست که این سه کشور در میان ده کشور کمترین تعداد مرگ و میر را داشته اند.بیشترین نرخ های مرگ و میر میان ده کشور با بیشترین تعداد مرگ و میر(آمارها متعلق به سه روز گذشته است)افزون بر این با بررسی نسبت تعداد مبتلایان به تست های گرفته شده در هر یک از این ده کشور با بیشترین آمار مرگ و میر درمی یابیم که احتمال ابتلای فرد مشکوک به کرونا در کشورمان 12 درصد می باشد. این در حالیست که این احتمال در کشور مکزیک برابر با 43 درصد در برزیل 21 درصد و در کشورهای اروپایی و ایالات متحده کمتر از 9 درصد می باشد.بیشترین احتمال ابتلای افراد مشکوک به کرونا در بین ده کشور با بیشترین تعداد مرگ و میر (آمارها متعلق به سه روز گذشته است)تعداد تست های انجام شده روی افراد مشکوک به کرونا به تفکیک هر کشور به شرح زیر می باشد.تعداد تست های انجام شده در بین این ده کشوربه امید رعایت بیشتر پروتکل های بهداشتی تا غلبه بر این ویروس </description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Hadi Noroozi</author>
                <pubDate>Wed, 05 Aug 2020 11:25:51 +0430</pubDate>
            </item>
                    <item>
                <title>یادگیری ماشین و مدل سازی آماری(شباهت ها و تفاوت ها)</title>
                <link>https://virgool.io/ArzyabDataScienceCompany/machine-learning-vs-statistical-modeling-eddl5rx5fkyf</link>
                <description>از اون جایی که رشته من آماره و توی زمینه دیتاساینس فعالیت دارم؛ دوست دارم دانسته هام و برخی از نوشته هام در این حوزه رو توی ویرگول به اشتراک بذارم. در این مطلب قصد دارم یادگیری ماشین و مدل سازی آماری رو باهم مقایسه کنم.یادگیری ماشین در برابر مدل سازی آماری (شباهت ها و تفاوت ها)یادگیری ماشینهمه تقریبا میدونن که یادگیری ماشین شاخه‌ای از هوش مصنوعی هست. توی این حوزه برنامه رو به صورتی که بتونه به صورت خودکار یاد بگیره طراحی می‌کنند. در واقع یادگیری ماشین یک الگوریتمه که می‌تونه از داده ها یاد بگیره، بدون این که نیاز به پایه‌ی قانون برنامه نویسی خاصی داشته باشه. یک مثال ساده از یادگیری ماشین می‌تونه مورد زیر باشه:فرض کنید یک برنامه‌ای با هدف تشخیص پرتقال و سیب باید طراحی بشه. مجموعه داده‌ای که به برنامه داده می‌شه دارای دو مشخصه وزن و نوع پوست هست. در این مجموعه داده وزن پرتقال ها بین 150 تا 200 گرم و وزن سیب ها بین 100 تا 130 گرم متغیره؛ و همچنین نوع پوست نیز دو مقدار صاف و زبر رو اختیار می‌کنه. برنامه با این داده ها آموزش داده می‌شه و احتمالا میوه‌ای با وزن 115 گرم و پوست صاف رو سیب پیش بینی می‌کنه. همچنین ممکنه میوه‌ای با وزن 175 گرم و پوست زبر رو پرتقال پیش بینی کنه. برنامه هر چیزی خارج ازین مرز ها رو نمی‌تونه پیش بینی کنه. مثلا اگه داده‌ای مربوط به میوه‌‍‌ای با وزن 99 و پوست صاف رو به ماشین بدیم؛ احتمالا برنامه نمی‌تونه اون رو پیش بینی کنه. بنابراین هرچقدر تعداد داده هایی که به برنامه داده می‌شه بیشتر باشه، دقت اون هم بیشتر می‌شه. حتی برنامه ممکنه از پیش بینی های گذشته برای اطلاعات بیشتر خود استفاده کنه. برنامه به تنهایی یاد می‌گیره که پرتقال یا سیب چیه. این مثالی از یادگیری ماشین بود.مدل سازی آماریمدل سازی آماری فرمول بندی کردن رابطه های متغیر ها در قالب معادلات ریاضی هست که معادلات و فرمول ها واقعیت رو تخمین می‌زنند. اگه بخوایم ساده تر تعریف کنیم مدل آماری، معادله ریاضی هست که به کار برده می‌شود. یک مثال ساده از مدل سازی آماری می‌تونه مورد زیر باشه:فرض کنید می خواید وزن یک گونه خاص سیب زمینی رو گزارش کنین. دو راه پیشنهادی برای این کار به این صورته:راه اول: سال های زیادی رو برای وزن کردن سیب زمینی های این گونه در جهان سپری کنید و داده های خودتون رو به صورت یک اکسل تمام نشدنی ثبت و گزارش کنید.راه دوم: یک نمونه 30 تایی به نمایندگی از کل این نوع سیب زمینی رو انتخاب ‌کنید و میانگین و انحراف معیار این نمونه رو محاسبه کنید و فقط این دو مقدار رو به عنوان نماینده توصیف وزن این نوع سیب زمینی گزارش بدید.گزارش دادن یک مقدار با دو مشخصه میانگین و انحراف معیار یکی از ساده ترین روش های مدل سازی آماری هست.تفاوت هامنشاء پیش بینی ها مبتنی بر مدل سازی آماری در آمار کلاسیکه. درحالی که منشاء یادگیری ماشین در علوم کامپیوتر هست. یادگیری ماشین فرضیات کمتری بر روی داده ها اعمال می‌کنه و بنابراین می‌تونه برای &quot;انواع مختلف داده ها&quot; به کار برده بشه. مدل سازی آماری بعضی مواقع مستلزم فرضیه هایی برای توزیع داده ها هست که این می‌تونه محدودیتی در نوع داده باشد. این نکته که از مدل های آماری در یادگیری ماشین استفاده می‌شه رو نباید نادیده گرفت.شباهت هایادگیری ماشین و مدل سازی آماری هر دو نیازمند این هستند که خطا رو به حداقل برسانند؛ بنابراین از استراتژی های مختلف بهینه سازی برای بهبود الگوریتم ها و مدل های خود استفاده می‌کنند. این دو، قابلیت این رو دارند که مشکلات مشابهی رو برطرف کنند اما هر یک بنا به مساله‌ی خاص نقاط قوت خود رو دارند و در نتیجه ممکن است راهکار های مکمل در نظر گرفته بشن.</description>
                <category>شرکت علم داده ارزیاب</category>
                <author>Fatemeh Safavipour</author>
                <pubDate>Sat, 01 Aug 2020 13:21:57 +0430</pubDate>
            </item>
            </channel>
</rss>