❓کوییز شماره ۷۷: نقش تابع هزینه در الگوریتم UMAP چیه؟
Anonymous Quiz
24%
برای تعیین سرعت همگرایی الگوریتم استفاده میشه.
24%
برای اندازهگیری فاصله بین نقاط در فضای اصلی و فضای کمبعد استفاده میشه.
36%
برای اندازهگیری شباهت بین نمایش دادهها در فضای اصلی و فضای کمبعد استفاده میشه.
16%
فقط برای تنظیم پارامترهای الگوریتم مثل تعداد همسایهها و فاصله حداقل استفاده میشه.
👍3😎3🤔2
آموزش دیتاساینس و ماشینلرنینگ
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2👌2
هر جا که دادههای با بعد بالا وجود داشته باشه و نیاز به تجزیه و تحلیل، تجسم یا سادهسازیشون باشه، تکنیکهای کاهش ابعاد میتونن به کار برده شن.
استفاده از این روشها در پروژههای یادگیری ماشین به بهبود کارایی مدلها و کشف اطلاعات معنادار از بین دادههای پیچیده کمک میکنه.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3👏2
❓کوییز شماره ۷۸: در کدوم سناریو زیر استفاده از t-SNE بهتر از PCA برای کاهش ابعاد، در حین کار با یک سیستم با حداقل توان محاسباتیه؟
Anonymous Quiz
29%
مجموعه داده با 1 میلیون ورودی و 300 ویژگی
19%
مجموعه داده با 100,000 ورودی و 310 ویژگی
33%
مجموعه داده با 10,000 ورودی و 8 ویژگی
19%
مجموعه داده با 10,000 ورودی و 200 ویژگی
😎5👍3🤔1
یک روش ریاضیه که امکان میده تا مسائل غیرخطی رو به نحوی تغییر بدیم که بشه از روشهای خطی برای حلشون استفاده کرد. در kPCA به جای کار با ماتریس کوواریانس، از ماتریس هسته استفاده میشه.
این ماتریس نشون میده که هر دو نقطه داده در فضای جدید چقدر به هم شبیه هستن؛ فضای جدیدی که با استفاده از یک تابع خاص (هسته) به دست اومده.
برای مثال در مواردی مثل تشخیص چهره، جایی که دادهها به صورت غیرخطی در فضای اصلی پخش شدن، kPCA برای استخراج ویژگیها و کاهش ابعاد، بدون تغییر ساختار غیرخطی دادهها کاربرد داره.
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👌2👨💻1
#Weekend
#Machine_Learning
#Dimensionality_Reduction
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3👍2🔥2
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👌2🔥1
دنیای دادهها جذابه و دونستن علم داده، توانایی تحلیل داده، یا بازاریابی مبتنی بر داده، میتونه شما رو برای فرصتهای شغلی زیادی مناسب کنه.
فارغ از رشته و پیش زمینهتون، میتونین با استفاده از دورههای رضا شکرزاد این مسیر رو شروع کنین و از سطح مقدماتی تا پیشرفته پیش برین.
❗️دانشجویان دوره علم داده ۱ میتونن با پرداخت اختلاف هزینه، دوره جامع رو تهیه کنن.
#Courses
@DSLanders | دیاسلندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1🔥1
تشخیص ناهنجاری اشاره به تکنیکها و روشهایی داره که در اونها دادههایی که از الگوهای معمول متفاوت هستن، شناسایی میشن.
هدف اصلی از تشخیص ناهنجاری، شناسایی دادهها یا رویدادهایی هست که از الگوهای معمول یا مورد انتظار منحرف هستن. این کار به دلایل زیر انجام میتونه انجام شه:
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥1
❓کوییز شماره ۷۹: کدوم یک از گزینههای زیر به درستی انواع ناهنجاریهای موجود در دادهها رو شرح میده؟
Anonymous Quiz
16%
ناهنجاریهای جهانی و ناهنجاریهای محلی
44%
ناهنجاریهای نقطهای، ناهنجاریهای زمینهای و ناهنجاریهای جمعی
19%
ناهنجاریهای بر اساس خطا و ناهنجاریهای بر اساس تقلب
22%
ناهنجاریهای دستهبندی شده و ناهنجاریهای غیردستهبندی شده
❤5😎3🔥2
هر دو برای شناسایی و فیلتر کردن ناهنجاریها هستن اما اهداف و روششناسیهای متفاوتی دارن.
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3👌1
روشهای آماری یکی از سنتیترین رویکردها در تشخیص ناهنجاری هستن. این روشها بر پایه مدلسازی توزیع دادههای نرمال و شناسایی دادههایی که با این توزیع سازگار نیستن، عمل میکنن. بعضی از روشهای آماری شامل نمونههای زیر میشن:
این روشها دادههای ناهنجار رو با توجه به فاصلهشون از بقیه دادهها تشخیص میدن. الگوریتم K-نزدیکترین همسایه (K-NN) یکی از معروفترین روشهای این گروهه. دادههایی که فاصله زیادی با K همسایه نزدیکشون دارن، به عنوان ناهنجاری شناسایی میشن.
روشهای مبتنی بر چگالی مثل DBSCAN و OPTICS، دادههایی که در نواحی با چگالی پایین قرار دارن رو به عنوان ناهنجاری در نظر میگیرن. این روشها برای دادههایی با توزیعهای مختلف کاربرد دارن و نیازی به تعیین تعداد خوشهها ندارن.
شبکههای عصبی و یادگیری عمیق هم برای تشخیص ناهنجاری استفاده میشن. این روشها مخصوصا در دادههای پیچیده و با ابعاد بالا کارآمد هستن. بعضی از روشهای شبکههای عصبی شامل نمونههای زیر میشن:
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👌2👏1
❓کوییز شماره ۸۰: کدوم یک از گزینههای زیر تکنیک صحیحی برای کشف ناهنجاریهای مبتنی بر تراکم دادهها نیست؟
Anonymous Quiz
38%
K-nearest neighbor
40%
Isolation Forest
21%
K-means cluster analysis
😎4❤3🤔2
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4👌3
یکی از روشهای موثر در تشخیص ناهنجاری، استفاده از الگوریتم iForest یا جنگل ایزوله است. iForest که مخفف Isolation Forest هست، یک الگوریتم مبتنی بر درخت تصمیم برای تشخیص ناهنجاریه.
این روش به جای تمرکز روی ساختن فهرستی از دادههای عادی، سعی در ایزوله کردن نمونههای ناهنجار داره. این کار با ساختن چندین درخت ایزوله و محاسبهی میزان طول مسیر ایزوله برای هر نمونه انجام میشه. نمونههایی که زودتر ایزوله میشن، احتمال دارن که ناهنجار باشن.
الگوریتم iForest با ایجاد یک جنگل از درختان ایزوله کار میکنه. هر درخت در این جنگل با استفاده از یک زیرمجموعهی تصادفی از دادهها ساخته میشه.
در هر گره از درخت، یک ویژگی به صورت تصادفی انتخاب میشه و یک مقدار شکاف (split value) هم به صورت تصادفی تعیین میشه تا دادهها رو به دو زیر مجموعه تقسیم کنه. این فرآیند تا رسیدن به ایزوله کردن نمونهها یا رسیدن به عمق مشخصی از درخت ادامه داره.
الگوریتم iForest در زمینههای مختلفی مثل تشخیص تقلب، سیستمهای توصیهگر، نظارت به سلامت شبکه، و تشخیص نقص در تولید استفاده میشه. همچنین کارایی بالا و نیاز کمی به منابع محاسباتی داره.
تعداد درختها (n_estimators) روی دقت تشخیص ناهنجاریها و عمق درخت (max_depth) روی قابلیت جداسازی ناهنجاریها و تعادل بین زمان اجرا و دقت تاثیر گذاره.
همچنین contamination برای تعیین سطح آستانهای که بر اساسش نمونهها به عنوان ناهنجار شناسایی میشن اهمیت داره.
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3👌2
❓کوییز شماره ۸۱: کدوم محدودیت در استفاده از Isolation Forest شناخته شدهست و چطور Extended Isolation Forests به بهبودش کمک میکنه؟
Anonymous Quiz
28%
حساسیت به تعداد ویژگیها، با افزایش تنوع در جهت برشها
28%
محدودیت در کار با دادههای زمانی، با افزایش دقت تشخیص
44%
بایاس به دلیل نحوه تقسیم شاخهها، با جایگزینی برشهای افقی و عمودی با برشهای دارای شیب تصادفی
0%
عدم توانایی در کار با دادههای بزرگ، با کاهش پیچیدگی زمانی الگوریتم
😎4🤔3❤2👍1
کد زیر مدلی از الگوریتم Isolation Forest رو برای تشخیص ناهنجاریها در یک دیتاست مصنوعی آموزش میده.
- n_samples: تعداد نمونههایی که توسط
make_blobs
ایجاد میشن که در اینجا 300 نمونه در نظر گرفته شده.- centers: تعداد مراکزی که دادههای مصنوعی براساس اونها تولید میشن که در این مثال تنها یک مرکز وجود داره.
- cluster_std: انحراف معیاری که کنترل میکنه دادهها چقدر دور مرکز پخش شن. عدد کوچکتر باعث میشه دادهها نزدیکتر به هم و کمتر پراکنده باشن.
- np.random.uniform: برای ایجاد ناهنجاریها، از توزیع یکنواخت بین مقادیر 6- و 6 استفاده میکنه. تعداد این ناهنجاریها 20 تاست که در 2 بعد تولید میشن.
- n_estimators: تعداد درختهایی که در جنگل ایزوله (iForest) استفاده میشن.
- contamination: پارامتری که نشون میده چند درصد از دادهها رو میشه به عنوان ناهنجار در نظر گرفت.
import numpy as np
from sklearn.ensemble import IsolationForest
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
X, _ = make_blobs(n_samples=300, centers=1, cluster_std=0.60, random_state=42)
X = np.concatenate([X, np.random.uniform(low=-6, high=6, size=(20, 2))])
clf = IsolationForest(n_estimators=100, contamination=0.1, random_state=42)
clf.fit(X)
y_pred = clf.predict(X)
print(y_pred)
plt.scatter(X[:, 0], X[:, 1], c=y_pred, cmap='Paired')
plt.title("Isolation Forest Anomaly Detection")
plt.xlabel("Feature 1")
plt.ylabel("Feature 2")
plt.show()
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌4❤2👍1🔥1
الگوریتم LOF (Local Outlier Factor) برای شناسایی دادههای ناهنجار در مجموعه دادههای بزرگ و پیچیده طراحی شده. LOF بر اساس مفهوم فاصله محلی (Local) بین نقاط کار میکنه.
این روش با مقایسه میزان جمعیت اطراف یک نقطه با همسایههاش، نقاط غیرعادی رو پیدا میکنه. اگه یک نقطه خیلی کمجمعیتتر از همسایههاش باشه، به عنوان نقطهای غیرعادی مشخص میشه.
۱. محاسبه فاصله برای هر نقطه: در مرحله اول برای هر نقطه در دادهها، فاصله تا k همسایهی نزدیکش محاسبه میشه.
۲. محاسبه تراکم محلی: با استفاده از فاصلههای محاسبه شده، تراکم محلی برای هر نقطه و همسایههاش محاسبه میشه.
۳. محاسبه فاکتور ناهنجاری: برای هر نقطه، نسبت تراکم محلی به میانگین تراکم محلی همسایههاش به عنوان فاکتور ناهنجاری محاسبه میشه.
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
❓کوییز شماره ۸۲: مفهوم "فاصله قابل دسترسی" در الگوریتم LOF به چه معنیه و در الگوریتم LOF، یک نقطه چطور به عنوان ناهنجاری شناخته میشه؟
Anonymous Quiz
11%
فاصله بین نقطه و مرکز دادهها و اگه LOF نقطه تقریباً برابر با 1 باشه.
22%
حداقل فاصله برای رسیدن به همسایه نزدیکترین و اگه LOF نقطه کمتر از 1 باشه.
22%
بیشترین فاصله بین نقطه و همسایه دورترین و اگه LOF نقطه دقیقاً برابر با 2 باشه.
44%
حداکثر فاصله بین نقطه و همسایه یا فاصله واقعی بین دو نقطه. اگه LOF نقطه بیشتر از 1 باشه.
😎3❤2👍1🤔1👌1
کد زیر مدلی از الگوریتم LOF رو برای تشخیص ناهنجاریها در یک دیتاست مصنوعی آموزش میده.
- n_neighbors: تعداد همسایگان برای محاسبه تراکم محلیه. تعداد بیشتر این مورد در دادههای با تراکم متغیر، دقت تشخیص ناهنجاری رو بهبود میده.
- algorithm: الگوریتم برای محاسبه فاصلههاست و auto به طور خودکار الگوریتم بهینه رو بر اساس دادهها انتخاب میکنه.
- leaf_size: این پارامتر در الگوریتمهای مبتنی بر درخت تاثیر داره و روی سرعت ساخت درخت و پرسوجوها تاثیر داره.
- metric: معیار فاصله برای محاسبه فاصلههاست. در اینجا، فاصله مینکوفسکی با p=2 که همون فاصله اقلیدسیه، استفاده شده.
- contamination: نسبت تقریبی ناهنجاریها در دادههاست. این مقدار کمک میکنه تا مدل تعداد نقاط ناهنجاری مورد انتظار رو تخمین بزنه.
- novelty: این پارامتر تعیین میکنه که آیا مدل باید برای تشخیص ناهنجاریها در دادههای جدید استفاده شه یا نه.
- n_jobs: این پارامتر تعیین میکنه که آیا باید از همه پردازندهها برای محاسبات استفاده کرد یا نه. با تنظیمش به منفی 1 ، تمام هستههای پردازنده موجود استفاده میشن، که سرعت محاسبات رو افزایش میده.
from sklearn.datasets import make_blobs
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import LocalOutlierFactor
X, _ = make_blobs(n_samples=200, centers=3, cluster_std=0.50, random_state=42)
X_outliers = np.random.uniform(low=-10, high=10, size=(15, 2))
X = np.r_[X, X_outliers]
lof = LocalOutlierFactor(n_neighbors=35, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, contamination=0.1, novelty=False, n_jobs=-1)
y_pred = lof.fit_predict(X)
scores = lof.negative_outlier_factor_
plt.scatter(X[:, 0], X[:, 1], color='k', s=3., label='Data points')
plt.scatter(X[y_pred == -1][:, 0], X[y_pred == -1][:, 1], edgecolor='r', facecolor='none', s=100, label='Predicted outliers')
plt.axis('tight')
plt.legend(loc='upper left')
plt.show()
#Machine_Learning
#Anomaly_Detection
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3👌2