آموزش رایگان صفر تا صد یادگیری ماشین (Machine Learning) به زبان ساده
-
خوش آمدید به یادگیری ماشین!
-
میانگین، میانه و مد در یادگیری ماشین
-
انحراف معیار (Standard Deviation) در یادگیری ماشین
-
صدک (Percentile) در یادگیری ماشین
-
توزیع دادهها در یادگیری ماشین
-
توزیع نرمال دادهها در یادگیری ماشین
-
نمودار پراکندگی (Scatter Plot) در یادگیری ماشین
-
رگرسیون خطی در یادگیری ماشینی
-
رگرسیون چندجملهای در یادگیری ماشین
-
رگرسیون چندگانه در یادگیری ماشین
-
روش Train/Test در یادگیری ماشین
-
درخت تصمیمگیری در یادگیری ماشین
-
ماتریس سردرگمی (Confusion Matrix) در یادگیری ماشین
-
خوشهبندی سلسلهمراتبی (Hierarchical Clustering) در یادگیری ماشین
-
رگرسیون لجستیک در یادگیری ماشین
-
Grid Search در یادگیری ماشین
-
پردازش دادههای دستهای (Categorical Data) در یادگیری ماشین
-
خوشهبندی K-Means در یادگیری ماشین
-
یادگیری Bootstrap Aggregation (Bagging) در یادگیری ماشین
-
کراس والیدیشن (Cross Validation) در یادگیری ماشین
-
منحنی AUC - ROC در یادگیری ماشین
-
الگوریتم K-Nearest Neighbors (KNN) در یادگیری ماشین
انحراف معیار (Standard Deviation) در یادگیری ماشین
انحراف معیار عددی است که نشان میدهد دادهها چقدر از میانگین فاصله دارند.
✅ اگر انحراف معیار کم باشد یعنی بیشتر دادهها نزدیک به میانگین هستند.
✅ اگر انحراف معیار زیاد باشد یعنی دادهها در یک بازه وسیعتری پخش شدهاند.
🎯 مثال ساده
سرعت ۷ ماشین مختلف ثبت شده است:
speed = [86, 87, 88, 86, 87, 85, 86]
🔸 انحراف معیار این دادهها:
0.9
✅ یعنی بیشتر مقادیر فقط ۰.۹ واحد از میانگین فاصله دارند.
حالا همین آزمایش را با اعدادی که اختلاف بیشتری دارند تکرار کنیم:
speed = [32, 111, 138, 28, 59, 77, 97]
🔸 انحراف معیار این دادهها:
37.85
✅ یعنی مقدارها در یک بازه وسیعتر پراکنده شدهاند.
📌 نتیجه: هرچه انحراف معیار بیشتر باشد، پراکندگی دادهها بیشتر است.
🛠 محاسبه انحراف معیار با NumPy
ماژول NumPy در پایتون متدی دارد که انحراف معیار را برای ما محاسبه میکند:
import numpy
speed = [86, 87, 88, 86, 87, 85, 86]
x = numpy.std(speed) # محاسبه انحراف معیار
print(x)
📌 خروجی:
0.9
🎯 یک مثال دیگر با دادههای پراکندهتر:
import numpy
speed = [32, 111, 138, 28, 59, 77, 97]
x = numpy.std(speed) # محاسبه انحراف معیار
print(x)
📌 خروجی:
37.85
🔹 واریانس (Variance) چیست؟
واریانس هم مثل انحراف معیار نشان میدهد دادهها چقدر از میانگین فاصله دارند، اما مقدار آن قبل از گرفتن ریشه دوم است.
✅ رابطه بین واریانس و انحراف معیار:
🔹 اگر ریشه دوم واریانس را بگیریم، انحراف معیار به دست میآید.
🔹 اگر انحراف معیار را به توان دو برسانیم، واریانس را به دست میآوریم.
🎯 محاسبه واریانس گامبهگام
1. محاسبه میانگین:
(32 + 111 + 138 + 28 + 59 + 77 + 97) / 7 = 77.4
2. محاسبه اختلاف هر مقدار از میانگین:
مقدار | اختلاف از میانگین (77.4) |
---|---|
32 | -45.4 |
111 | 33.6 |
138 | 60.6 |
28 | -49.4 |
59 | -18.4 |
77 | -0.4 |
97 | 19.6 |
4. محاسبه واریانس (میانگین توان دوم اختلافها):
(2061.16 + 1128.96 + 3672.36 + 2440.36 + 338.56 + 0.16 + 384.16) / 7 = 1432.2
✅ واریانس = 1432.2
🛠 محاسبه واریانس با NumPy
NumPy یک متد ساده دارد که این محاسبات را خودکار انجام میدهد:
import numpy
speed = [32, 111, 138, 28, 59, 77, 97]
x = numpy.var(speed) # محاسبه واریانس
print(x)
📌 خروجی:
1432.2
🔹 محاسبه انحراف معیار از واریانس
فرمول:
√ واریانس = انحراف معیار
📌 در این مثال:
√1432.2 = 37.85
✅ که همان مقدار قبلی است.
یا اگر بخواهیم مستقیماً از NumPy استفاده کنیم:
import numpy
speed = [32, 111, 138, 28, 59, 77, 97]
x = numpy.std(speed) # محاسبه انحراف معیار
print(x)
📌 خروجی:
37.85
🔹 نمادهای مهم
✅ انحراف معیار معمولاً با علامت سیگما (σ) نشان داده میشود.
✅ واریانس معمولاً با سیگما مربع (σ²) نمایش داده میشود.
📌 جمعبندی
🔹 انحراف معیار و واریانس دو معیار مهم در یادگیری ماشین هستند که نشان میدهند دادهها چقدر از میانگین فاصله دارند.
🔹 اگر مقدارها نزدیک هم باشند → انحراف معیار کم
🔹 اگر مقدارها پراکنده باشند → انحراف معیار زیاد
🔹 NumPy دو متد کاربردی دارد:
✅ ()std
→ محاسبه انحراف معیار
✅ ()var
→ محاسبه واریانس
💡 تمرین:
یک لیست از ۱۰ عدد دلخواه ایجاد کن و انحراف معیار و واریانس آن را با NumPy محاسبه کن. آیا مقدار واریانس خیلی بیشتر از انحراف معیار است؟ چرا؟ 🤔