algoroots
105 subscribers
5 photos
2 videos
5 files
6 links
جایی برای تقویت ذهن الگوریتمی با
الگوریتم های کاربردی در حوزه های جذاب
Download Telegram
انواع رگرسیون در machine learning :

1. رگرسیون خطی ساده

◽️رابطه خطی بین یک متغیر مستقل و یک متغیر وابسته

2. رگرسیون خطی چندگانه (Multiple Linear)

◽️چند متغیر مستقل برای پیش‌بینی یک خروجی

3. رگرسیون پلی‌نومیال (Polynomial)

◽️مدل‌سازی رابطه‌های غیرخطی با توان‌های بالاتر


4. رگرسیون لجستیک (Logistic)

◽️برای دسته‌بندی (خروجی بین 0 و 1)، نه مقدار عددی


5. رگرسیون Ridge

◽️رگرسیون با جریمه L2 برای کاهش پیچیدگی مدل


6. رگرسیون Lasso

◽️رگرسیون با جریمه L1 ویژگی‌های بی‌اثر را حذف می‌کند


7. رگرسیون لگاریتمی

◽️مناسب داده‌های دارای رشد یا افت سریع


8. رگرسیون Quantile (صدکی)

◽️پیش‌بینی میانه یا صدک‌های خاص داده


9. رگرسیون Stepwise (گام‌به‌گام)

◽️افزودن یا حذف خودکار ویژگی‌ها برای ساده‌سازی مدل

#ML
3🔥2
@MachineLearning_ir - Interactive Linear Algebra.pdf
4.4 MB
کتابی مناسب برای یادگیری بصری جبرخطی

از : Dan Margalit و Joseph D. Rabinoff
3
algoroots
@MachineLearning_ir - Interactive Linear Algebra.pdf
📚پایه ای بسیار مهم برای فهم و توسعه ی مدل های یادگیری ماشین
#Ml
2
@MachineLearning_ir - ML with Python Cookbook.pdf
1.8 MB
کتاب یادگیری ماشین با پایتون

از : Chris Albon
4
algoroots
@MachineLearning_ir - ML with Python Cookbook.pdf
📚پر از مسائل متداول و عملی
دارای راهکار های سریع و کاربردی
#Ml
3
🤔رمزنگاری هش:

یک تکنیک که یک ورودی با اندازه دلخواه را به
یک خروجی با اندازه ی ثابت تبدیل میکند
و خروجی را به اصطلاح هش می‌نامند!

یک الگوریتم بسیار حساس به تغییر و مقاوم

کاربرد ها :
ذخیره ی امن پسورد
امضای دیجیتال
بلاک چین
2👎1
lecture_notes.pdf
989.7 KB
carnegie mellon جزوه ی مبانی رمز دانشگاه
🤔21
algoroots
lecture_notes.pdf
مناسب برای یادگیری الگوریتم های رمز

#cryptography
2
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, classification_report

iris=load_iris()
X = iris.data
y = iris.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

y_pred=model.predict(X_test)

accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")
print("\nClassification Report:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))
2
Chip_Huyen_Designing_Machine_Learning_Systems_An_Iterative_Process.pdf
15.5 MB
کتابی برای پیاده سازی سیستم های ماشین لرنینگ به صورت واقعی و عملی
#Ml
3
🤔الگوریتم k-means

یک الگوریتم کلاسیک و مهم در یادگیریه بدون نظارت که در خوشه بندی استفاده میشود.

این الگوریتم مجموعه ای از نقاط داده را به K خوشه مجزا تقسیم می‌کند :
به صورتی که نقاط داخل هر خوشه بیشترین همسایگی را با هم داشته باشند و نقاط مختلف هر خوشه بیشترین تفاوت را با هم.


مسئله ریاضی پشت این الگوریتم کمینه کردن مجموع مربع فاصله داده ها از مرکز است.

#ML
👍41
import numpy as np

def initialize_centroids(X, k):
indices = np.random.choice(len(X), size=k, replace=False)
return X[indices]

def assign_clusters(X,centroids):
distances = np.linalg.norm(X[:, np.newaxis] -centroids, axis=2)
return np.argmin(distances, axis=1)

def update_centroids(X, labels, k):
return np.array([X[labels== i].mean(axis=0) for i in range(k)])

def has_converged(old_centroids, new_centroids, tolerance=1e-4):
shifts = np.linalg.norm(new_centroids - old_centroids, axis=1)
return np.all(shifts < tolerance)

def kmeans(X, k, max_iterations=100):
centroids=initialize_centroids(X, k)

for _ in range(max_iterations):
labels = assign_clusters(X, centroids)
new_centroids = update_centroids(X, labels, k)

if has_converged(centroids, new_centroids):
break

centroids=new_centroids

return centroids, labels
1
◻️ارزیابی Silhouette Score :

یکی از بهترین ارزیابی ها برای خوشه بندی

اندازه‌گیری میزان شباهت هر نقطه به خوشه اش نسبت به خوشه های دیگر

مقدار در بازه ی [1,1-]
نزدیک به 1 یعنی خوشه بندی عالی
نزدیک به صفر یعنی نقاط بین دو خوشه است
نزدیک به 1- یعنی اشتباه در خوشه بندی
#ML
👍21
import numpy as np
from collections import Counter

def euclidean_distance(a, b):
return np.sqrt(np.sum((a-b) ** 2))

class KNN:
def __init__(self, k=3):
self.k = k

def fit(self, X, y):
self.X_train = X
self.y_train = y

def predict(self, X):
return [self._predict(x) for x in X]

def _predict(self, x):

distances = [euclidean_distance(x, x_train) for x_train in self.X_train]

k_indics = np.argsort(distances)[:self.k]

k_nearest_labels = [self.y_train[i] for i in k_indics]

most_common = Counter(k_nearest_labels).most_common(1)
return most_common[0][0]
1
algoroots
import numpy as np from collections import Counter def euclidean_distance(a, b): return np.sqrt(np.sum((a-b) ** 2)) class KNN: def __init__(self, k=3): self.k = k def fit(self, X, y): self.X_train = X self.y_train = y…
◼️برای هر نمونه از حلقه های for تو در تو نباید استفاده شه
◽️راهکار جایگزین بردارسازی با نامپای هست

◽️برای تصادفی نشدن نتایج در کلاس ها با رأی برابر شرطی کردن روش خوبی است
بخصوص بررسی میانگین

◽️معیار F1_score حتما در کنار سه معیار شاخص بررسی شود

◽️مقدار خیلی کوچک K باعث نویز میشود
و بزرگ آن دقت را کم میکند
بهینه سازی با Cross_validatiam راهکار خوبی است


رعایت این نکات الگوریتم را بسیار بهینه میکند .

#ML
#python
1👍1