در این مطلب، ویدئو نمودارهای تعاملی پایتون با IPyWidgets با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:58
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,240 –> 00:00:02,000
چه خبر است بچه ها خوش آمدید در
2
00:00:02,000 –> 00:00:03,360
این ویدیو امروز ما می خواهیم یاد بگیریم
3
00:00:03,360 –> 00:00:05,359
که چگونه نمودارهای پایتون تعاملی را
4
00:00:05,359 –> 00:00:07,600
در نوت بوک های jupyter ایجاد کنیم و این
5
00:00:07,600 –> 00:00:09,040
همان چیزی است که در پایان
6
00:00:09,040 –> 00:00:10,480
ما چند لغزنده خواهیم داشت و
7
00:00:10,480 –> 00:00:12,639
ما چند منوی کشویی
8
00:00:12,639 –> 00:00:14,320
خواهیم داشت و میتوانیم مقادیر خاصی را تنظیم کنیم و
9
00:00:14,320 –> 00:00:15,839
10
00:00:15,839 –> 00:00:17,119
آنها به صورت تعاملی ترسیم میشوند،
11
00:00:17,119 –> 00:00:19,279
همانطور که در اینجا میبینید، میتوانیم
12
00:00:19,279 –> 00:00:21,920
نمونههای 500 را تغییر دهیم، به عنوان مثال
13
00:00:21,920 –> 00:00:24,400
هزار تا نویز را کاهش دهیم. می
14
00:00:24,400 –> 00:00:26,240
تواند نویز را افزایش دهد و
15
00:00:26,240 –> 00:00:27,599
ما به درستی به نمودارهای مختلف نگاه خواهیم کرد، ما
16
00:00:27,599 –> 00:00:29,279
فقط به این مثال خاص نگاه نمی کنیم، در
17
00:00:29,279 –> 00:00:31,119
اینجا می خواهیم یاد بگیریم که چگونه
18
00:00:31,119 –> 00:00:33,200
نمودارهای تعاملی را به طور کلی در
19
00:00:33,200 –> 00:00:37,640
پایتون ایجاد کنیم، بنابراین بیایید مستقیماً وارد آن شویم
20
00:00:39,230 –> 00:00:44,320
[ موسیقی]
21
00:00:44,320 –> 00:00:46,000
بسیار خوب، بنابراین ایجاد نمودارهای پایتون تعاملی
22
00:00:46,000 –> 00:00:47,680
در داخل نوتبوکهای jupyter در
23
00:00:47,680 –> 00:00:49,360
واقع بسیار ساده است، تنها کاری که باید انجام دهیم این
24
00:00:49,360 –> 00:00:50,800
است که باید تابعی داشته باشیم که
25
00:00:50,800 –> 00:00:52,800
برخی از تصویرسازیها را ترسیم کند و
26
00:00:52,800 –> 00:00:54,399
این تابع پارامترهایی را میگیرد
27
00:00:54,399 –> 00:00:55,840
که این مقادیر هستند. سپس میتوانیم
28
00:00:55,840 –> 00:00:57,280
به صورت دستی
29
00:00:57,280 –> 00:00:58,719
یا تعاملی تنظیمات
30
00:00:58,719 –> 00:01:00,640
را انجام دهیم و سپس آن تابع را
31
00:01:00,640 –> 00:01:04,080
میگیریم و با استفاده از ماژول ipy ویجتها آن را تعاملی میکنیم
32
00:01:04,080 –> 00:01:05,600
و برای آن، ماژول
33
00:01:05,600 –> 00:01:07,600
ابزارک ipi را وارد میکنیم،
34
00:01:07,600 –> 00:01:10,560
بنابراین میگوییم وارد کردن
35
00:01:10,560 –> 00:01:12,640
ویجتهای ipi مخفف ویجت های تعاملی پایتون است
36
00:01:12,640 –> 00:01:15,280
و ما همچنین
37
00:01:15,280 –> 00:01:18,960
numpy را به عنوان np و oh
38
00:01:18,960 –> 00:01:21,040
numpy smp و
39
00:01:21,040 –> 00:01:25,280
matplotlib dot pi plot splt وارد
40
00:01:25,280 –> 00:01:26,640
می کنیم و البته اگر آن
41
00:01:26,640 –> 00:01:28,159
دو را روی سیستم خود نصب ندارید،
42
00:01:28,159 –> 00:01:29,840
فقط pip install numpy pip install matlab را تایپ کنید.
43
00:01:29,840 –> 00:01:32,479
در خط فرمان و
44
00:01:32,479 –> 00:01:33,680
مثال اول کاملاً پیش پا افتاده است،
45
00:01:33,680 –> 00:01:35,759
ما یک تابع بسیار
46
00:01:35,759 –> 00:01:38,240
اساسی دو برابر x تابع خواهیم داشت
47
00:01:38,240 –> 00:01:40,880
و سپس کمی نویز اضافه می کنیم
48
00:01:40,880 –> 00:01:42,720
و مقداری نویز را به صورت تعاملی حذف می کنیم، بنابراین
49
00:01:42,720 –> 00:01:43,759
چه کاری انجام می دهیم اینجا انجام دهید این است
50
00:01:43,759 –> 00:01:45,680
که میخواهیم بگوییم x برابر است با
51
00:01:45,680 –> 00:01:49,439
np یکنواخت تصادفی
52
00:01:49,439 –> 00:01:54,640
0 5 و اندازه uh 100
53
00:01:54,640 –> 00:01:56,159
خواهد بود و مقدار y
54
00:01:56,159 –> 00:01:58,640
اساساً فقط 2 برابر x
55
00:01:58,640 –> 00:02:00,640
به اضافه مقداری نویز خواهد بود و این نویز
56
00:02:00,640 –> 00:02:03,119
np تصادفی
57
00:02:03,119 –> 00:02:05,759
طبیعی خواهد بود. اندازه توزیع 100 بنابراین خیابان
58
00:02:05,759 –> 00:02:07,680
توزیع نرمال andard و اکنون میتوانیم
59
00:02:07,680 –> 00:02:10,318
وزنی را در اینجا اضافه کنیم تا بتوانیم بگوییم w برابر است با یک
60
00:02:10,318 –> 00:02:12,239
و این تعیین میکند که چقدر تصادفی
61
00:02:12,239 –> 00:02:13,280
داریم،
62
00:02:13,280 –> 00:02:15,040
بنابراین این مقادیر برای مثال هستند و
63
00:02:15,040 –> 00:02:17,920
اکنون میتوانیم بگوییم plt scatter
64
00:02:17,920 –> 00:02:20,160
x y و میبینید که همین
65
00:02:20,160 –> 00:02:22,080
الان است. تابع اکنون اگر
66
00:02:22,080 –> 00:02:24,239
وزن را به چهار تغییر دهم، می توانید ببینید که
67
00:02:24,239 –> 00:02:26,160
اگر این را
68
00:02:26,160 –> 00:02:29,840
به 0.1 تغییر دهم، تصادفی بسیار بیشتری خواهیم داشت، تقریباً تصادفی نداریم، بنابراین
69
00:02:29,840 –> 00:02:31,760
این چیزی است که می خواهیم
70
00:02:31,760 –> 00:02:34,400
در یک تابع بسته بندی کنیم و تعاملی ایجاد
71
00:02:34,400 –> 00:02:38,080
کنیم تا بتوانیم فقط بگوییم نمودار زیرخط fct
72
00:02:38,080 –> 00:02:39,599
برای
73
00:02:39,599 –> 00:02:42,480
وزن تابع نمودار به طور پیشفرض یک خواهد بود
74
00:02:42,480 –> 00:02:43,360
و
75
00:02:43,360 –> 00:02:45,200
پس از آن این چیزی است که با آن وزن اتفاق میافتد،
76
00:02:45,200 –> 00:02:47,040
بنابراین اکنون به جای گفتن plt
77
00:02:47,040 –> 00:02:48,720
scatter و البته باید
78
00:02:48,720 –> 00:02:52,720
Plt scatter x y را در اینجا انجام دهم، بنابراین
79
00:02:52,720 –> 00:02:54,480
تجسم باید در داخل تابع نمودار اتفاق بیفتد
80
00:02:54,480 –> 00:02:56,480
81
00:02:56,480 –> 00:02:59,040
و حالا اگر من تابع نمودار را بگویم
82
00:02:59,040 –> 00:03:00,640
و سپس
83
00:03:00,640 –> 00:03:05,040
1 را بگویم، اگر بگویم 0 میفهمم که اگر
84
00:03:05,040 –> 00:03:05,840
بگویم
85
00:03:05,840 –> 00:03:07,040
86
00:03:07,040 –> 00:03:08,640
10، این
87
00:03:08,640 –> 00:03:10,959
88
00:03:10,959 –> 00:03:14,080
را میگیرم، بنابراین ایده اصلی این است و اکنون میتوانیم آن را بگیریم و این را تعاملی کنیم.
89
00:03:14,080 –> 00:03:17,440
گفتن ipi ویجتها با نقطه تعامل دارند و
90
00:03:17,440 –> 00:03:19,599
تابع نمودار را در اینجا به عنوان یک
91
00:03:19,599 –> 00:03:21,920
موجودیت کلاس اول ارسال میکنیم، بنابراین بدون فراخوانی آن،
92
00:03:21,920 –> 00:03:24,560
و سپس w برابر را مشخص میکنیم و از
93
00:03:24,560 –> 00:03:27,040
یک تاپل برای ایجاد یک نوار لغزنده استفاده میکنیم تا بگوییم
94
00:03:27,040 –> 00:03:29,599
از دو با اندازه گام خاموش بنابراین از
95
00:03:29,599 –> 00:03:31,519
صفر
96
00:03:31,519 –> 00:03:34,319
با گام. اندازه کم است و
97
00:03:34,319 –> 00:03:37,120
به عنوان مثال نمی دانم 0.5 است و این
98
00:03:37,120 –> 00:03:38,879
اکنون یک نمودار تعاملی ایجاد می کند که در آن ما
99
00:03:38,879 –> 00:03:40,720
می توانیم جلو برویم و اسلاید کنیم و می توانید
100
00:03:40,720 –> 00:03:43,440
ببینید که داده ها اکنون تغییر می کند یک چیزی
101
00:03:43,440 –> 00:03:44,879
که شما متوجه خواهید شد این است که
102
00:03:44,879 –> 00:03:47,360
داده ها تغییر نمی کنند. فقط در
103
00:03:47,360 –> 00:03:49,280
وزنها تغییر میکند، همچنین به این دلیل که تصادفی
104
00:03:49,280 –> 00:03:51,599
بودن در داخل تابع است، کاری که
105
00:03:51,599 –> 00:03:53,760
ما میتوانیم انجام دهیم این است که میتوانیم x را خارج
106
00:03:53,760 –> 00:03:55,360
از تابع قرار دهیم، زیرا فقط یک
107
00:03:55,360 –> 00:03:58,080
نسل تصادفی است و همچنین میتوانیم بگوییم نویز
108
00:03:58,080 –> 00:04:02,560
برابر است با اندازه طبیعی تصادفی np
109
00:04:02,560 –> 00:04:04,799
100 و سپس میتوانیم
110
00:04:04,799 –> 00:04:07,439
اینجا را با نویز جایگزین کنیم، دلیلش این است که
111
00:04:07,439 –> 00:04:09,519
در اینجا اکنون تصادفی یک بار اتفاق میافتد و
112
00:04:09,519 –> 00:04:11,120
هر بار که تابع اجرا میشود،
113
00:04:11,120 –> 00:04:13,519
فقط وزن را تنظیم میکنیم تا
114
00:04:13,519 –> 00:04:16,399
هر بار که رسم میکنیم، تصادفی بودن اجرا
115
00:04:16,399 –> 00:04:18,798
نشود تا به این نتیجه برسد. چیزی شبیه به
116
00:04:18,798 –> 00:04:20,720
این همان عملکرد است اما وزن
117
00:04:20,720 –> 00:04:22,800
تغییر می کند که اکنون می توانید ببینید این همان است
118
00:04:22,800 –> 00:04:24,639
که همان نقاط هستند اما
119
00:04:24,639 –> 00:04:27,520
وزن نویز درست تغییر می کند
120
00:04:27,520 –> 00:04:29,199
و البته ما می توانیم این را نیز بگیریم
121
00:04:29,199 –> 00:04:30,720
و این را دانه بندی تر کنیم بنابراین اکنون
122
00:04:30,720 –> 00:04:32,240
0.1 داریم.
123
00:04:32,240 –> 00:04:34,160
شما میتوانید ببینید که چگونه این کار میکند،
124
00:04:34,160 –> 00:04:36,639
اوم اکنون عقبتر خواهد بود، این به
125
00:04:36,639 –> 00:04:38,000
خاطر سختافزار نیست، زیرا من
126
00:04:38,000 –> 00:04:40,080
در واقع یک کامپیوتر کاملاً خوب دارم، این
127
00:04:40,080 –> 00:04:40,960
128
00:04:40,960 –> 00:04:42,560
فقط یک نرمافزار است که عقبمانده است، این فقط
129
00:04:42,560 –> 00:04:44,479
عقبافتادگی پایتون است، بنابراین اگر با این
130
00:04:44,479 –> 00:04:47,520
سرعت حرکت کنید، فقط اوه بله کم است. کمی
131
00:04:47,520 –> 00:04:48,240
اما
132
00:04:48,240 –> 00:04:49,919
اکنون می توانید ببینید که چگونه کار می کند
133
00:04:49,919 –> 00:04:51,280
اگر تصادفی بودن را در داخل تابع
134
00:04:51,280 –> 00:04:53,600
قرار دهیم که هر بار به صورت تصادفی تولید می شود
135
00:04:53,600 –> 00:04:54,720
و البته می توانید این مقادیر را تنظیم کنید،
136
00:04:54,720 –> 00:04:57,120
همچنین می توانید این را برای رفتن به
137
00:04:57,120 –> 00:05:00,080
100 داشته باشید تا دیر یا زود بدانید شما
138
00:05:00,080 –> 00:05:02,479
اساساً دیگر
139
00:05:02,479 –> 00:05:06,000
هیچ ساختاری ندارید یا هیچ ساختاری در اینجا ندارید،
140
00:05:06,000 –> 00:05:07,520
اما بله، اینگونه است که شما یک
141
00:05:07,520 –> 00:05:10,320
طرح ساده تعاملی را انجام میدهید، حالا بیایید
142
00:05:10,320 –> 00:05:11,600
به مثالی برویم که در پیشنمایش به شما نشان دادم که
143
00:05:11,600 –> 00:05:14,800
میتوانیم از
144
00:05:14,800 –> 00:05:15,680
145
00:05:15,680 –> 00:05:17,120
مجموعه دادههای نقطهای sklearn و البته برای آن
146
00:05:17,120 –> 00:05:19,919
شما نیاز دارید sklearn um ما قصد داریم
147
00:05:19,919 –> 00:05:22,400
make moons را وارد کنیم که تابعی است
148
00:05:22,400 –> 00:05:24,880
که داده های نمونه را بر اساس یک
149
00:05:24,880 –> 00:05:27,280
ساختار خاص ایجاد می کند، بنابراین ماه بسازید و
150
00:05:27,280 –> 00:05:30,000
می توانیم بگوییم که ماه ها برابر است با ساخت ماه و این
151
00:05:30,000 –> 00:05:31,440
تابع برخی پارامترها را می گیرد به
152
00:05:31,440 –> 00:05:33,520
عنوان مثال چند عدد. آیا میخواهیم ماهها
153
00:05:33,520 –> 00:05:35,280
داشته باشیم، مثلاً 100
154
00:05:35,280 –> 00:05:36,880
آه، چه مقدار نویز میخواهیم داشته
155
00:05:36,880 –> 00:05:39,360
باشیم، مثلاً 0.1
156
00:05:39,360 –> 00:05:40,320
و
157
00:05:40,320 –> 00:05:42,400
بله، اساساً همین است و سپس
158
00:05:42,400 –> 00:05:45,520
میتوانیم بگوییم x و y برابر است با
159
00:05:45,520 –> 00:05:46,720
ماه
160
00:05:46,720 –> 00:05:48,560
0
161
00:05:48,560 –> 00:05:52,000
و ماه 1 و سپس میتوانیم بگوییم plt
162
00:05:52,000 –> 00:05:53,199
scatter
163
00:05:53,199 –> 00:05:55,039
و سپس ما باید از x
164
00:05:55,039 –> 00:05:57,759
در واقع مختصات را بگیریم، بنابراین
165
00:05:57,759 –> 00:06:00,000
صفر مختصات x و
166
00:06:00,000 –> 00:06:01,919
یک مختصات y است، بنابراین y در واقع
167
00:06:01,919 –> 00:06:04,080
فقط برچسب است، بنابراین در واقع رنگی
168
00:06:04,080 –> 00:06:05,120
که قرار است استفاده کنیم، بنابراین
169
00:06:05,120 –> 00:06:07,360
میخواهیم بگوییم c
170
00:06:07,360 –> 00:06:09,120
برابر y است.
171
00:06:09,120 –> 00:06:11,039
و سپس این ساختار ماه را دریافت می کنیم،
172
00:06:11,039 –> 00:06:12,400
بنابراین ساختار این است، این مثالی است
173
00:06:12,400 –> 00:06:14,560
که در ابتدا به شما نشان دادم،
174
00:06:14,560 –> 00:06:17,120
بنابراین ماه 0 همه مختصات را دارد اما
175
00:06:17,120 –> 00:06:19,199
آنها دوباره به مختصات x و y تقسیم می شوند
176
00:06:19,199 –> 00:06:21,919
و y so moons one
177
00:06:21,919 –> 00:06:24,240
فقط یک برچسب دارد. چه این کلاس باشد
178
00:06:24,240 –> 00:06:26,319
یا این کلاس اساساً
179
00:06:26,319 –> 00:06:28,080
اوه و ما همچنین میتوانیم این را اکنون
180
00:06:28,080 –> 00:06:29,919
به 500 تغییر دهیم و میتوانیم کمی بیشتر
181
00:06:29,919 –> 00:06:32,880
ببینیم که میتوانیم نویز را به 0.4 تغییر دهیم، سپس
182
00:06:32,880 –> 00:06:35,120
کاملاً نویز است، میتوانیم آن را به
183
00:06:35,120 –> 00:06:37,759
0.01
184
00:06:37,759 –> 00:06:39,280
و غیره تغییر دهیم، بنابراین میتوانید ببینید که تقریباً
185
00:06:39,280 –> 00:06:41,759
عالی است. اکنون و این نیز میتواند
186
00:06:41,759 –> 00:06:43,840
تعاملی باشد، بنابراین میتوانیم بگوییم
187
00:06:43,840 –> 00:06:46,240
قمرهای def plot
188
00:06:46,240 –> 00:06:48,319
و سپس میخواهیم نمونههای uh
189
00:06:48,319 –> 00:06:50,319
به طور پیشفرض 200 باشند و
190
00:06:50,319 –> 00:06:52,880
نویز بهطور پیشفرض صفر شود
191
00:06:52,880 –> 00:06:55,520
و سپس به جای اینکه مقادیر را
192
00:06:55,520 –> 00:06:56,639
در اینجا به
193
00:06:56,639 –> 00:06:59,919
طور مداوم تنظیم کنیم یا مانند یک روش ثابت
194
00:06:59,919 –> 00:07:01,759
، پارامترها را پاس میدهیم تا
195
00:07:01,759 –> 00:07:04,240
نمونهها و نویزها
196
00:07:04,240 –> 00:07:05,759
و
197
00:07:05,759 –> 00:07:09,680
سپس بقیه در واقع
198
00:07:09,680 –> 00:07:13,520
ثابت میمانند و سپس دوباره میگوییم که ویجتهای ipi
199
00:07:13,520 –> 00:07:15,280
با
200
00:07:15,280 –> 00:07:17,280
ماههای طرح تعامل میکنند
201
00:07:17,280 –> 00:07:18,639
و اکنون کاری که میتوانیم در اینجا انجام دهیم این است که میتوانیم
202
00:07:18,639 –> 00:07:20,720
برای نمونههایی که داریم بگوییم خوب است.
203
00:07:20,720 –> 00:07:22,720
میخواهیم یک لیست داشته باشیم، نه چند تایی
204
00:07:22,720 –> 00:07:24,479
، اگر لیستی [Music] را انتخاب کنیم، اکنون یک منوی کشویی به ما میدهد
205
00:07:24,479 –> 00:07:26,430
206
00:07:26,430 –> 00:07:27,599
207
00:07:27,599 –> 00:07