TENSORPHILIA Telegram 217
🔸Voting Classifiers

🔹طبقه‌بندهای رأی‌گیری چندین مدل طبقه‌بندی را برای بهبود دقت کلی پیش‌بینی ترکیب می‌کند.
ایده اصلی این است که پیش‌بینی‌های چندین مدل را ترکیب کنیم و از نقاط قوت آن‌ها برای دستیابی به یک طبقه‌بند قوی‌تر استفاده کنیم.
■دو نوع اصلی رأی‌گیری وجود دارد:
Hard Voting:
کلاسی که بیشترین رأی (یعنی کلاس اکثریت) را دریافت می‌کند، به‌عنوان پیش‌بینی نهایی انتخاب می‌شود.
Soft Voting:
احتمال‌های هر کلاس از هر طبقه‌بندی ترکیب می‌شوند و کلاسی که بالاترین احتمال میانگین را دارد، انتخاب می‌شود.

🔺مثال
در ادامه به یک پیاده‌سازی با استفاده از رگرسیون لجستیک، ماشین پشتیبان (SVM)، و جنگل تصادفی(Random forest) می‌پردازیم:

from sklearn.ensemble import VotingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# مرحله 1: ایجاد یک مجموعه داده مصنوعی
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# مرحله 2: تعریف مدل‌های پایه
log_reg = LogisticRegression(solver='liblinear')
svm = SVC(probability=True) # تنظیم probability=True برای رأی‌گیری نرم
random_forest = RandomForestClassifier(n_estimators=100)

# مرحله 3: ایجاد طبقه‌بند رأی‌گیری
voting_classifier = VotingClassifier(
estimators=[
('lr', log_reg),
('svm', svm),
('rf', random_forest)
],
voting='soft' # انتخاب 'hard' برای رأی‌گیری سخت
)

# مرحله 4: آموزش مدل
voting_classifier.fit(X_train, y_train)

# مرحله 5: انجام پیش‌بینی و ارزیابی
y_pred = voting_classifier.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)

print(f"دقت طبقه‌بند رأی‌گیری: {accuracy:.2f}")

توضیح کد:
۱. ایجاد مجموعه داده: ما یک مجموعه داده مصنوعی با استفاده از make_classification ایجاد می‌کنیم. این شامل ویژگی‌ها و برچسب‌های کلاسی باینری است.
۲. تعریف مدل‌ها: سه مدل پایه را تعریف می‌کنیم:
- رگرسیون لجستیک: یک مدل خطی ساده برای طبقه‌بندی باینری.
- ماشین پشتیبان (SVM): مهم است که probability=True را تنظیم کنیم تا بتوانیم از رأی‌گیری نرم استفاده کنیم.
- جنگل تصادفی(Random forest): یک مجموعه از درختان تصمیم که در برابر اورفیتینگ مقاوم است.
۳. طبقه‌بند رأی‌گیری: ما یک VotingClassifier ایجاد می‌کنیم که سه مدل پایه ما را در بر می‌گیرد.
ما voting='soft' را انتخاب می‌کنیم تا از احتمال‌های پیش‌بینی‌شده برای پیش‌بینی‌ها استفاده کنیم.
۴. آموزش مدل: مدل با استفاده از مجموعه داده‌های آموزشی آموزش دیده می‌شود.
۵. پیش‌بینی و ارزیابی: در نهایت، ما برچسب‌ها را برای مجموعه آزمایشی پیش‌بینی کرده و دقت طبقه‌بند رأی‌گیری را ارزیابی می‌کنیم.
🤖
🆔 Telegram | LinkedIn | YouTube



tgoop.com/tensorphilia/217
Create:
Last Update:

🔸Voting Classifiers

🔹طبقه‌بندهای رأی‌گیری چندین مدل طبقه‌بندی را برای بهبود دقت کلی پیش‌بینی ترکیب می‌کند.
ایده اصلی این است که پیش‌بینی‌های چندین مدل را ترکیب کنیم و از نقاط قوت آن‌ها برای دستیابی به یک طبقه‌بند قوی‌تر استفاده کنیم.
■دو نوع اصلی رأی‌گیری وجود دارد:
Hard Voting:
کلاسی که بیشترین رأی (یعنی کلاس اکثریت) را دریافت می‌کند، به‌عنوان پیش‌بینی نهایی انتخاب می‌شود.
Soft Voting:
احتمال‌های هر کلاس از هر طبقه‌بندی ترکیب می‌شوند و کلاسی که بالاترین احتمال میانگین را دارد، انتخاب می‌شود.

🔺مثال
در ادامه به یک پیاده‌سازی با استفاده از رگرسیون لجستیک، ماشین پشتیبان (SVM)، و جنگل تصادفی(Random forest) می‌پردازیم:

from sklearn.ensemble import VotingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# مرحله 1: ایجاد یک مجموعه داده مصنوعی
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# مرحله 2: تعریف مدل‌های پایه
log_reg = LogisticRegression(solver='liblinear')
svm = SVC(probability=True) # تنظیم probability=True برای رأی‌گیری نرم
random_forest = RandomForestClassifier(n_estimators=100)

# مرحله 3: ایجاد طبقه‌بند رأی‌گیری
voting_classifier = VotingClassifier(
estimators=[
('lr', log_reg),
('svm', svm),
('rf', random_forest)
],
voting='soft' # انتخاب 'hard' برای رأی‌گیری سخت
)

# مرحله 4: آموزش مدل
voting_classifier.fit(X_train, y_train)

# مرحله 5: انجام پیش‌بینی و ارزیابی
y_pred = voting_classifier.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)

print(f"دقت طبقه‌بند رأی‌گیری: {accuracy:.2f}")

توضیح کد:
۱. ایجاد مجموعه داده: ما یک مجموعه داده مصنوعی با استفاده از make_classification ایجاد می‌کنیم. این شامل ویژگی‌ها و برچسب‌های کلاسی باینری است.
۲. تعریف مدل‌ها: سه مدل پایه را تعریف می‌کنیم:
- رگرسیون لجستیک: یک مدل خطی ساده برای طبقه‌بندی باینری.
- ماشین پشتیبان (SVM): مهم است که probability=True را تنظیم کنیم تا بتوانیم از رأی‌گیری نرم استفاده کنیم.
- جنگل تصادفی(Random forest): یک مجموعه از درختان تصمیم که در برابر اورفیتینگ مقاوم است.
۳. طبقه‌بند رأی‌گیری: ما یک VotingClassifier ایجاد می‌کنیم که سه مدل پایه ما را در بر می‌گیرد.
ما voting='soft' را انتخاب می‌کنیم تا از احتمال‌های پیش‌بینی‌شده برای پیش‌بینی‌ها استفاده کنیم.
۴. آموزش مدل: مدل با استفاده از مجموعه داده‌های آموزشی آموزش دیده می‌شود.
۵. پیش‌بینی و ارزیابی: در نهایت، ما برچسب‌ها را برای مجموعه آزمایشی پیش‌بینی کرده و دقت طبقه‌بند رأی‌گیری را ارزیابی می‌کنیم.
🤖
🆔 Telegram | LinkedIn | YouTube

BY Tensorphilia


Share with your friend now:
tgoop.com/tensorphilia/217

View MORE
Open in Telegram


Telegram News

Date: |

Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators.
from us


Telegram Tensorphilia
FROM American