کتاب Outlier Detection in Python (تشخیص نقاط پرت در پایتون) راهنمایی عملی و جامع برای شناسایی نقاط پرت (Outliers) با استفاده از زبان برنامهنویسی پایتون است. این کتاب به بررسی مفاهیم پایهای و پیشرفتهی مربوط به دادههای پرت میپردازد و تکنیکهای مختلفی مانند روشهای آماری، الگوریتمهای یادگیری ماشین (نظیر Isolation Forest، One-Class SVM و DBSCAN) و روشهای مبتنی بر یادگیری عمیق را معرفی میکند.
در ادامه مقدمهای از کتاب Outlier Detection in Python را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Outlier Detection in Python:
این کتاب نتیجه سالها تفکر و شیفتگی نسبت به مسئله شناسایی دادههای پرت است. در چندین شغل که شناسایی دادههای پرت یک ضرورت عملی بود – برای مثال بررسی دادههای مالی و انجام تحلیل شبکههای اجتماعی – کار کردهام. بنابراین، یک عنصر بسیار عملی در یادگیری شناسایی دادههای پرت وجود داشته است. اما شناسایی دادههای پرت احتمالاً جالبترین حوزه فکری بود که روی آن کار کردم، حتی پس از سالها کار در حوزههای متعدد دیگر علم داده.
ایده کلی شناسایی دادههای پرت نسبتاً ساده است: پیدا کردن مواردی در یک مجموعه داده که بیشتر از بقیه متفاوت هستند. اما در عمل، انجام آن به روشی کارآمد و مؤثر اغلب بسیار دشوار است، به خصوص در جایی که به دادههای پرت ظریف علاقهمند هستید. پس از اجرا، دشوار است که تعیین کنیم آیا مواردی که به عنوان غیرعادیترین موارد پرچمگذاری شدهاند، واقعاً غیرعادیترین هستند یا خیر. در واقع، حتی شناسایی دقیق اینکه چرا موارد پرچمگذاری شده غیرعادی هستند، میتواند دشوار باشد.
این یک حوزه بسیار چالشبرانگیز و در عین حال فوقالعاده جالب است. من در نهایت احتمالاً چند صد مقاله ژورنالی را خواندم و زمان زیادی را صرف آزمایش تکنیکهای مختلف روی انواع دادهها کردم. مشکل اصلی که من یافتم، نبود مدلهای قابل تفسیر بود. با وجود اهمیت قابلیت تفسیر در شناسایی دادههای پرت، در واقع روشهای بسیار کمی برای ایجاد نتایج قابل تفسیر وجود دارد. بنابراین، من چند ابزار توسعه دادم که هنوز هم آنها را نگهداری میکنم: Counts Outlier Detector و Data Consistency Checker.
من به کار با شناسایی دادههای پرت ادامه دادهام و مدتی است که پیشرفتهای این حوزه را دنبال میکنم، از جمله پیشرفتهای اخیر در تکنیکهای مبتنی بر یادگیری عمیق برای شناسایی دادههای پرت.
سعی کردم این دانش را به بهترین شکل ممکن در این کتاب خلاصه کنم. امیدوارم از آن لذت ببرید.
درباره کتاب Outlier Detection in Python
این کتاب به شما کمک میکند تا ابتدا، ایده دادههای پرت را درک کنید؛ این مفهومی ظریفتر از آن چیزی است که در ابتدا به نظر میرسد. سپس به شما کمک میکند تا دادههای پرت را در دادهها شناسایی کنید. بخش دشوار، که آن را نیز پوشش خواهیم داد، ارزیابی میزان موفقیت شما در شناسایی دادههای پرت در دادهها است.
ما به روشهایی نگاه میکنیم تا سعی کنیم تمام (یا تا حد امکان) ناهنجاریها را در یک مجموعه داده پیدا کنیم. این کتاب به خوانندگان کمک میکند تا به دادهها از منظرهای مختلف نگاه کنند تا مرتبطترین دادههای پرت را برای نیازهای خود بیابند. همچنین ابزارهای اصلی مورد استفاده امروز برای شناسایی دادههای پرت را توضیح میدهد. توصیف همه چیز ممکن نیست، اما این کتاب کاملاً جامع است.
کتاب Outlier Detection in Python یک پیشزمینه قوی در مورد ابزارهای موجود فراهم میکند و به شما پیشزمینهای میدهد تا هر ابزار دیگری را که ممکن است پیدا کنید ارزیابی کنید – و در صورت لزوم ابزارهای خود را توسعه دهید.
به طور کلی پذیرفته شده است که در شناسایی دادههای پرت، هیچ الگوریتم واحدی به طور قابل اعتمادی تمام دادههای پرت را که ممکن است شناسایی آنها در هر مجموعه داده مفید باشد، شناسایی نخواهد کرد. در نتیجه، استفاده از چندین آشکارساز رایج است.
این موضوع ارزش یادگیری ابزارهای متعدد شناسایی دادههای پرت را (که در این کتاب خواهید آموخت) برجسته میکند، اما همچنین به این معنی است که معمولاً نیاز به ایجاد آنسامبلهایی از آشکارسازها وجود دارد (که در واقع کمی متفاوت از آنسامبلهای مدلهای پیشبینیکننده عمل میکنند). ما در مورد بهترین تکنیکها برای ایجاد و استفاده از آنسامبلهای شناسایی دادههای پرت صحبت میکنیم.
قابلیت توضیح (Explainability) نیز در شناسایی دادههای پرت بسیار مهم است – به طور کلی بسیار بیشتر از مدلهای پیشبینیکننده. برای مثال، اگر یک سیستم شناسایی دادههای پرت، آنچه ممکن است یک تهدید امنیتی، کلاهبرداری، کشف علمی، ماشینآلات در حال خرابی – یا هر چیز دیگری که نیاز به بررسی دارد – را شناسایی کند، برای بررسی این موارد، لازم است بدانیم چه چیزی غیرمعمول است: چرا این مورد به عنوان ناهنجار شناسایی شد.
با این وجود، مدلهای قابل تفسیر کمی برای شناسایی دادههای پرت در دسترس هستند. با این حال، کتاب Outlier Detection in Python قابلیت تفسیر [و همچنین هوش مصنوعی قابل توضیح (XAI)] را به عنوان یک تمرکز حفظ میکند، بنابراین شما میتوانید به بهترین شکل درک کنید که چرا مواردی که توسط یک سیستم شناسایی به عنوان دادههای پرت پرچمگذاری شدهاند، پرچمگذاری شدهاند.
کتاب Outlier Detection in Python دادههای متنی، سری زمانی و تصویری را پوشش میدهد، اما بر دادههای جدولی تمرکز دارد، زیرا این قالبی است که ما تمایل داریم بیشترین کار را در شناسایی دادههای پرت روی آن انجام دهیم (اگرچه شناسایی دادههای پرت با متن، ویدئو، صدا و سایر فرمتها نیز بسیار رایج و مهم است).
سایر فرمتها (برای مثال، سری زمانی یا دادههای شبکه) اغلب میتوانند به فرمت جدولی تبدیل شوند تا دادههای پرت شناسایی شوند، و بنابراین درک قوی از شناسایی دادههای پرت جدولی به طور کلی هنگام انجام هر نوع کار شناسایی دادههای پرت مهم است.
دادههای جدولی همچنین یک قالب بسیار خوب برای شروع کار با شناسایی دادههای پرت هستند – این یک مکان خوب برای یادگیری درک چالشهای اصلی شناسایی دادههای پرت و راهحلهای آنها است. سپس ما بر این درک بنا میکنیم و به روشهای پیشرفتهتر، از جمله برخی از پیشرفتهترین تکنیکهای توسعهیافته تا به امروز نگاه میکنیم.
برای مثال، شناسایی دادههای پرت با دادههای تصویری، رویکردهای مبتنی بر یادگیری عمیق را میطلبد که ما آنها را پوشش میدهیم و آنها را نیز بر روی دادههای جدولی و سری زمانی اعمال میکنیم.
چه کسی باید کتاب Outlier Detection in Python را بخواند؟
هر کسی که در یادگیری ماشین یا علم داده کار میکند، از این کتاب بهرهمند خواهد شد. شناسایی دادههای پرت یک کار رایج است و احتمالاً چیزی است که هر از گاهی برای هر کسی که در این زمینهها کار میکند پیش میآید؛ این یک مهارت مهم است. درک شناسایی دادههای پرت همچنین به متخصصان کمک میکند تا سایر حوزههای یادگیری ماشین، مانند پیشبینی، خوشهبندی و کاهش ابعاد را بهتر درک کنند.
برای هر کسی که کارهای تحلیل داده را انجام میدهد، شناسایی دادههای پرت میتواند بسیار مفید باشد. در واقع، میتوان استدلال کرد که دو وظیفه اصلی هنگام تلاش برای درک یک مجموعه داده، ابتدا درک الگوهای کلی در دادهها و دوم درک استثنائات این الگوها: یعنی دادههای پرت است.
علاوه بر این، هر کسی که در زمینههایی مانند حسابرسی، امنیت، مراقبتهای بهداشتی، شناسایی بات، تحقیقات علمی، یا هر زمینه دیگری که درک دادههای موجود و درک ناهنجاریهای آن مفید است، کار میکند، کتاب Outlier Detection in Python را بسیار مفید خواهد یافت.
نحوه سازماندهی کتاب Outlier Detection in Python: یک نقشه راه
کتاب به چهار بخش تقسیم شده است. بخش ۱ کتاب Outlier Detection in Python ایدههای اساسی شناسایی دادههای پرت را پوشش میدهد: دادههای پرت چیست، برخی تکنیکها برای یافتن آنها، و مدیریت پروژههای شناسایی دادههای پرت.
-
فصل ۱ ایده دادههای پرت و چند مثال از مواردی که شناسایی دادههای پرت ممکن است استفاده شود، همراه با توضیحات سطح بالا از نحوه اعمال شناسایی دادههای پرت در این موارد را پوشش میدهد. این فصل از کتاب Outlier Detection in Python، به ماهیت ذهنی دادههای پرت میپردازد، پیشینهای از شناسایی دادههای پرت را ارائه میدهد و جایگاه شناسایی دادههای پرت را در یادگیری ماشین به طور کلی توصیف میکند.
-
فصل ۲ شناسایی دادههای پرت را با روشهای آماری ساده مانند z-score معرفی میکند که میتواند مقادیر نادر یا شدید را در توالی مقادیر پیدا کند.
-
فصل ۳ به جداول دادهها میپردازد و برخی از رایجترین رویکردها برای شناسایی دادههای پرت، همراه با پیادهسازی در پایتون را معرفی میکند.
-
فصل ۴ به نحوه اجرای پروژههای شناسایی دادههای پرت از ابتدا تا انتها میپردازد. این موضوع گاهی اوقات ممکن است از بحث حذف شود اما برای یک فرآیند شناسایی دادههای پرت مؤثر ضروری است.
بخش ۲ کتاب Outlier Detection in Python ابزارها و الگوریتمهای اصلی برای شناسایی دادههای پرت در پایتون را پوشش میدهد.
-
فصل ۵ شناسایی دادههای پرت را با scikit-learn و ابزارهایی که ارائه میدهد، معرفی میکند.
-
فصل ۶ کتابخانه PyOD را معرفی میکند که احتمالاً جامعترین کتابخانه برای شناسایی دادههای پرت عددی جدولی در پایتون است.
-
فصل ۷ چندین کتابخانه، ابزار و الگوریتم دیگر را توضیح میدهد. اینها نیز بسیار مفید و مؤثر هستند اما یافتن آنها دشوارتر از آنهایی است که در scikit-learn یا PyOD هستند. اینها به خوانندگان کمک میکنند تا خود شناسایی دادههای پرت را بهتر درک کنند، به خوانندگان کمک میکنند تا نحوه توسعه آشکارسازهای خود را ببینند، و مجموعهای از ابزارها را ارائه میدهند که خودشان مفید هستند.
بخش ۳ کتاب Outlier Detection in Python مسائل عملی را که احتمالاً هنگام انجام شناسایی دادههای پرت با آنها مواجه خواهید شد، مانند کار با انواع مختلف داده، مجموعههای داده بسیار بزرگ، محدودیتهای زمانی و محدودیتهای حافظه را پوشش میدهد.
همچنین تکنیکهایی را برای ارزیابی آشکارسازهای فردی و سیستم شناسایی دادههای پرت به طور کلی پوشش میدهد. این شامل تکنیکهایی برای ایجاد دادههای مصنوعی، ایجاد آنسامبلها، و پردازش و تفسیر نتایج، حتی در مواردی که تعداد زیادی از دادههای پرت پرچمگذاری شدهاند.
-
فصل ۸ تکنیکهایی را برای شناسایی مفیدترین آشکارسازها و بهترین هایپرپارامترها برای هر پروژه معین پوشش میدهد.
-
فصل ۹ به کار با انواع خاصی از دادهها (مثلاً دادههای متنی، تاریخها، آدرسها)، کدگذاری دادههای دستهبندی، دستهبندی و مقیاسبندی دادههای عددی، و معیارهای فاصلهای که توسط بسیاری از الگوریتمها استفاده میشوند، میپردازد.
-
فصل ۱۰ به مدیریت مجموعههای داده بسیار بزرگ و بسیار کوچک میپردازد.
-
فصل ۱۱ تکنیکهایی را برای تولید دادههای مصنوعی توضیح میدهد که اغلب برای تنظیم و ارزیابی سیستمهای شناسایی دادههای پرت ضروری است. این فصل از کتاب Outlier Detection in Python، همچنین شبیهسازیها را پوشش میدهد که خود یک تکنیک مفید شناسایی دادههای پرت است.
-
فصل ۱۲ ایده دادههای پرت جمعی را معرفی میکند: مواردی که هیچ مورد خاصی لزوماً غیرمعمول نیست، اما مجموعهای از موارد به طور جمعی غیرمعمول هستند. این شامل مواردی است که تعداد غیرمعمولی از چیزهای خاص وجود دارد، جایی که برخی چیزها کاملاً غایب هستند، جایی که رویدادها به ترتیبهای غیرمعمولی رخ میدهند و غیره.
-
فصل ۱۳ نحوه قابل فهم کردن شناسایی دادههای پرت را توضیح میدهد تا دادههای پرت پرچمگذاری شده قابل درک و به طور مؤثر قابل بررسی باشند.
-
فصل ۱۴ نحوه استفاده بهینه از چندین آشکارساز را برای شناسایی دادههای پرت در یک مجموعه داده پوشش میدهد.
-
فصل ۱۵ نحوه پردازش کارآمد خروجی روالهای شناسایی دادههای پرت را توضیح میدهد.
بخش ۴ کتاب Outlier Detection in Python یادگیری عمیق و دو حالت دیگر را که ممکن است با آنها کار کنید پوشش میدهد: دادههای تصویری و سری زمانی.
-
فصل ۱۶ روشهای مبتنی بر یادگیری عمیق برای شناسایی دادههای پرت جدولی و تصویری را توضیح میدهد.
-
فصل ۱۷ شناسایی دادههای پرت برای دادههای سری زمانی را معرفی میکند.
کتاب Outlier Detection in Python فصل به فصل پیش میرود، با این فرض که شما با مطالب فصلهای قبلی آشنا هستید، اما باید بتوانید فصلهایی را که به کار شما مربوط نیستند، بدون هیچ مشکلی رد کنید. با این حال، توصیه میکنم حداقل پنج فصل اول کتاب Outlier Detection in Python را بخوانید تا مطمئن شوید بقیه فصلها معنی دارند.
استثنا فصل ۲ کتاب Outlier Detection in Python است که اگر قبلاً با تکنیکهای پوشش داده شده در آنجا آشنا هستید، میتوانید آن را رد کنید؛ از آنجایی که اینها اغلب در دورههای آمار پوشش داده میشوند، این کاملاً ممکن است.
سرفصلهای کتاب Outlier Detection in Python:
- Outlier Detection in Python
- brief contents
- contents
- preface
- acknowledgments
- about this book
- Who should read this book
- How this book is organized: A road map
- About the code
- liveBook discussion forum
- about the author
- about the cover illustration
- Part 1
- 1 Introducing outlier detection
- 2 Simple outlier detection
- 3 Machine learning-based outlier detection
- 4 The outlier detection process
- Part 2
- 5 Outlier detection using scikit-learn
- 6 The PyOD library
- 7 Additional libraries and algorithms for outlier detection
- Part 3
- 8 Evaluating detectors and parameters
- 9 Working with specific data types
- 10 Handling very large and very small datasets
- 11 Synthetic data for outlier detection
- 12 Collective outliers
- 13 Explainable outlier detection
- 14 Ensembles of outlier detectors
- 15 Working with outlier detection predictions
- Part 4
- 16 Deep learning-based outlier detection
- 17 Time-series data
- index
جهت دانلود کتاب Outlier Detection in Python میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.