آموزش رایگان صفر تا صد یادگیری ماشین (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) در یادگیری ماشین
توزیع نرمال دادهها در یادگیری ماشین
در فصل قبل یاد گرفتیم که چطور یک آرایهی تصادفی (Random Array) ایجاد کنیم که مقدارهایش بین دو عدد مشخص باشند. اما در این فصل میخواهیم آرایهای بسازیم که مقدارهایش بیشتر حول یک مقدار خاص متمرکز باشند.
در نظریه احتمال، به این نوع توزیع دادهها توزیع نرمال (Normal Distribution) یا توزیع گوسی (Gaussian Distribution) گفته میشود. این توزیع به افتخار ریاضیدان معروف، کارل فردریش گاوس نامگذاری شده است، چون او فرمول آن را ارائه کرد.
🔹 شکل توزیع نرمال (Bell Curve)
اگر دادهها دارای توزیع نرمال باشند، نمودار آن شبیه یک زنگ است! به همین دلیل، این نمودار را Bell Curve (منحنی زنگولهای) هم مینامند.
📌 ویژگیهای توزیع نرمال:
✅ بیشتر مقدارها نزدیک به یک مقدار خاص قرار دارند (میانگین).
✅ مقدارهای خیلی بزرگ یا خیلی کوچک به ندرت ظاهر میشوند.
✅ شکل نمودار متقارن است.
📝 مثال عملی: تولید دادههای نرمال در پایتون
بیایید با استفاده از NumPy یک مجموعه داده با توزیع نرمال بسازیم و هیستوگرام آن را رسم کنیم.
📌 کد نمونه:
import numpy
import matplotlib.pyplot as plt
# تولید 100000 مقدار با میانگین 5.0 و انحراف معیار 1.0
x = numpy.random.normal(5.0, 1.0, 100000)
# رسم هیستوگرام با 100 ستون
plt.hist(x, 100)
plt.show()
📊 توضیح کد:
✅ ()normal یک آرایه از عددهای تصادفی با توزیع نرمال تولید میکند.
✅ میانگین دادهها را 5.0 و انحراف معیار (Standard Deviation) را 1.0 قرار دادهایم.
✅ سپس با ()hist یک هیستوگرام رسم کردهایم تا توزیع دادهها را ببینیم.
🔍 تحلیل هیستوگرام
وقتی کد بالا را اجرا کنید، بیشتر مقدارها نزدیک ۵ هستند، و مقدارهای کمتر در اطراف آن پراکنده شدهاند.
📌 برداشتی از هیستوگرام:
🔸 مقدارهای زیادی بین ۴ تا ۶ قرار دارند.
🔸 در حدود ۵، بیشترین مقدارها دیده میشوند (قلهی نمودار).
🔸 مقدارهای خیلی دور از ۵ بسیار کم هستند.
💡 چالش برای شما:
- میانگین را از 5.0 به 10.0 تغییر دهید و ببینید چه اتفاقی برای هیستوگرام میافتد!
- انحراف معیار را از 1.0 به 3.0 تغییر دهید. نمودار چگونه تغییر میکند؟
🚀 جمعبندی
✔ توزیع نرمال مهمترین نوع توزیع در آمار و یادگیری ماشین است.
✔ مقدارهای نزدیک به میانگین بیشتر هستند، مقدارهای خیلی بزرگ یا کوچک کمتر دیده میشوند.
✔ در پایتون، میتوان با ()normal از NumPy دادههایی با این توزیع تولید کرد.
حالا نوبت شماست! آیا میتوانید دادههایی با میانگین 50 و انحراف معیار 5 تولید کنید و هیستوگرام آن را رسم کنید؟ 🚀