کلاس یک طرح یا قالب کلی برای ایجاد شی (Object) هست. شیها نمونههایی از کلاسها هستن که دارای ویژگی (Attribute) و رفتار (Method) هستن.
class BankAccount:
def __init__(self):
self.balance = 0
def deposit(self, amount):
self.balance += amount
def get_balance(self):
return self.balance
# استفاده از کلاس
account = BankAccount()# ساخت یک شی از کلاس
account.deposit(100) # اضافه کردن 100 واحد به موجودی
print(account.get_balance()) # دریافت موجودی حساب
class BaseModel:
def train(self, data):
# این متد باید در کلاسهای وارث پیادهسازی شه، در غیر این صورت خطا رخ میده.
raise NotImplementedError("متد train پیادهسازی نشده است.")
class LinearRegression(BaseModel):
def train(self, data):
# منطق آموزش برای رگرسیون خطی در اینجا پیادهسازی میشه
pass
class DecisionTree(BaseModel):
def train(self, data):
# منطق آموزش برای درخت تصمیم در اینجا پیادهسازی میشه
pass
پارامتر
self
در پایتون به هر شیای که داخل یک کلاس تعریف میشه اشاره داره و به متدهای کلاس میگه که کارهاشون رو روی همین شی انجام بدن. یعنی وقتی شما یک متدی رو فراخوانی میکنین، self
باعث میشه که متد بدونه داره روی کدوم شی کار میکنه.class Trainable:
def train(self, data):
print("Training with data.")
class Predictable:
def predict(self, input_data):
print("Predicting output.")
class RandomForest(Trainable, Predictable):
def train(self, data):
# منطق آموزش خاص برای جنگل تصادفی (Random Forest) را پیادهسازی کنید
pass
__str__
و __repr__
. این دو تا به ما کمک میکنن که وقتی یک شی از یک کلاس رو چاپ میکنیم، به جای حروف و ارقام نامفهوم، یه توضیح معنادار و مرتبط با اون شی ببینیم.class KMeans:
def __init__(self, n_clusters):
self.n_clusters = n_clusters
def __str__(self):
return f"KMeans(n_clusters={self.n_clusters})"
مثلاً، توی یک کلاس به نام
KMeans
که برای دستهبندی دادهها به چند گروه استفاده میشه، ما میتونیم __str__
رو تعریف کنیم تا وقتی یک شی از این کلاس رو چاپ میکنیم، به ما بگه که این کلاس داره با چندتا گروه از دادهها کار میکنه. این کار میتونه به خصوص وقتی داریم دیباگ میکنیم و میخواهیم سریع بفهمیم شیهایی که باهاشون کار میکنیم چه خصوصیاتی دارن، خیلی مفید باشه. #Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥1👨💻1
❓کوئیز شماره ۱۳: Class
در پایتون، اضافه کردن چند _ (underscore) در ابتدای نام متغیرها و متدهای کلاس به چه نتیجهای منجر میشه؟
در پایتون، اضافه کردن چند _ (underscore) در ابتدای نام متغیرها و متدهای کلاس به چه نتیجهای منجر میشه؟
Anonymous Quiz
29%
یک _ قبل نام یک متغیر یا متد، اونو به صورت محافظت شده (protected) علامتگذاری میکنه.
14%
دو _ قبل نام یک متغیر یا متد، name obscuring رو فعال میکنه و نام پنهان میشه.
29%
دو _ قبل نام، name mangling رو فعال میکنه که نام کلاس رو به ابتدای متغیر یا متد اضافه میکنه.
29%
سه _ قبل نام، اونو به صورت private علامتگذاری میکنه و دسترسی بهش از خارج کلاس غیرممکن میشه.
😎5❤2👍1🔥1
💡 بهینهسازی دسترسی به اجزای کلاس در پایتون
یکی از ویژگیهای جذاب در کلاسهای پایتون، استفاده از
با استفاده از
به عنوان مثال، با استفاده از
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
یکی از ویژگیهای جذاب در کلاسهای پایتون، استفاده از
()property
هست که به ما امکان میده کنترل بیشتری بر روی دسترسی و تغییر متغیرهای کلاس داشته باشیم. میتونیم به جای استفاده از متدهای getter و setter سنتی، از دکوراتورهای property@
و attribute_name.setter@
استفاده کنیم.با استفاده از
()property
, میشه ویژگیهایی رو تعریف کرد که مثل متغیرهای عادی قابل دسترسی هستن، اما عملکردهای پیچیدهتری مثل اعتبارسنجی دادهها یا محاسبات خاص رو انجام میدن. این ویژگی به برنامهنویسان امکان میده که کدی تمیزتر و قابل نگهداریتر بنویسن. به عنوان مثال، با استفاده از
property@
میشه یک متد getter رو تعریف کرد که به صورت خودکار هنگام دسترسی به یک ویژگی فراخوانی میشه، بدون اینکه نیاز به نوشتن کدهای اضافی باشه. class Person:
def __init__(self, name, age):
self.name = name
self._age = age
@property
def age(self):
return self._age
@age.setter
def age(self, value):
if value < 0:
raise ValueError("Age cannot be negative")
self._age = value
# استفاده از کلاس
p = Person("Ali", 30)
print(p.age) # 30
p.age = 35 # تغییر سن
print(p.age) # 35
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
👍5🔥1👨💻1
به فرآیند تبدیل یک نوع یک داده به نوع دیگه، Casting گفته میشه. این مهارت برای تحلیل دادهها و برنامهنویسی موثر بسیار مهمه.
num_str = "123"
# تبدیل رشته به عدد صحیح
num_int = int(num_str)
print(num_int) # 123
# تبدیل عدد صحیح به رشته
num_int = 123
num_str = str(num_int)
print(num_str) # '123'
# تبدیل لیستی از رشتهها به لیستی از اعداد صحیح
str_list = ["1", "2", "3"]
int_list = [int(x) for x in str_list]
print(int_list) # [1, 2, 3]
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# تبدیل دیکشنری به شیء
person_info = {"name": "Ali", "age": 30}
person = Person(**person_info)
print(person.name)
duplicate_list = [1, 2, 2, 3, 4, 4, 4]
unique_list = list(set(duplicate_list))
print(unique_list)
Pandas
استفاده کنیم که امکان تغییر نوع دادههای ستونهای یک دیتافریم را ممکن میکنه. این فرآیند تبدیل، یک جزء کلیدی در casting دادهها در پایتونه.import pandas as pd
# ایجاد یک دیتافریم ساده
df = pd.DataFrame({
'A': ['1', '2', '3'],
'B': ['4.5', '5.5', '6.5'],
'C': ['true', 'false', 'true']
})
# تبدیل انواع دادهای ستونها
df['A'] = df['A'].astype(int)
df['B'] = df['B'].astype(float)
df['C'] = df['C'].map({'true': True, 'false': False})
print(df.dtypes)
B float64
C bool
dtype: object
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2👨💻2👏1
❓کوئیز شماره ۱۴: Casting
در کتابخانه Pandas، اگه df یه DataFrame با ستون A باشه که شامل اعداد صحیحه، چطور میشه نوع دادههای این ستون رو به اعداد اعشاری تبدیل کرد؟
در کتابخانه Pandas، اگه df یه DataFrame با ستون A باشه که شامل اعداد صحیحه، چطور میشه نوع دادههای این ستون رو به اعداد اعشاری تبدیل کرد؟
Anonymous Quiz
63%
df['A'] = df['A'].astype('float')
7%
df['A'].to_numeric()
19%
df['A'] = float(df['A'])
11%
df['A'].cast('float')
😎8👍4❤1👏1
#Weekend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1👏1👨💻1
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1👨💻1
رگرسیون یک تکنیک آماریه که برای مدلسازی رابطه بین یک متغیر وابسته (Dependent Variable) و یک یا چند متغیر مستقل (Independent Variable) استفاده میشه.
به عبارت دیگه، رگرسیون سعی میکنه رابطه بین مقادیر متغیر وابسته و مستقل را بهصورت یک تابع ریاضی بیان کنه. در یادگیری ماشین، رگرسیون یکی از مهمترین تکنیکهای یادگیری با ناظر (Supervised Learning) هست.
انواع رگرسیون
رگرسیون کاربردهای گستردهای مثل پیشبینی قیمتها، پیشبینی فروش، پیشبینی جرم، پیشبینی بیماری و... در یادگیری ماشین و دیتا ساینس داره.
مثال: فرض کنید یک شرکت تولیدکننده کفش میخواد مقدار فروش کفشهاش رو در سال آینده پیشبینی کنه. این شرکت میتونه از رگرسیون خطی ساده برای این کار استفاده کنه.
توی این مثال، متغیر وابسته فروش و متغیر مستقل هزینه تبلیغات هست. شرکت میتونه از دادههای فروش و هزینه تبلیغاتش در سالهای گذشته برای آموزش مدل رگرسیون استفاده کنه. بعد از آموزش مدل، شرکت میتونه ازش برای پیشبینی مقدار فروش کفشها در سال آینده استفاده کنه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🔥1👨💻1
❓کوئیز شماره ۱۵: رگرسیون خطی
کدوم یک از این موارد، روشی صحیح برای افزایش دقت مدل رگرسیون خطیه؟
کدوم یک از این موارد، روشی صحیح برای افزایش دقت مدل رگرسیون خطیه؟
Anonymous Quiz
7%
افزودن هر چه بیشتر متغیرهای مستقل بدون در نظر گرفتن میزان اهمیت
8%
استفاده از ترانسفورماسیون لگاریتمی برای متغیرهای وابسته
40%
حذف تمام دادههای پرت
45%
استانداردسازی متغیرهای مستقل
😎10👍5🔥2👏1
💡بررسی اهمیت توزیع نرمال خطاها در رگرسیون خطی
یک نکته که خیلی توی Linear Regression اهمیت داره، داشتن توزیع نرمال خطاها (residuals) هست. در رگرسیون خطی، فرض بر اینکه خطاها (اختلافات بین مقادیر واقعی و پیشبینی شده) باید توزیع نرمال داشته باشن. این فرض اطمینان میده که مدل به درستی به دادهها اموزش داده شده و پیشبینیهای قابل اعتمادی ارائه میده. در صورت عدم برآورده شدن این شرط، ممکنه نیاز به اصلاحاتی در مدل یا تبدیل دادهها باشه تا به توزیع نرمال نزدیک شن.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
یک نکته که خیلی توی Linear Regression اهمیت داره، داشتن توزیع نرمال خطاها (residuals) هست. در رگرسیون خطی، فرض بر اینکه خطاها (اختلافات بین مقادیر واقعی و پیشبینی شده) باید توزیع نرمال داشته باشن. این فرض اطمینان میده که مدل به درستی به دادهها اموزش داده شده و پیشبینیهای قابل اعتمادی ارائه میده. در صورت عدم برآورده شدن این شرط، ممکنه نیاز به اصلاحاتی در مدل یا تبدیل دادهها باشه تا به توزیع نرمال نزدیک شن.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
👍11❤4🔥1👏1
در دنیای تجارت و اقتصاد، استفاده از رگرسیون برای پیشبینی فروش و تقاضا بسیار مرسومه. شرکتها با بررسی دادههای گذشته و تجزیه و تحلیل روندها، میتونن پیشبینیهای دقیقی از وضعیت بازار در آینده داشته باشن. این رویکرد در پیشبینی قیمت سهام و همچنین در پیشبینی شرایط جوی کاربرد داره.
در بازاریابی، رگرسیون به تحلیل پاسخ بازار به استراتژیهای مختلف کمک میکنه. تحلیلگران میتونن با استفاده از این روش، برآورد کنن که یه مشتری در یک بازه، چه میزان ارزش برای یک شرکت یا سازمان ایجاد کرده و با تحلیل سهم بازار، استراتژیهای بازاریابی رو بهینهسازی کنن.
در حوزه مالی، رگرسیون برای ارزیابی ریسک و امتیازدهی اعتباری استفاده میشه. مدیران با استفاده از این روش میتونن بازده سرمایهگذاریها رو پیشبینی کنن و تحلیلهای دقیقتری برای تشخیص تقلب انجام بدن.
در حوزه پزشکی، رگرسیون در پیشبینی و تشخیص بیماریها کاربرد داره. پزشکان و محققان از این روش برای پیشبینی نتایج بیمار و تحلیل اثربخشی داروها استفاده میکنن و همچنین در ارزیابی ریسکهای بهداشتی مفیده.
در صنایع تولیدی، رگرسیون برای بهینهسازی فرآیندهای تولید و کنترل کیفیت محصولات به کار میره. همچنین، در بهینهسازی زنجیره تأمین و تشخیص ناهنجاریها هم نقش مهمی داره.
در علوم اجتماعی، رگرسیون به تحلیل تأثیرات اجتماعی و اقتصادی کمک میکنه. تحلیلگران از این روش برای استخراج نظرات و تحلیل احساسات، تحقیقات آموزشی و بررسی جمعیتشناسی استفاده میکنن.
در صنعت انرژی، پیشبینی مصرف انرژی، پیشبینی بار و مدلسازی قیمت انرژی با استفاده از رگرسیون انجام میشه. همچنین، در بهینهسازی استفاده از انرژیهای تجدیدپذیر هم کاربرد داره.
در حوزه ورزش، تحلیلگران از رگرسیون برای تحلیل عملکرد بازیکنان، پیشبینی نتایج بازیها و بهینهسازی ترکیب تیمها استفاده میکنن. این تحلیلها در تصمیمگیریهای درون بازی هم موثره.
در حوزه محیطزیست، رگرسیون برای مدلسازی آبوهوا، پیشبینی آلودگی و ارزیابی تأثیرات محیطی به کار میره. این روش در مدیریت منابع طبیعی نقش مهمی داره.
در تحلیل سریهای زمانی، رگرسیون برای شناسایی روندها و الگوهای فصلی مورد استفاده قرار میگیره. این روش در پیشبینی شاخصهای اقتصادی و تحلیل بازار سهام کاربرد داره.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3👏1👨💻1
❓کوئیز شماره ۱۶: کاربردهای رگرسیون خطی
کدومیک از کاربردهای زیر برای رگرسیون خطی مناسب نیست؟
کدومیک از کاربردهای زیر برای رگرسیون خطی مناسب نیست؟
Anonymous Quiz
14%
پیشبینی دمای هوا بر اساس رطوبت و فشار هوا
21%
تعیین سن فرد بر اساس ویژگیهای بیومتریک
12%
پیشبینی تعداد فروش بلیط سینما بر اساس روز هفته و قیمت بلیط
53%
تعیین نژاد سگ بر اساس وزن و اندازه
👍9❤3😎1
💡همخطی؛ یه مانع مهم در رگرسیون خطی
یکی از نکاتی که اکثر اوقات در مدلهای رگرسیون نادیده گرفته میشه، اهمیت درک و تحلیل درست پدیدهی همخطی (Collinearity) هست. همخطی زمانی رخ میده که دو یا چند متغیر مستقل در یک مدل رگرسیون خطی، ارتباط نزدیکی باهم داشته باشن. این مسئله میتونه به کاهش دقت تخمین ضرایب مدل و افزایش واریانس پیشبینیها منجر شه.
بسیاری از تحلیلگران بدون بررسی وجود همخطی بین متغیرها، مستقیماً شروع به ساخت مدلهای رگرسیون خطی میکنن. این مسئله باعث میشه که مدل نتونه به درستی تفاوتهای واقعی بین متغیرهای مستقل رو تشخیص بده و در نتیجه، تحلیلها و پیشبینیهای نادرستی ارائه شه.
برای مقابله با این مشکل، تکنیکهای مختلفی وجود داره. یکی از این روشها، استفاده از تحلیل مولفههای اصلی (PCA) برای کاهش ابعاد دادهها و از بین بردن همخطیه.
پرداختن به این جزئیات میتونه تأثیر زیادی در افزایش دقت و قابلیت اطمینان مدلهای رگرسیون خطی داشته باشه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
یکی از نکاتی که اکثر اوقات در مدلهای رگرسیون نادیده گرفته میشه، اهمیت درک و تحلیل درست پدیدهی همخطی (Collinearity) هست. همخطی زمانی رخ میده که دو یا چند متغیر مستقل در یک مدل رگرسیون خطی، ارتباط نزدیکی باهم داشته باشن. این مسئله میتونه به کاهش دقت تخمین ضرایب مدل و افزایش واریانس پیشبینیها منجر شه.
بسیاری از تحلیلگران بدون بررسی وجود همخطی بین متغیرها، مستقیماً شروع به ساخت مدلهای رگرسیون خطی میکنن. این مسئله باعث میشه که مدل نتونه به درستی تفاوتهای واقعی بین متغیرهای مستقل رو تشخیص بده و در نتیجه، تحلیلها و پیشبینیهای نادرستی ارائه شه.
برای مقابله با این مشکل، تکنیکهای مختلفی وجود داره. یکی از این روشها، استفاده از تحلیل مولفههای اصلی (PCA) برای کاهش ابعاد دادهها و از بین بردن همخطیه.
پرداختن به این جزئیات میتونه تأثیر زیادی در افزایش دقت و قابلیت اطمینان مدلهای رگرسیون خطی داشته باشه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
👍8❤2🤔1
تابع هزینه (Cost Function) در رگرسیون خطی (Linear Regression)، نقش مهمی توی ارزیابی کارایی مدل داره. این تابع، بر پایه ارزیابی اختلاف بین مقادیر پیشبینی شده توسط مدل و مقادیر واقعی دادهها، عملکرد کلی مدل رو ارزیابی میکنه. هدف اصلی در رگرسیون خطی، به حداقل رسوندن تابع هزینهست تا مدلی قابل اعتماد با بیشترین انطباق با دادههای موجود بهدست بیاد.
MSE = (1/n) * Σ(f(x_i) - y_i)^2
توی این فرمول:
* n تعداد نقاط دادهست
* f(x_i) پیشبینی مدل برای نقطه داده x_i هست
* y_i مقدار واقعی برای نقطه داده x_i هست
MAE = (1/n) * Σ|f(x_i) - y_i|
به طور کلی، MSE نسبت به MAE به ناهنجاریها حساستره. این به این معنیه که اگه تعداد کمی از نقاط داده دارای مقادیر بسیار متفاوت از مقادیر دیگه باشن، MSE میتونه بزرگتر از MAE باشه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3👨💻1
❓کوئیز شماره ۱۷: تابع هزینه در رگرسیون
تابع هزینه در رگرسیون خطی چطور به کمک رگولاریزاسیون تغییر میکنه؟
تابع هزینه در رگرسیون خطی چطور به کمک رگولاریزاسیون تغییر میکنه؟
Anonymous Quiz
17%
رگولاریزاسیون تأثیری روی تابع هزینه نداره.
68%
رگولاریزاسیون با اضافه کردن جریمه به پارامترهای وزنی، تابع هزینه رو تغییر میده.
14%
رگولاریزاسیون فقط تابع هزینه رو برای مدلهای غیرخطی تغییر میده.
1%
رگولاریزاسیون باعث افزایش خطای مدل میشه.
❤8😎2🤔1
توی رگرسیون، دو روش اصلی برای پیدا کردن پارامترها وجود داره: گرادیان کاهشی (Gradient Descent) و معادله نرمال (Normal Equation). این دو روش، راههای متفاوتی رو برای رسیدن به هدف، یعنی کمینه کردن خطای پیشبینی مدل، ارائه میدن.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👨💻3👍1🔥1
❓کوئیز شماره ۱۸: جلوگیری از بیشبرازش در Gradient Descent
کدوم گزینه در گرادیان کاهشی میتونه به جلوگیری از بیشبرازش (overfitting) کمک کنه؟
کدوم گزینه در گرادیان کاهشی میتونه به جلوگیری از بیشبرازش (overfitting) کمک کنه؟
Anonymous Quiz
15%
افزایش نرخ یادگیری
20%
کاهش تعداد ویژگیها
12%
افزایش تعداد تکرارها
53%
استفاده از تنظیم (regularization)
😎6❤2👍2👏1
💡مقایسه عملکرد GD و NE در مواجهه با دادههای پرت
گرادیان کاهشی (GD) قابلیت انعطاف بیشتری در برابر دادههای پرت (Outliers) داره. این روش تکراری، با توجه به تغییرات تدریجی در پارامترها، میتونه تأثیر دادههای نامتعارف رو کاهش بده.
در حالی که معادله نرمال (NE) که به طور مستقیم مقادیر بهینه رو از طریق محاسبات ریاضی تعیین میکنه، ممکنه بیشتر تحت تأثیر دادههای نامتعارف قرار بگیره. این ویژگی گرادیان کاهشی اونو برای مواجهه با دادههای دنیای واقعی که اکثرا دارای Outlier هستن، مطلوب میکنه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
گرادیان کاهشی (GD) قابلیت انعطاف بیشتری در برابر دادههای پرت (Outliers) داره. این روش تکراری، با توجه به تغییرات تدریجی در پارامترها، میتونه تأثیر دادههای نامتعارف رو کاهش بده.
در حالی که معادله نرمال (NE) که به طور مستقیم مقادیر بهینه رو از طریق محاسبات ریاضی تعیین میکنه، ممکنه بیشتر تحت تأثیر دادههای نامتعارف قرار بگیره. این ویژگی گرادیان کاهشی اونو برای مواجهه با دادههای دنیای واقعی که اکثرا دارای Outlier هستن، مطلوب میکنه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
👍6❤2🔥2
سنجه r2-score، که به عنوان ضریب تعیین شناخته میشه، یه معیار برای ارزیابی کیفیت برازش مدلهای رگرسیونی (اینکه مدل چقدر خوب کار میکنه) در یادگیری ماشینه. این معیار نشوندهنده درصد تغییرات در متغیر وابستهست (ویژگی یا نتیجه مورد نظر برای پیشبینی) که توسط متغیرهای مستقل (عوامل پیشبینیکننده در مدل) توضیح داده میشه.
برای محاسبه r2-score، اول میزان دقت مدل رگرسیون رو با یه مدل پایه که فقط میانگین متغیر وابسته (Dependent Variable) رو پیشبینی میکنه، مقایسه میکنیم. سپس، r2-score رو با تقسیم مجموع مربعات تفاضل پیشبینیهای مدل (Sum of Squares Regression, SSR) از خط بهینه بر مجموع کل مربعات تفاضلات (Sum of Squares Total, SST)، که تفاوتهای دادههای واقعی از میانگین اونهاست رو محاسبه میکنیم.
اگه r2-score = 1 باشه نشوندهنده برازش کامله، یعنی تمامی تغییرات متغیر وابسته توسط مدل پوشش داده شده.
اگه r2-score نزدیک به 1 باشه، نشوندهنده برازش خوب مدله، اما همیشه نشوندهنده یک مدل خوب برای پیشبینی نیست، چرا که ممکنه بر اثر بیشبرازش (overfitting) به دست اومده باشه.
اگه r2-score نزدیک به 0 باشه نشون میده که مدل تقریبا هیچ یک از تغییرات متغیر وابسته رو یادنگرفته.
تنها میزان تطابق دادههای موجود رو میسنجه و لزوما دقت مدل در پیشبینی دادههای جدید رو نشون نمیده. همچنین ممکنه به دلیل افزایش تعداد متغیرهای مستقل در مدل افزایش پیدا کنه؛ حتی اگه این متغیرها اطلاعات مفیدی ارائه نکنن.
برای ارزیابی دقیقتر یه مدل رگرسیون، توصیه میشود r2-score رو در کنار سایر معیارها مثل خطای میانگین مربعات (MSE) یا خطای میانگین مطلق (MAE) استفاده کنیم. این امر به درک بهتری از عملکرد کلی مدل کمک میکنه.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🔥1👨💻1
❓کوئیز شماره ۱۹: سنجه r2-score
کدوم یک از گزینههای زیر بهترین استراتژی برای ارزیابی r2-score در یه مدل رگرسیون خطی با هدف کاهش احتمال بیشبرازشه؟
کدوم یک از گزینههای زیر بهترین استراتژی برای ارزیابی r2-score در یه مدل رگرسیون خطی با هدف کاهش احتمال بیشبرازشه؟
Anonymous Quiz
57%
کاربرد cross-validation برای تخمین دقیقتر r2-score
16%
استفاده از تکنیکهای انتخاب متغیر مثل روش پشتیبان (backward elimination)
8%
استفاده از یک نمونه بزرگتر از دادههای تست
18%
تنظیم مقادیر پارامترهای مدل بر اساس r2-score دادههای آموزشی
❤5😎4👍2🔥1
آموزش دیتاساینس و ماشینلرنینگ
❓کوئیز شماره ۱۹: سنجه r2-score
کدوم یک از گزینههای زیر بهترین استراتژی برای ارزیابی r2-score در یه مدل رگرسیون خطی با هدف کاهش احتمال بیشبرازشه؟
کدوم یک از گزینههای زیر بهترین استراتژی برای ارزیابی r2-score در یه مدل رگرسیون خطی با هدف کاهش احتمال بیشبرازشه؟
💡کاربرد Cross-Validation برای تخمین r2-score
توی یادگیری ماشین، cross-validation یه روش ارزیابیه که برای سنجش توانایی مدل در پیشبینی دادههای جدید استفاده میشه.
توی این روش، دادهها به چندین بخش تقسیم میشن. مدل روی تمامی بخشها به جز یکی آموزش داده میشه و بخش باقیمونده به عنوان دادهی تست برای ارزیابی مدل به کار میره. این روند برای هر یک از بخشها به صورت دورهای تکرار میشه.
در هر دور، یه r2-score محاسبه میشه که نشوندهنده میزان دقت مدل توی اون بخش خاصه. در نهایت، میانگین مقادیر r2-score به عنوان شاخصی از کیفیت کلی مدل در نظر گرفته میشه.
این روش به ما اجازه میده تا از دقت مدل در پیشبینی دادههایی که قبلاً ندیده، اطمینان حاصل کنیم و از بیشبرازش جلوگیری کنیم.
تصور کنین مدل ما یک دانشآموزه و دادهها مجموعهای از سوالات امتحانی هستن. به جای اینکه تمام سوالات رو یکجا به دانشآموز بدهیم، ما سوالات را به چند بخش تقسیم میکنیم و در هر بار فقط بخشی از سوالات رو میپرسیم. به این ترتیب، میتوانیم مطمئن شویم که دانشآموز (یعنی مدل ما) فقط جوابها رو حفظ نکرده، بلکه واقعاً یاد گرفته و میتونه به سوالات جدید هم جواب بده.
سنجه r2-score در اینجا مثل نمرهای هست که به هر بخش از امتحان داده میشه. در نهایت، میانگین این نمرات به ما نشون میده که مدل در کل چقدر خوب عمل کرده. این روش کمک میکنه تا مدلهایی که فقط روی یک نوع خاص از دادهها خوب کار میکنن و در مواجهه با دادههای جدید موفق نیستن، شناسایی شن.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
توی یادگیری ماشین، cross-validation یه روش ارزیابیه که برای سنجش توانایی مدل در پیشبینی دادههای جدید استفاده میشه.
توی این روش، دادهها به چندین بخش تقسیم میشن. مدل روی تمامی بخشها به جز یکی آموزش داده میشه و بخش باقیمونده به عنوان دادهی تست برای ارزیابی مدل به کار میره. این روند برای هر یک از بخشها به صورت دورهای تکرار میشه.
در هر دور، یه r2-score محاسبه میشه که نشوندهنده میزان دقت مدل توی اون بخش خاصه. در نهایت، میانگین مقادیر r2-score به عنوان شاخصی از کیفیت کلی مدل در نظر گرفته میشه.
این روش به ما اجازه میده تا از دقت مدل در پیشبینی دادههایی که قبلاً ندیده، اطمینان حاصل کنیم و از بیشبرازش جلوگیری کنیم.
تصور کنین مدل ما یک دانشآموزه و دادهها مجموعهای از سوالات امتحانی هستن. به جای اینکه تمام سوالات رو یکجا به دانشآموز بدهیم، ما سوالات را به چند بخش تقسیم میکنیم و در هر بار فقط بخشی از سوالات رو میپرسیم. به این ترتیب، میتوانیم مطمئن شویم که دانشآموز (یعنی مدل ما) فقط جوابها رو حفظ نکرده، بلکه واقعاً یاد گرفته و میتونه به سوالات جدید هم جواب بده.
سنجه r2-score در اینجا مثل نمرهای هست که به هر بخش از امتحان داده میشه. در نهایت، میانگین این نمرات به ما نشون میده که مدل در کل چقدر خوب عمل کرده. این روش کمک میکنه تا مدلهایی که فقط روی یک نوع خاص از دادهها خوب کار میکنن و در مواجهه با دادههای جدید موفق نیستن، شناسایی شن.
#Data_science
#Machine_Learning
#Regression
@Data_ML | دیتاساینس و ماشین لرنینگ
👍10❤2🤔1