آموزش رایگان صفر تا صد یادگیری ماشین (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) در یادگیری ماشین
نمودار پراکندگی (Scatter Plot) در یادگیری ماشین
نمودار پراکندگی (Scatter Plot) یکی از ابزارهای مهم در یادگیری ماشین برای تحلیل دادهها است. در این مقاله، نحوه رسم این نمودار با پایتون و Matplotlib را یاد میگیریم.
فهرست مطالب
1. نمودار پراکندگی چیست؟
نمودار پراکندگی (Scatter Plot) نوعی نمودار است که در آن، هر مقدار از مجموعه دادهها بهصورت یک نقطه نمایش داده میشود. این نمودار برای مشاهده روابط بین دو متغیر استفاده میشود.
💡 مثال: فرض کنید میخواهیم بررسی کنیم که آیا سن خودروها با سرعت آنها رابطهای دارد یا نه. در این حالت، سن خودرو را روی محور X و سرعت آن را روی محور Y قرار میدهیم.
2. رسم نمودار پراکندگی با Matplotlib
در پایتون، برای رسم نمودار پراکندگی از کتابخانه Matplotlib و متد ()scatter استفاده میکنیم. این متد دو آرایه نیاز دارد:
- یک آرایه برای مقادیر محور X (مثلاً سن خودروها)
- یک آرایه برای مقادیر محور Y (مثلاً سرعت خودروها)
📌 مثال: رسم نمودار پراکندگی برای سن و سرعت خودروها
import matplotlib.pyplot as plt
x = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11, 12, 9, 6]
y = [99, 86, 87, 88, 111, 86, 103, 87, 94, 78, 77, 85, 86]
plt.scatter(x, y)
plt.xlabel("سن خودرو (سال)")
plt.ylabel("سرعت خودرو (کیلومتر در ساعت)")
plt.title("نمودار پراکندگی سن و سرعت خودروها")
plt.show()
🔍 خروجی: این نمودار نشان میدهد که سرعت خودروها چطور با افزایش سن آنها تغییر میکند.
3. تفسیر نمودار پراکندگی
از نمودار بالا، میتوانیم چند نکته را متوجه شویم:
✅ سریعترین خودروها هر دو 2 ساله هستند.
✅ کندترین خودرو 12 ساله است.
❗ آیا خودروهای جدیدتر سریعترند؟ شاید، اما این فقط ۱۳ خودرو است، پس نتیجهگیری قطعی نیاز به دادههای بیشتر دارد.
4. ایجاد دادههای تصادفی برای نمودار پراکندگی
در یادگیری ماشین، اغلب نیاز به مجموعه دادههای بزرگی داریم. اما همیشه دادههای واقعی در دسترس نیستند. در چنین مواردی، میتوانیم از کتابخانه NumPy برای تولید دادههای تصادفی استفاده کنیم.
📌 مثال: تولید دادههای تصادفی و رسم نمودار پراکندگی
import numpy
import matplotlib.pyplot as plt
x = numpy.random.normal(5.0, 1.0, 1000) # دادههای محور X با میانگین 5 و انحراف معیار 1
y = numpy.random.normal(10.0, 2.0, 1000) # دادههای محور Y با میانگین 10 و انحراف معیار 2
plt.scatter(x, y)
plt.xlabel("متغیر X")
plt.ylabel("متغیر Y")
plt.title("نمودار پراکندگی دادههای تصادفی")
plt.show()
🔍 تحلیل خروجی:
✅ بیشتر نقاط در اطراف مقدار 5 در محور X و 10 در محور Y قرار گرفتهاند.
✅ دادههای محور Y پراکندگی بیشتری دارند.
نتیجهگیری
✅ نمودار پراکندگی یک ابزار مهم برای تحلیل دادهها است.
✅ میتوانیم از Matplotlib برای رسم آن و از NumPy برای ایجاد دادههای تصادفی استفاده کنیم.
✅ تفسیر نمودارها نیازمند بررسی دقیق و دادههای بیشتر است.
💡 سوال برای شما: آیا تا به حال با دادههای خودتان نمودار پراکندگی رسم کردهاید؟ اگر نه، پیشنهاد میکنم همین حالا امتحان کنید! 🚀