نمودار پراکندگی

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
مدیریت فایل
یادگیری ماشین
۱شروع کار
۲میانگین، میانه، مُد
۳انحراف استاندارد
۴صدک
۵توزیع داده
۶توزیع داده نرمال
۷نمودار پراکندگی
۸رگرسیون خطی
۹رگرسیون چند جمله‌ای
۱۰رگرسیون چندگانه
۱۱مقیاس
۱۲آموزش / تست
۱۳درخت تصمیم
MySQL در پایتون
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

نقشه پراکندگی نموداری است که در آن هر مقدار در مجموعه داده با یک نقطه نمایش داده می‌شود.[۱]

ماژول Matplotlib متدی برای طراحی نقشه‌های پراکندگی دارد، به دو آرایه با طول یکسان نیاز دارد، یکی برای مقدارهای محور (x-axis) و یکی برای مقدارهای محور (y-axis):

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]

آرایه x نشان دهنده سن هر ماشین است.

آرایه y نشان دهنده سرعت هر ماشین است.

مثال

از متد scatter() برای رسم نمودار پراکندگی استفاده می‌کند:

1 import matplotlib.pyplot as plt
2 
3 x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
4 y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
5 
6 plt.scatter(x, y)
7 plt.show()

نتیجه


مشاهدهٔ نتیجه


توضیح نمودار پراکندگی

محور x نشان دهندهٔ سن‌ها، و محور y نشان دهنده سرعت‌ها.

آنچه که می‌توانیم از نمودار بخوانیم این است که دو ماشین سریعتر هر دو ۲ ساله هستند و کُندترین ماشین ۱۲ ساله است.

توجه: به نظر می رشد که هر چه ماشین جدیدتر باشد، سریعتر می‌رود، اما ممکن است تصادفی باشد، زیرا ما فقط ۱۳ ماشین را ثبت کرده‌ایم.

توزیع داده تصادفی

در یادگیری ماشین مجموعه‌های داده می‌توانند دارای هزاران یا حتی میلیون‌ها مقدار باشند.

ممکن است شما هنگام تست یک الگوریتم، داده‌های دنیای واقعی را نداشته باشید، در این صورت شاید محبور به استفاده از مقدارهای تولید شدهٔ تصادفی باشید.

همانطور که در بخش قبل آموختیم، ماژول Numpy می‌تواند در این مورد به ما کمک کند!

می‌خواهیم دو آرایه تولید کنیم که هردو با ۱۰۰۰ عدد تصادفی از توزیع دادهٔ نرمال پر شده‌اند.

اولین آرایه میانگین ۵٫۰ با انحراف استاندارد ۱٫۰ دارد.

دومین آرایه دارای میانگین ۱۰٫۰ با انحراف استاندارد ۲٫۰ است:

مثال

نمودار پراکندگی با ۱۰۰۰ نقطه:

1 import numpy
2 import matplotlib.pyplot as plt
3 
4 x = numpy.random.normal(5.0, 1.0, 1000)
5 y = numpy.random.normal(10.0, 2.0, 1000)
6 
7 plt.scatter(x, y)
8 plt.show()

نتیجه


مشاهدهٔ نتیجه


توضیح نمودار پراکندگی

می‌توانیم ببینیم که نقاط در اطرف مقدار ۵ در محور x و ۱۰ در محور y متمرکز هستند.

همچنین می‌بینیم که پراکندگی در محور y گسترده تر از محور x است.


منابع آموزشی