Skip to content

MohammadsaeedHaghi/round4-optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Optimizer logo

رندوم نویز میکرز

Status Binder License


معرفی و توضیح مختصر روش استفاده شده و در صورت تمایل بج‌هایی که علاقه‌مند هستید را به جای بج‌های بالا جایگزین کنید
برای خوشه‌بندی از spectral clustering استفاده شد. برای تشخیص داده پرت در این بخش با استفاده از pca و دستی این‌کار را انجام شد. برای پیدا کردن بعد از pca استفاده شد. (drop off)

📝 فهرست مطالب

🧐 صورت‌بندی سوال

به جز فرض‌های اولیه داده شده در این بخش تقریب خاصی نزده ایم. یافتن منیفولدها و مرکز و شعاع بهینه به همراه بعد.

💡 الگوریتم بهینه‌سازی

ایتدا بوسیله Umap و pca بعد داده ها کاهش داده شد. برای پیدا کردن منیفولدها از Spectral Clustering استفاده شد.

برای پیدا کردن مرکز و شعاع بهینه نیز از الگوریتم iterative زیر استفاده شد:

1. choose a random point as the center of the manifold (we chose mean of the points) (c)
2. find the point with the maximum distance from the chosen center (p)
3. update c with the below equation:
  c = c + lambda * (p - c)

برای تشخیص بعد هم از drop off زیاد در مقدار explained_variance در pca استفاده کردیم.

⛓️ محدودیت‌ها

به علت محدودیت حجم خروجی مجبور به حدف کردن دادههای آفین از این بخش شدیم.

🚀 ایده‌های گسترش

میتوان با توجه توضیحاتی که در قسمت توضیح مشروح آورده شده است، تعدادی از کلاسترها را بهم پیوند زد تا تشکیل یک منیفلد دهند.

🏁 روند اجرا

ترجیحا از colab استفاده شود و cell ها به صورت متوالی اجرا شوند. (البته ممکن است که ترتیب اجرای لازم در یک نوتبوک در حد یکی دو cell بالا پایین شده باشد.)

پیش‌نیازها

اگر نیاز به نصب نرم‌افزار یا ایجاد محیط خاصی برای اجرای کد هست، مراحل نصب پیش‌نیازها را قدم به قدم توضیح دهید

کد را در محیط google colab ترجیحا اجرا کنید.

نصب

اگر خود کد شما نیاز به نصب دارد مراحل نصب پکیج خود را قدم به قدم توضیح دهید

برای همگی از دستور pip install استفاده کیند.

(اگر از colab استفاده کنید صرفا نیاز به نصب تعداد محدودی کتابخانه خواهید شد که کد نصبشان در خود کد آمده است)

🎈 نحوه استفاده

کافی است نام فایل را در cell مربوط به خواندن فایل درست دهید. (cell که از with استفاده کرده است.) مثلا:

import numpy as np
with open("R11.txt", "r") as f:
  d, n, m, k, p = [-1 if x == "_" else int(x) for x in f.readline().split()]
  ks = [int(x) for x in f.readline().split()]
  data = [[float(x) for x in string.split()] for string in f.readlines()]
  data = np.array(data)

data.shape

⛏️ وابستگی‌ها

sklearn
numpy
matplotlib
skdim
pyod

✍️ نویسندگان

از کد مهدی سلمانی و محمدسعید حقی (به صورت همزمان)

🎉 قدردانی

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published