در این مطلب، ویدئو Scikit-learn Crash Course – کتابخانه یادگیری ماشین برای پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 2:09:22
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,360 –> 00:00:02,560
سلام به همه
2
00:00:02,560 –> 00:00:05,359
نام من وینسنت است و این عکسی
3
00:00:05,359 –> 00:00:06,799
از من
4
00:00:06,799 –> 00:00:09,120
در این سری از ویدیوها است که من قصد دارم
5
00:00:09,120 –> 00:00:12,400
برای شما psychic Learn را توضیح دهم.
6
00:00:12,400 –> 00:00:14,639
7
00:00:14,639 –> 00:00:16,480
8
00:00:16,480 –> 00:00:18,320
9
00:00:18,320 –> 00:00:20,160
من
10
00:00:20,160 –> 00:00:21,520
برخی از مهم ترین
11
00:00:21,520 –> 00:00:23,600
بخش ها را برجسته می کنم تا بفهمیم که آیا می
12
00:00:23,600 –> 00:00:26,000
خواهید با این ابزار کار کنید،
13
00:00:26,000 –> 00:00:27,599
آنچه مهم است توجه داشته باشید این است که این
14
00:00:27,599 –> 00:00:29,760
ویدیوهایی که می خواهم به شما نشان دهم در ابتدا
15
00:00:29,760 –> 00:00:32,000
در کد آرام ظاهر شده اند
16
00:00:32,000 –> 00:00:34,160
این وب سایت دارای ویدیوهای کوتاه در مورد
17
00:00:34,160 –> 00:00:36,960
یک موضوع است. در یک سری، بنابراین کاری که من انجام دادهام
18
00:00:36,960 –> 00:00:38,719
این است که ویدیوهای مربوط
19
00:00:38,719 –> 00:00:42,079
به یادگیری مهارتآموزی را برای این ویدیوی اردوی رایگان کد با هم ادغام کردهام، به این
20
00:00:42,079 –> 00:00:44,000
21
00:00:44,000 –> 00:00:46,480
معنی که این ویدیوی طولانی
22
00:00:46,480 –> 00:00:48,800
به بخشهای مختلفی تقسیم شده است و هر
23
00:00:48,800 –> 00:00:51,120
بخش یک متفاوت اما مرتبط را برجسته میکند
24
00:00:51,120 –> 00:00:54,160
. اکنون می توانید موضوع را یاد بگیرید توجه داشته باشید
25
00:00:54,160 –> 00:00:55,680
که تمام کدهای ویدیویی که
26
00:00:55,680 –> 00:00:57,360
می خواهید ببینید
27
00:00:57,360 –> 00:01:00,160
در github موجود است
28
00:01:00,160 –> 00:01:02,000
، پیوندی در یادداشت های نمایش پیدا خواهید کرد و
29
00:01:02,000 –> 00:01:03,840
می توانید هر نوت بوک را خودتان
30
00:01:03,840 –> 00:01:06,240
به صورت محلی دانلود کنید تا آنها را اجرا کنید. شما همچنین می توانید از
31
00:01:06,240 –> 00:01:09,520
سرویسی مانند google colab نیز استفاده کنید،
32
00:01:09,520 –> 00:01:11,280
بنابراین بیایید در مورد موضوعاتی که
33
00:01:11,280 –> 00:01:14,320
در این ویدئو
34
00:01:14,320 –> 00:01:16,720
در مورد آنها بحث خواهیم کرد در بخش اول صحبت کنیم، برخی از
35
00:01:16,720 –> 00:01:18,880
موضوعات سطح بالا مرتبط با روانشناسی را
36
00:01:18,880 –> 00:01:20,880
37
00:01:20,880 –> 00:01:22,400
مورد بحث قرار خواهیم داد. برای ساخت
38
00:01:22,400 –> 00:01:24,479
خطوط لوله یادگیری ماشینی، اما ویدیوها
39
00:01:24,479 –> 00:01:26,560
همچنین سعی میکنند به شما کمک کنند چرا
40
00:01:26,560 –> 00:01:28,960
یادگیری ماشینی در عمل هنوز سخت
41
00:01:28,960 –> 00:01:30,479
است،
42
00:01:30,479 –> 00:01:32,799
زیرا همه یادگیری ماشینی
43
00:01:32,799 –> 00:01:36,560
فراتر از بهینهسازی یک مدل است،
44
00:01:36,560 –> 00:01:38,640
پس از آن ما بخشی داریم که در آن
45
00:01:38,640 –> 00:01:41,759
در مورد قبل صحبت خواهیم کرد. ابزارهای پردازش
46
00:01:41,759 –> 00:01:43,920
میتوانید از یک مدل Sicit-Learn استفاده کنید، اما
47
00:01:43,920 –> 00:01:45,759
عملکرد مدل واقعاً
48
00:01:45,759 –> 00:01:48,479
بستگی زیادی به نحوه پیش پردازش دادهها دارد
49
00:01:48,479 –> 00:01:50,079
و اگر
50
00:01:50,079 –> 00:01:52,240
میخواهید قضاوت کنید، درک این مرحله پیشپردازش مدلهای شما را بسیار
51
00:01:52,240 –> 00:01:54,159
بهتر میکند.
52
00:01:54,159 –> 00:01:55,040
53
00:01:55,040 –> 00:01:56,960
یک مدل شما همچنین
54
00:01:56,960 –> 00:01:58,640
باید در مورد چگونگی تعیین کمیت کیفیت آن فکر کنید،
55
00:01:58,640 –> 00:02:00,000
56
00:02:00,000 –> 00:02:00,960
بنابراین
57
00:02:00,960 –> 00:02:03,360
در این بخش در مورد
58
00:02:03,360 –> 00:02:05,680
معیارهایی که scikit-learn ارائه می دهد صحبت خواهیم کرد، اما
59
00:02:05,680 –> 00:02:07,759
همچنین نحوه ساخت معیارهای سفارشی برای به دست آوردن
60
00:02:07,759 –> 00:02:10,318
ماشین خود صحبت خواهیم کرد. مدلهای یادگیری الکترونیکی برای
61
00:02:10,318 –> 00:02:12,800
موارد استفاده خاص شما،
62
00:02:12,800 –> 00:02:14,720
پس از آن، ما میخواهیم در مورد متا
63
00:02:14,720 –> 00:02:17,520
تخمینگرها بحث کنیم، ایده اینجا این است که در حالی
64
00:02:17,520 –> 00:02:20,319
که میتوانید دادهها را به عنوان مرحلهای در
65
00:02:20,319 –> 00:02:22,080
خط لوله یادگیری ماشین خود از قبل پردازش کنید،
66
00:02:22,080 –> 00:02:24,400
گاهی اوقات میخواهید پردازش پس از آن را نیز به ترتیب اعمال کنید.
67
00:02:24,400 –> 00:02:26,000
68
00:02:26,000 –> 00:02:28,000
برای توضیح درست این موضوع، هر چند
69
00:02:28,000 –> 00:02:30,080
باید در مورد این موارد
70
00:02:30,080 –> 00:02:33,680
به نام متا تخمینگرها بحث کنیم،
71
00:02:33,680 –> 00:02:35,519
سپس در نهایت میخواهم
72
00:02:35,519 –> 00:02:37,360
یک کتابخانه یادگیری ماشینی را نشان دهم که
73
00:02:37,360 –> 00:02:39,519
با Sicit-Learn ادغام میشود و سعی
74
00:02:39,519 –> 00:02:40,879
میکند یادگیری ماشینی را کمی
75
00:02:40,879 –> 00:02:41,760
76
00:02:41,760 –> 00:02:42,800
77
00:02:42,800 –> 00:02:45,599
انسانیتر کند، ابزاری که به آن یادگیری انسان میگویند
78
00:02:45,599 –> 00:02:48,400
و سلب مسئولیت کامل این ابزاری است که
79
00:02:48,400 –> 00:02:51,519
من خودم را هدف این کتابخانه قرار دادم این است که
80
00:02:51,519 –> 00:02:53,200
به شما نشان دهم چگونه ممکن است بتوانید قبل از اینکه به یادگیری ماشین متوسل شوید،
81
00:02:53,200 –> 00:02:54,800
دانش دامنه را که در داخل شرکت شما است معیار قرار دهید،
82
00:02:54,800 –> 00:02:56,879
83
00:02:56,879 –> 00:02:59,200
84
00:02:59,200 –> 00:03:00,720
امیدوارم که این موضوعات واقعاً
85
00:03:00,720 –> 00:03:02,239
برای شما جالب به نظر برسد.
86
00:03:02,239 –> 00:03:04,239
اما بیایید اکنون با
87
00:03:04,239 –> 00:03:07,680
درک یادگیری
88
00:03:08,800 –> 00:03:10,879
89
00:03:10,879 –> 00:03:12,720
90
00:03:12,720 –> 00:03:14,239
روانی شروع کنیم. از ویدیوها من می خواهم
91
00:03:14,239 –> 00:03:16,480
جریان کلی نحوه استفاده از
92
00:03:16,480 –> 00:03:17,840
scikit-learn را توضیح دهم وقتی می خواهید
93
00:03:17,840 –> 00:03:19,200
پیش بینی کنید
94
00:03:19,200 –> 00:03:21,360
اکنون به دلایلی که بعداً مشخص می شود
95
00:03:21,360 –> 00:03:23,840
ما قصد داریم از یک
96
00:03:23,840 –> 00:03:26,560
نسخه بسیار خاص از scikit-learn در این
97
00:03:26,560 –> 00:03:28,159
سری از ویدیوها استفاده
98
00:03:28,159 –> 00:03:30,000
کنیم. به خصوص ما از نسخه
99
00:03:30,000 –> 00:03:32,480
0.23.0 استفاده خواهیم کرد
100
00:03:32,480 –> 00:03:34,080
و اگر در یک نوت بوک مشتری هستید
101
00:03:34,080 –> 00:03:36,080
می توانید از این دستور استفاده کنید تا مطمئن
102
00:03:36,080 –> 00:03:37,760
شوید که این نسخه خاص را
103
00:03:37,760 –> 00:03:38,959
نصب
104
00:03:38,959 –> 00:03:41,120
کرده اید، همچنین باید گفت که این سری
105
00:03:41,120 –> 00:03:43,120
از ویدیوها با برخی دیگر متفاوت است. از
106
00:03:43,120 –> 00:03:45,360
سری دیگر ویدیوهای این وب سایت
107
00:03:45,360 –> 00:03:47,440
در این سری از ویدیوها، بسیار
108
00:03:47,440 –> 00:03:49,519
مهم است که همه ویدیوها را تماشا کنید
109
00:03:49,519 –> 00:03:52,480
نه فقط چند فیلم اول را
110
00:03:52,480 –> 00:03:53,920
که در واقع باید همه
111
00:03:53,920 –> 00:03:55,760
ویدیوها را تماشا کنید تا درک درستی از
112
00:03:55,760 –> 00:03:58,560
نحوه استفاده از scikit- داشته باشید. به درستی
113
00:03:58,560 –> 00:04:01,439
بیاموزید همچنین اکوسیستم Sicit-Learn گسترده است
114
00:04:01,439 –> 00:04:03,599
و انجام آن
115
00:04:03,599 –> 00:04:06,319
در یک سری ویدیوی کوتاه غیرممکن است،
116
00:04:06,319 –> 00:04:08,319
هدف این سری از ویدیوها بیشتر این است که به
117
00:04:08,319 –> 00:04:10,080
شما یک دید کلی
118
00:04:10,080 –> 00:04:12,239
در مورد اینکه به طور کلی چگونه باید فکر کنید و
119
00:04:12,239 –> 00:04:14,400
در داخل یک یادگیری روانی باشید، اما
120
00:04:14,400 –> 00:04:17,199
مجموعههای ویدیویی دیگری وجود خواهد داشت که
121
00:04:17,199 –> 00:04:19,199
در جنبه خاصی از
122
00:04:19,199 –> 00:04:21,040
روانشناسی عمیقتر میشود، یاد میگیرید که من نمیتوانم
123
00:04:21,040 –> 00:04:24,720
عدالت را فقط در این سری از ویدیوها انجام
124
00:04:24,720 –> 00:04:27,520
دهم که میگفت بیایید
125
00:04:27,520 –> 00:04:29,919
به روشی غواصی کنیم. یادگیری کار می کند این است که شما
126
00:04:29,919 –> 00:04:31,680
با برخی از داده ها شروع
127
00:04:31,680 –> 00:04:34,479
می کنید و در نهایت آن را به مدلی می دهید
128
00:04:34,479 –> 00:04:36,320
که مدل از آن یاد می گیرد و سپس
129
00:04:36,320 –> 00:04:38,400
می توانید پیش بینی
130
00:04:38,400 –> 00:04:40,800
هایی انجام دهید که جریان کلی است،
131
00:04:40,800 –> 00:04:43,280
اما بیایید کمی خاص باشیم،
132
00:04:43,280 –> 00:04:45,120
فقط دادن داده به یک مدل یک کار است. کمی
133
00:04:45,120 –> 00:04:46,000
مبهم است،
134
00:04:46,000 –> 00:04:48,320
بنابراین منظور ما از دادن داده به یک مدل چیست،
135
00:04:48,320 –> 00:04:49,440
136
00:04:49,440 –> 00:04:52,080
معمولاً اگر مجموعه دادهای داریم
137
00:04:52,080 –> 00:04:54,479
که برای پیشبینی مفید است،
138
00:04:54,479 –> 00:04:56,960
میتوانیم مجموعه داده را به دو قسمت تقسیم کنیم
139
00:04:56,960 –> 00:04:59,360
و نماد رایج این است که یک
140
00:04:59,360 –> 00:05:01,600
قسمت از داده را فراخوانی کنیم x و بخش دیگر
141
00:05:01,600 –> 00:05:03,759
دادههای y
142
00:05:03,759 –> 00:05:06,400
اکنون معمولاً مجموعه دادههای من x نشاندهنده
143
00:05:06,400 –> 00:05:08,560
همه چیزهایی است که من برای
144
00:05:08,560 –> 00:05:09,600
پیشبینی استفاده
145
00:05:09,600 –> 00:05:11,840
میکنم و مجموعه دادههای من y حاوی
146
00:05:11,840 –> 00:05:14,880
پیشبینی است که من علاقهمندم در
147
00:05:14,880 –> 00:05:16,240
مورد استفادهای که قرار است با آن برخورد کنیم.
148
00:05:16,240 –> 00:05:19,280
در یک لحظه باید د o با
149
00:05:19,280 –> 00:05:21,360
پیشبینی قیمت خانه، بنابراین میتوانید تصور کنید که
150
00:05:21,360 –> 00:05:23,039
این
151
00:05:23,039 –> 00:05:26,080
مجموعه داده y که شامل قیمت خانه است
152
00:05:26,080 –> 00:05:28,320
و x در اینجا حاوی
153
00:05:28,320 –> 00:05:31,840
اطلاعاتی در مورد چیزهای خانه
154
00:05:31,840 –> 00:05:34,240
است، مانند فوت مربع،
155
00:05:34,240 –> 00:05:36,400
156
00:05:36,400 –> 00:05:37,840
اگر دادههای خود را به این شکل تقسیم کنید، باغ چقدر است.
157
00:05:37,840 –> 00:05:40,080
کار بعدی که می توانید انجام دهید این
158
00:05:40,080 –> 00:05:42,800
است که می توانید آن را به مدل خود منتقل کنید
159
00:05:42,800 –> 00:05:44,479
و سپس این کار مدل است
160
00:05:44,479 –> 00:05:47,520
که الگوی را یاد بگیرد به طوری که ما بتوانیم y را
161
00:05:47,520 –> 00:05:51,840
با استفاده از x پیش بینی کنیم این نماد x و y از
162
00:05:51,840 –> 00:05:54,240
مقالات علمی و به دلیل
163
00:05:54,240 –> 00:05:56,000
نمادی که scikit- یادگیری به
164
00:05:56,000 –> 00:05:57,600
آن پایبند است همچنین نمادی است که
165
00:05:57,600 –> 00:06:00,160
من در ویدیوهایم استفاده خواهم کرد، کاری که بعداً انجام خواهیم داد این است که
166
00:06:00,160 –> 00:06:02,560
به دفترچه یادداشت خود برگردیم و مجموعه داده ای را برای خودمان دریافت کنیم
167
00:06:02,560 –> 00:06:04,479
که یادگیری روانی فراهم می کند
168
00:06:04,479 –> 00:06:07,840
که x و y ما را به ما می دهد، با
169
00:06:08,479 –> 00:06:09,759
توجه به اینکه ما scikit-learn داریم.
170
00:06:09,759 –> 00:06:11,600
نصب شده کاری که می توانم انجام دهم این است که می توانم
171
00:06:11,600 –> 00:06:13,840
از
172
00:06:13,840 –> 00:06:15,280
مجموعه داده های sklearn بگویم می
173
00:06:15,280 –> 00:06:17,680
توانم load press autocomplete را تایپ کنم
174
00:06:17,680 –> 00:06:19,520
و سپس
175
00:06:19,520 –> 00:06:21,520
مجموعه داده های زیادی را می بینم که در
176
00:06:21,520 –> 00:06:23,680
اختیار من هستند و این مجموعه داده ها
177
00:06:23,680 –> 00:06:25,199
برای مقاصد محک و آموزشی
178
00:06:25,199 –> 00:06:26,960
هستند و کاری که من
179
00:06:26,960 –> 00:06:29,600
انجام میدهم این است که مجموعه دادههای بوستون را بارگیری میکنم
180
00:06:29,600 –> 00:06:31,360
که مجموعهای از دادهها است که حاوی
181
00:06:31,360 –> 00:06:35,360
قیمت خانههای بوستون است، من معتقدم که در دهه 70
182
00:06:35,360 –> 00:06:37,360
اکنون اگر مجموعه دادههای load بوستون را
183
00:06:37,360 –> 00:06:38,560
همانطور که هست صدا
184
00:06:38,560 –> 00:06:40,479
کنم، به من میدهد فرهنگ لغت با
185
00:06:40,479 –> 00:06:42,240
آیتم های زیادی در آن
186
00:06:42,240 –> 00:06:43,840
وجود دارد، اما پارامتری وجود دارد که می توانیم آن را
187
00:06:43,840 –> 00:06:46,720
تنظیم کنیم به نام بازگشت x y و اگر آن
188
00:06:46,720 –> 00:06:52,080
را درست تنظیم کنیم، دو آرایه دریافت می کنیم که
189
00:06:52,080 –> 00:06:54,319
یک آرایه نشان دهنده قیمت خانه است
190
00:06:54,319 –> 00:06:56,880
و این قیمت خانه ها به
191
00:06:56,880 –> 00:06:59,840
هزار دلار است و همه اینها هستند. ویژگی
192
00:06:59,840 –> 00:07:01,440
های خانه ها
193
00:07:01,440 –> 00:07:03,120
یک کار خوب که می توانم انجام دهم این است که می توانم
194
00:07:03,120 –> 00:07:05,520
x کاما y مساوی را تایپ کنم
195
00:07:05,520 –> 00:07:08,400
و سپس x و y خود را دارم که
196
00:07:08,400 –> 00:07:10,319
می توانم جلو بروم و از
197
00:07:10,319 –> 00:07:12,960
داخل یک مدل یادگیری scikit استفاده کنم،
198
00:07:12,960 –> 00:07:13,919
بنابراین
199
00:07:13,919 –> 00:07:16,400
آنچه را که می خواهیم انجام دهیم انجام این کار این است
200
00:07:16,400 –> 00:07:18,960
که یک مدل را در یک چرخه یادگیری ظاهر کنیم،
201
00:07:18,960 –> 00:07:20,960
اما فقط از نظر مفهومی، خوب است به این
202
00:07:20,960 –> 00:07:23,599
نکته اشاره کنیم که یک مدل در واقع
203
00:07:23,599 –> 00:07:25,599
وقتی یک مدل ایجاد میکنید، چه کاری انجام میدهد،
204
00:07:25,599 –> 00:07:27,759
هنوز هیچ دادهای ندیده است، باید در این لحظه
205
00:07:27,759 –> 00:07:30,080
اعلام کنیم که این مدل به پایان رسیده است.
206
00:07:30,080 –> 00:07:30,960
در اینجا
207
00:07:30,960 –> 00:07:32,639
از داده ها یاد می گیرد
208
00:07:32,639 –> 00:07:33,919
و در روانی یاد می گیرد که به این معنی است که وجود دارد
209
00:07:33,919 –> 00:07:35,520
e دو فاز
210
00:07:35,520 –> 00:07:38,080
هستند، فاز یک که در آن مدل را ایجاد می
211
00:07:38,080 –> 00:07:40,400
کنیم و سپس فاز دوم وجود دارد که
212
00:07:40,400 –> 00:07:42,160
در آن مدل باید
213
00:07:42,160 –> 00:07:45,520
از داده ها در scikit-learn یاد بگیرد، همه
214
00:07:45,520 –> 00:07:47,919
مدل ها فقط اشیاء پایتون هستند
215
00:07:47,919 –> 00:07:49,919
و سپس این یادگیری در اینجا در
216
00:07:49,919 –> 00:07:52,400
اصطلاحات scikit-learn است که اغلب
217
00:07:52,400 –> 00:07:55,520
که مرحله تناسب نقطه نامیده می شود
218
00:07:55,520 –> 00:07:57,520
و در طول آن مرحله تناسب معمولاً
219
00:07:57,520 –> 00:07:59,840
آن را با x و همچنین
220
00:07:59,840 –> 00:08:01,919
مجموعه داده y ارسال می
221
00:08:01,919 –> 00:08:03,199
کنیم، مهم است بدانید که این
222
00:08:03,199 –> 00:08:04,960
دو مرحله جداگانه هستند که
223
00:08:04,960 –> 00:08:07,039
اگر بخواهیم بتوانیم
224
00:08:07,039 –> 00:08:09,599
پیش بینی کنیم، مدل باید طی کند. با توجه به اینکه ما
225
00:08:09,599 –> 00:08:11,599
این نمای کلی را برجسته کردهایم، اجازه دهید
226
00:08:11,599 –> 00:08:13,120
به دفترچه یادداشت برگردیم و به شما نشان دهیم که
227
00:08:13,120 –> 00:08:15,759
کد ممکن است چگونه باشد،
228
00:08:15,759 –> 00:08:18,160
بنابراین بیایید اولین مدل
229
00:08:18,160 –> 00:08:20,560
Sicit-Learn خود را بارگیری کنیم، اما یکی از
230
00:08:20,560 –> 00:08:22,720
موارد مورد علاقه من، مدل k-نزدیکترین
231
00:08:22,720 –> 00:08:25,120
همسایه است.
232
00:08:25,120 –> 00:08:27,199
شما می توانید آن را در ماژول فرعی همسایگان پیدا کنید
233
00:08:27,199 –> 00:08:28,400
234
00:08:28,400 –> 00:08:30,560
و من
235
00:08:30,560 –> 00:08:32,559
236
00:08:32,559 –> 00:08:35,200
اکنون برای مرحله ایجاد، این رگرسیور همسایه k را می گیرم، کاری که انجام خواهم داد این
237
00:08:35,200 –> 00:08:36,240
238
00:08:36,240 –> 00:08:38,159
است که متغیری به نام مدل دارم
239
00:08:38,159 –> 00:08:42,479
و به این شی مدل
240
00:08:42,479 –> 00:08:44,320
در حال حاضر در لحظه th اشاره خواهد کرد. قبلاً مرحلهای نبوده است
241
00:08:44,320 –> 00:08:46,399
که مدل بتواند چیزی یاد بگیرد،
242
00:08:46,399 –> 00:08:48,880
بنابراین اگر من نمیتوانم مدل را به نام
243
00:08:48,880 –> 00:08:50,320
نقطه پیشبینی
244
00:08:50,320 –> 00:08:51,120
x را صدا نکنم،
245
00:08:51,120 –> 00:08:53,519
همانطور که در مدل hey ممکن است
246
00:08:53,519 –> 00:08:56,800
پیشبینی کنید که چرا از x استفاده میکنید، در این صورت من
247
00:08:56,800 –> 00:08:58,320
یک خطا دریافت میکنم
248
00:08:58,320 –> 00:09:00,000
و این به این دلیل است که مدل
249
00:09:00,000 –> 00:09:01,360
هنوز تطبیق نشده است،
250
00:09:01,360 –> 00:09:03,839
اما اگر اکنون میخواهم بگویم هی مدل،
251
00:09:03,839 –> 00:09:05,600
لطفاً با
252
00:09:05,600 –> 00:09:07,360
کاما y
253
00:09:07,360 –> 00:09:08,880
اکنون با این k تماس بگیرید،
254
00:09:08,880 –> 00:09:11,120
همسایهها از دادهها تا حد امکان یاد میگیرند،
255
00:09:11,120 –> 00:09:13,519
به طوری که اگر اکنون
256
00:09:13,519 –> 00:09:15,600
میخواهم پیشبینی کنم،
257
00:09:15,600 –> 00:09:18,240
میتوانم این کار را انجام دهم. بنابراین
258
00:09:18,480 –> 00:09:20,640
و شما می توانید خود را تأیید کنید که
259
00:09:20,640 –> 00:09:22,720
تعداد پیش بینی هایی که ما انجام
260
00:09:22,720 –> 00:09:25,760
می دهیم با تعداد ردیف های آرایه x ما برابر است،
261
00:09:25,760 –> 00:09:28,160
262
00:09:28,720 –> 00:09:31,120
اکنون من بعداً در مورد اینکه این
263
00:09:31,120 –> 00:09:33,360
مدل یادگیری ماشین دقیقاً چه کاری انجام می دهد بحث خواهم کرد
264
00:09:33,360 –> 00:09:34,399
زیرا ممکن است تعجب کنید که چگونه
265
00:09:34,399 –> 00:09:36,560
پیش بینی ها انجام می شوند.
266
00:09:36,560 –> 00:09:38,000
نکته ای که می خواهم به طور خلاصه
267
00:09:38,000 –> 00:09:40,000
به آن اشاره کنم این است که می توانم از مدل دیگری نیز استفاده کنم،
268
00:09:40,000 –> 00:09:41,600
269
00:09:41,600 –> 00:09:43,839
مثلاً از مدل خطی scikit-learn
270
00:09:43,839 –> 00:09:46,320
من فقط رگرسیون خطی را وارد می کنم،
271
00:09:46,320 –> 00:09:48,640
272
00:09:48,640 –> 00:09:50,720
اما زیبایی scikit-learn این است که
273
00:09:50,720 –> 00:09:52,399
اگرچه این یک کاملاً
274
00:09:52,399 –> 00:09:54,320
متفاوت است. مک مدل یادگیری hine که به صورت
275
00:09:54,320 –> 00:09:57,279
داخلی بسیار متفاوت عمل می کند
276
00:09:57,279 –> 00:09:59,920
، api هنوز دقیقاً یکسان است
277
00:09:59,920 –> 00:10:02,000
اگر من اکنون
278
00:10:02,000 –> 00:10:04,000
بخواهم این رگرسیور همسایه k را با این رگرسیور خطی جایگزین
279
00:10:04,000 –> 00:10:05,920
280
00:10:05,920 –> 00:10:08,240
کنم، سپس می توانم تمام سلول ها را اجرا کنم و مطمئن باشید که
281
00:10:08,240 –> 00:10:10,079
پیش بینی ها متفاوت خواهند بود
282
00:10:10,079 –> 00:10:12,720
زیرا مدل های داخلی متفاوت است.
283
00:10:12,720 –> 00:10:14,959
متفاوت کار می کند، اما api
284
00:10:14,959 –> 00:10:18,720
دقیقاً یکسان است، هنوز هم است. fit dot predict
285
00:10:18,720 –> 00:10:20,480
و این همان چیزی است که استفاده از scikit-learn را
286
00:10:20,480 –> 00:10:22,399
بسیار خوب
287
00:10:22,399 –> 00:10:24,800
می کند، می توانید به یک api عمومی بچسبید و
288
00:10:24,800 –> 00:10:26,240
نیازی به نگرانی بیش از حد در مورد
289
00:10:26,240 –> 00:10:30,880
داخلی ها نباشید و این بسیار خوب است.
290
00:10:31,040 –> 00:10:33,120
من به یک دفترچه یادداشت مشتری بازگشته ام و
291
00:10:33,120 –> 00:10:35,760
چیزی که دارم مدل قابل اعتماد K نزدیکترین
292
00:10:35,760 –> 00:10:36,959
همسایه
293
00:10:36,959 –> 00:10:39,600
من است و من آن مدل را طوری تنظیم می کنم که
294
00:10:39,600 –> 00:10:42,079
بعداً بتوانم با آن پیش بینی کنم
295
00:10:42,079 –> 00:10:44,480
و آنچه اکنون دارم این مجموعه از
296
00:10:44,480 –> 00:10:46,720
پیش بینی ها است. چیزی که من هم دارم این است که
297
00:10:46,720 –> 00:10:49,760
این آرایه از مقادیر اصلی این
298
00:10:49,760 –> 00:10:52,720
مقادیر واقعی هستند،
299
00:10:52,720 –> 00:10:54,240
بنابراین یکی از کارهایی که معمولاً دوست دارم انجام دهم این
300
00:10:54,240 –> 00:10:56,399
است که فقط یک نمودار پراکندگی ایجاد
301
00:10:56,399 –> 00:10:58,160
کنم، پیشبینیها را روی
302
00:10:58,160 –> 00:10:59,519
محور x
303
00:10:59,519 –> 00:11:03,760
و مقدار پیشبینیشده نشان میدهم. روی محور y
304
00:11:04,079 –> 00:11:05,680
و با نگاه کردن به آن،
305
00:11:05,680 –> 00:11:08,800
کمی این تصور را از عملکرد مدل
306
00:11:08,800 –> 00:11:11,680
به دست میآوریم، این فقط یک طرح است، اما این
307
00:11:11,680 –> 00:11:13,839
تصور را به من میدهد که به طور کلی
308
00:11:13,839 –> 00:11:16,000
به نظر میرسد چیزی شبیه به سیگنال را دریافت میکند
309
00:11:16,000 –> 00:11:17,519
و اینکه در واقع نوعی از
310
00:11:17,519 –> 00:11:19,760
همبستگی نیز وجود دارد، زمانی که
311
00:11:19,760 –> 00:11:21,440
مدل ما می گوید قیمت خانه باید
312
00:11:21,440 –> 00:11:23,440
بالا باشد، به نظر می رسد که
313
00:11:23,440 –> 00:11:25,360
در واقعیت نیز بالا
314
00:11:25,360 –> 00:11:27,040
باشد، اگرچه این هم بی نقص نیست و
315
00:11:27,040 –> 00:11:29,200
در اینجا کمی پر سر و صدا است
316
00:11:29,200 –> 00:11:30,959
و چند دلیل برای این وجود دارد
317
00:11:30,959 –> 00:11:32,240
که ممکن است باشد
318
00:11:32,240 –> 00:11:33,120
اما
319
00:11:33,120 –> 00:11:34,800
بیایید اکنون در مورد چگونگی کارکرد این
320
00:11:34,800 –> 00:11:37,440
رگرسیور همسایه k صحبت کنیم،
321
00:11:37,440 –> 00:11:39,680
اجازه دهید نسخه ساده تری از
322
00:11:39,680 –> 00:11:42,959
مجموعه داده را در نظر بگیریم و مجموعه داده شامل
323
00:11:42,959 –> 00:11:45,839
یک فوت مربع است که یک خانه دارد
324
00:11:45,839 –> 00:11:47,920
و همچنین فرض
325
00:11:47,920 –> 00:11:50,079
کنید نزدیکی به مدرسه است
326
00:11:50,079 –> 00:11:51,760
، فرض کنید این دو هستند
327
00:11:51,760 –> 00:11:53,680
و فرض کنیم اگر خانه بزرگی دارید
328
00:11:53,680 –> 00:11:55,440
329
00:11:55,440 –> 00:11:57,839
و نزدیکی به مدارس نسبتاً
330
00:11:57,839 –> 00:11:59,279
کوچک است،
331
00:11:59,279 –> 00:12:01,200
این نقاط قرمز نشان میدهد که این
332
00:12:01,200 –> 00:12:04,560
خانهها واقعاً خانههای گرانقیمت هستند و میتوانید
333
00:12:04,560 –> 00:12:06,320
تصور کنید که شاید خانههای ارزانتر
334
00:12:06,320 –> 00:12:08,240
در اینجا هستند.
335
00:12:08,240 –> 00:12:10,320
n زمانی ساخته میشود
336
00:12:10,320 –> 00:12:11,600
که از رگرسیور همسایه k استفاده میکنید
337
00:12:11,600 –> 00:12:13,839
، فرض کنید میخواهم برای
338
00:12:13,839 –> 00:12:15,680
339
00:12:15,680 –> 00:12:17,760
این نقطه پیشبینی کنم همین الان،
340
00:12:17,760 –> 00:12:19,839
مدل چه میکند این است که شروع به
341
00:12:19,839 –> 00:12:21,839
جستجوی نزدیکترین همسایگان خود میکند
342
00:12:21,839 –> 00:12:23,279
، فرض کنید ما به دنبال نزدیکترین همسایهها هستیم.
343
00:12:23,279 –> 00:12:24,480
344
00:12:24,480 –> 00:12:27,440
345
00:12:27,440 –> 00:12:29,760
اگر به فاصلهای از نقطهای
346
00:12:29,760 –> 00:12:32,959
که میخواهم پیشبینی کنم
347
00:12:33,200 –> 00:12:34,959
تا تمام نقاط دیگر در این مجموعه دادهها،
348
00:12:34,959 –> 00:12:36,560
اینها خواهند
349
00:12:36,560 –> 00:12:38,079
350
00:12:38,079 –> 00:12:39,839
351
00:12:39,839 –> 00:12:40,800
352
00:12:40,800 –> 00:12:42,720
بود. میانگین این پنج همسایه ای که
353
00:12:42,720 –> 00:12:44,079
ما پیدا کردیم
354
00:12:44,079 –> 00:12:46,800
و به این صورت است که یک پیش بینی انجام می شود،
355
00:12:46,800 –> 00:12:48,880
اما اینجا جایی است که اتفاق دشوار می تواند
356
00:12:48,880 –> 00:12:51,200
رخ دهد، ممکن است این باشد که نزدیکی به
357
00:12:51,200 –> 00:12:54,240
یک مدرسه در اینجا مایل ها باشد
358
00:12:54,240 –> 00:12:55,120
و
359
00:12:55,120 –> 00:12:57,519
ممکن است به خوبی این مورد باشد که
360
00:12:57,519 –> 00:12:59,680
شما ممکن است داشته باشید. یک مایل از اینجا دو
361
00:12:59,680 –> 00:13:01,839
مایل آن طرف
362
00:13:01,839 –> 00:13:03,600
و سه در اینجا،
363
00:13:03,600 –> 00:13:05,200
اما این فوت مربعی که در
364
00:13:05,200 –> 00:13:07,519
این محور داریم که می تواند به
365
00:13:07,519 –> 00:13:09,760
هزاران برسد،
366
00:13:09,760 –> 00:13:11,519
به این معنی
367
00:13:11,519 –> 00:13:13,519
که فاصله ای که برای یافتن
368
00:13:13,519 –> 00:13:16,160
همسایگان استفاده می شود در t بسیار متفاوت خواهد بود.
369
00:13:16,160 –> 00:13:18,839
محور او در مقایسه با این
370
00:13:18,839 –> 00:13:21,279
محور، زیرا
371
00:13:21,279 –> 00:13:23,920
این محور x فقط دارای اعداد بزرگتر
372
00:13:23,920 –> 00:13:25,680
است، همچنین به این معنی است که آن محور
373
00:13:25,680 –> 00:13:27,040
تأثیر بسیار بیشتری در پیشبینیهای نهایی ما خواهد
374
00:13:27,040 –> 00:13:28,959
داشت و ممکن است آن چیزی نباشد که
375
00:13:28,959 –> 00:13:30,240
ما میخواهیم،
376
00:13:30,240 –> 00:13:32,320
براین این بدان معناست که ما باید مد
377
00:13:32,320 –> 00:13:35,839
واقعی خود را دوباره بررسی کن
378
00:13:36,320 –> 00:13:38,480
م. در حال حاضر این
379
00:13:38,480 –> 00:13:40,240
نمای کلی سطح بالای ما از مدل یادگیری ماشینی
380
00:13:40,240 –> 00:13:41,519
است که
381
00:13:41,519 –> 00:13:43,440
هنوز دادههایی وارد مدل میشوند و سپس
382
00:13:43,440 –> 00:13:45,920
در نهایت یک پیشبینی دریافت میکنیم، اما
383
00:13:45,920 –> 00:13:48,160
شاید باید دوباره فکر کنیم که یک مدل دقیقاً
384
00:13:48,160 –> 00:13:50,160
در اینجا چیست زیرا اگر به مثالی فکر کنم
385
00:13:50,160 –> 00:13:52,240
که ما فقط دیدیم که
386
00:13:52,240 –> 00:13:53,199
شاید
387
00:13:53,199 –> 00:13:56,480
قبل از اینکه این مجموعه داده x وارد این
388
00:13:56,480 –> 00:13:58,160
مدل شود در اینجا،
389
00:13:58,160 –> 00:13:59,360
شاید باید ابتدا کمی
390
00:13:59,360 –> 00:14:01,600
پیش پردازش انجام
391
00:14:01,600 –> 00:14:03,600
دهیم، دیدیم که متراژ مربع می
392
00:14:03,600 –> 00:14:05,920
تواند هزاران نفر باشد و شاید نزدیکی مدرسه
393
00:14:05,920 –> 00:14:06,880
می تواند
394
00:14:06,880 –> 00:14:08,320
به صورت تکی
395
00:14:08,320 –> 00:14:10,720
باشد، بنابراین ممکن است چیزی وجود داشته باشد.
396
00:14:10,720 –> 00:14:12,800
در مورد اعمال پیش پردازش قبل از اینکه
397
00:14:12,800 –> 00:14:14,399
مدل را لمس کند،
398
00:14:14,399 –> 00:14:17,120
بیایید ترسیم کنیم،
399
00:14:17,120 –> 00:14:19,760
بنابراین در اینجا شماتیک دوباره ترسیم شده است
400
00:14:19,760 –> 00:14:22,000
.
401
00:14:22,000 –> 00:14:23,760
402
00:14:23,760 –> 00:14:26,480
همسایه ما نوعی مقیاسگذاری را اعمال
403
00:14:26,480 –> 00:14:27,920
میکنیم تا مطمئن شویم تأثیری که
404
00:14:27,920 –> 00:14:29,680
هر ستون میتواند روی پیشبینی داشته
405
00:14:29,680 –> 00:14:32,240
باشد در زمین بازی است و انجام
406
00:14:32,240 –> 00:14:35,519
این کار باعث میشود این k نزدیکترین همسایه بهطور
407
00:14:35,519 –> 00:14:37,519
متفاوتی پیشبینی کند
408
00:14:37,519 –> 00:14:39,279
و وقتی به آن فکر میکنید،
409
00:14:39,279 –> 00:14:41,920
شاید ما
410
00:14:41,920 –> 00:14:43,600
411
00:14:43,600 –> 00:14:46,720
قبل از اینکه بگوییم این k نزدیکترین
412
00:14:46,720 –> 00:14:49,760
همسایه
413
00:14:49,760 –> 00:14:53,199
414
00:14:53,199 –> 00:14:56,160
415
00:14:56,160 –> 00:14:57,760
416
00:14:57,760 –> 00:14:59,839
417
00:14:59,839 –> 00:15:01,600
مدل است، باید دوباره تعریف کنیم
418
00:15:01,600 –> 00:15:03,600
پس برای همه مقاصد و مقاصد ما
419
00:15:03,600 –> 00:15:05,839
دوست داریم که بخشی از کل
420
00:15:05,839 –> 00:15:08,079
سیستم ما باشد، به طوری که گفته می شود
421
00:15:08,079 –> 00:15:10,399
شاید بیشتر این خط لوله ای است که من در
422
00:15:10,399 –> 00:15:12,480
اینجا ترسیم کرده ام باید به
423
00:15:12,480 –> 00:15:13,839
عنوان مدل در نظر
424
00:15:13,839 –> 00:15:15,680
گرفته شود و اتفاقاً در
425
00:15:15,680 –> 00:15:17,839
scikit-learn ما این مفهوم از یک
426
00:15:17,839 –> 00:15:21,120
خط لوله را داشته باشید و این خط لوله همچنین دارای
427
00:15:21,120 –> 00:15:23,920
api است که میتوانیم نقطه تناسب را در
428
00:15:23,920 –> 00:15:26,959
کل خط لوله صدا بزنیم و همچنین
429
00:15:26,959 –> 00:15:28,959
زمانی که آموزش داده شد میتوانیم آن را پیشبینی کنیم،
430
00:15:28,959 –> 00:15:31,120
دلیل اینکه این خط لوله بسیار خوب است این است
431
00:15:31,120 –> 00:15:32,240
که
432
00:15:32,240 –> 00:15:34,639
مرحله پردازش همچنین باید
433
00:15:34,639 –> 00:15:37,120
از دادهها یاد بگیرد تا به درستی
434
00:15:37,120 –> 00:15:38,880
مقیاسبندی و عادی شود
435
00:15:38,880 –> 00:15:40,160
و با قرار دادن همه چیز در یک
436
00:15:40,160 –> 00:15:43,519
خط لوله، میتوانیم آن را به طور خودکار مدیریت کنیم،
437
00:15:43,519 –> 00:15:45,680
به طوری که هنوز مجبوریم به
438
00:15:45,680 –> 00:15:47,759
جای بسیاری از شیها، با یک شیء ارتباط برقرار کنیم،
439
00:15:47,759 –> 00:15:48,639
440
00:15:48,639 –> 00:15:50,399
بنابراین امیدوارم این نمای کلی به تصویر کشیده شود. تصویر واضحی
441
00:15:50,399 –> 00:15:52,320
از اینکه چرا ما دوست داریم تعریف جدیدی
442
00:15:52,320 –> 00:15:54,399
از مدل داشته باشیم و
443
00:15:54,399 –> 00:15:56,160
اکنون چه کاری انجام خواهم داد این است که من فقط این را
444
00:15:56,160 –> 00:15:58,639
در نوت بوک jupyter پیاده می کنم،
445
00:15:58,639 –> 00:16:00,399
بنابراین اجازه دهید ابتدا قطعات
446
00:16:00,399 –> 00:16:02,480
مورد نیاز خود را از scikit-learn وارد کنیم. باید چیزی را
447
00:16:02,480 –> 00:16:05,040
از ماژول پیش پردازش وارد
448
00:16:05,040 –> 00:16:07,600
کنم که بتواند مقیاسبندی را انجام دهد و برای
449
00:16:07,600 –> 00:16:09,040
این کار من فقط از این
450
00:16:09,040 –> 00:16:10,639
شی استاندارد مقیاسدار استفاده
451
00:16:10,639 –> 00:16:14,079
میکنم، کاری که انجام میدهم این است
452
00:16:14,079 –> 00:16:16,480
که شی pipeline را نیز وارد میکنم و این به من
453
00:16:16,480 –> 00:16:18,800
امکان میدهد مراحل پردازش را پشت سر هم زنجیره بزنم.
454
00:16:18,800 –> 00:16:19,759
455
00:16:19,759 –> 00:16:21,839
بنابراین کاری که من اکنون با وارد کردن این ابزارها انجام خواهم داد
456
00:16:21,839 –> 00:16:24,240
این است که یک شیء خط لوله جدید را شروع
457
00:16:24,240 –> 00:16:25,360
458
00:16:25,360 –> 00:16:27,360
کنم که به لیستی از تاپل ها نیاز دارد
459
00:16:27,360 –> 00:16:28,800
و
460
00:16:28,800 –> 00:16:33,040
یک جفت نام و همچنین یک مرحله
461
00:16:33,600 –> 00:16:35,199
است، به خاطر داشته باشید که شما باید
462
00:16:35,199 –> 00:16:38,079
شی را از اینجا عبور دهید نه cl
463
00:16:38,079 –> 00:16:39,920
پس مهم است که
464
00:16:39,920 –> 00:16:41,759
از این براکتها استفاده کنید
465
00:16:41,759 –> 00:16:43,120
بعد از اینکه مقیاسگذاری را انجام دادیم،
466
00:16:43,120 –> 00:16:46,639
میخواهیم از نزدیکترین همسایهمان استفاده کنیم
467
00:16:48,800 –> 00:16:51,279
و این خط لولهای است که اکنون
468
00:16:51,279 –> 00:16:54,720
میتوانم انجام دهم این است که فقط pipe.fit x کاما y را صدا بزنم و
469
00:16:54,720 –> 00:16:57,440
کل این خط لوله اکنون آموزش میدهد و
470
00:16:57,440 –> 00:16:59,519
خودش را جا میدهد و کاری که میتوانم
471
00:16:59,519 –> 00:17:00,240
انجام دهم این
472
00:17:00,240 –> 00:17:02,639
است که میتوانم مدلی را که در
473
00:17:02,639 –> 00:17:05,199
ابتدا در اینجا داشتم با خط لولهای
474
00:17:05,199 –> 00:17:07,520
که اکنون نیز مقیاسبندی شده است جایگزین کنم و وقتی
475
00:17:07,520 –> 00:17:09,520
این را اجرا میکنم باید شاهد
476
00:17:09,520 –> 00:17:12,640
نمایان شدن یک گرافیک جدید نیز باشیم،
477
00:17:13,520 –> 00:17:16,000
بنابراین من نمیدانم درباره آن شما، اما
478
00:17:16,000 –> 00:17:18,240
این کمی بهتر به نظر می رسد زیرا
479
00:17:18,240 –> 00:17:19,280
سر و صدای کمتری
480
00:17:19,280 –> 00:17:21,280
وجود دارد، یک
481
00:17:21,280 –> 00:17:22,959
مشکل دیگر وجود دارد که ما به تازگی معرفی کرده ایم
482
00:17:22,959 –> 00:17:24,640
،
483
00:17:24,640 –> 00:17:26,079
بنابراین بیایید نگاهی بیندازیم که در
484
00:17:26,079 –> 00:17:28,400
حال حاضر چه اتفاقی می افتد، زیرا ما در حال تقلب هستیم،
485
00:17:28,400 –> 00:17:30,880
به خط لوله می گویم که ادامه دهد و
486
00:17:30,880 –> 00:17:33,200
پیش بینی کند. با استفاده از این مجموعه داده x،
487
00:17:33,200 –> 00:17:35,520
اما توجه داشته باشید که این همان مجموعه داده ای است
488
00:17:35,520 –> 00:17:38,799
که ما در لحظه برازش نقطه استفاده
489
00:17:38,799 –> 00:17:41,600
می کنیم، از همان داده هایی یاد می گیریم که
490
00:17:41,600 –> 00:17:43,039
در مورد آن قضاوت می کنیم
491
00:17:43,039 –> 00:17:44,720
و k نزدیکترین همسایه اکنون کاری انجام می دهد
492
00:17:44,720 –> 00:17:46,799
که گستاخانه
493
00:17:46,799 –> 00:17:48,640
فرض کنید من می خواهم برای انجام یک پیش بینی n
494
00:17:48,640 –> 00:17:51,200
برای یک نقطه که بیایید بگوییم در اینجا
495
00:17:51,200 –> 00:17:52,880
کاری که من انجام خواهم داد این است که
496
00:17:52,880 –> 00:17:55,440
پنج همسایه نزدیک را می گیرم
497
00:17:55,440 –> 00:17:57,039
و سپس
498
00:17:57,039 –> 00:18:01,039
با گرفتن میانگین برای این یک نقطه
499
00:18:01,039 –> 00:18:02,799
پیش بینی می کنم اما در پراکندگی خود چنین پیش بینی نمی
500
00:18:02,799 –> 00:18:05,039
کنیم. نمودار نقطه
501
00:18:05,039 –> 00:18:07,200
ای که می خواهم پیش بینی کنم، نقطه ای است که
502
00:18:07,200 –> 00:18:09,760
در مجموعه داده های اصلی ما نیز وجود دارد،
503
00:18:09,760 –> 00:18:11,440
بنابراین آنچه که ما در حال حاضر انجام می دهیم این است
504
00:18:11,440 –> 00:18:12,559
که می گوییم
505
00:18:12,559 –> 00:18:15,120
فرض کنید می خواهم این نقطه را پیش بینی
506
00:18:15,120 –> 00:18:17,440
کنم که نزدیک ترین پنج همسایه کدامند
507
00:18:17,440 –> 00:18:19,679
و خوب نزدیکترین پنج
508
00:18:19,679 –> 00:18:22,240
همسایه این چهار نقطه
509
00:18:22,240 –> 00:18:24,880
و همچنین این نقطه اصلی را شامل میشوند،
510
00:18:24,880 –> 00:18:27,200
به این معنی که من به معنای واقعی کلمه از
511
00:18:27,200 –> 00:18:28,480
نقطه دادهای استفاده میکنم که میخواهم
512
00:18:28,480 –> 00:18:30,960
پیشبینی کنم تا بفهمم آیا
513
00:18:30,960 –> 00:18:32,559
پیشبینی را به خوبی انجام
514
00:18:32,559 –> 00:18:34,559
میدهم یا نه. اینکه آیا
515
00:18:34,559 –> 00:18:37,120
مدلی خوب است یا خیر، این نمودار در اینجا دیدگاهی بسیار خوش بینانه به
516
00:18:37,120 –> 00:18:37,840
ما می دهد
517
00:18:37,840 –> 00:18:40,240
518
00:18:40,240 –> 00:18:43,280
و من هم می توانم آن را مجبور
519
00:18:43,280 –> 00:18:44,960
کنم آنچه اکنون سریع انجام می دهم این است که
520
00:18:44,960 –> 00:18:47,440
فقط خط لوله را کمی تغییر می دهم
521
00:18:47,440 –> 00:18:49,280
تا بر آنچه در حال حاضر
522
00:18:49,280 –> 00:18:50,240
اشتباه می شود تأکید کنم.
523
00:18:50,240 –> 00:18:52,480
این k regressor همسایه دارد چند
524
00:18:52,480 –> 00:18:53,600
تنظيمات
525
00:18:53,600 –> 00:18:55,440
و به ويژه ما اين تعداد
526
00:18:55,440 –> 00:18:57,440
همسايه را داريم كه مي توانيم آنها را تنظيم كنيم، پس
527
00:18:57,440 –> 00:19:01,360
بياييد اين عدد را از 5 به 1 تغيير دهيم.
528
00:19:03,120 –> 00:19:05,200
و من هر مرحله را دوباره
529
00:19:05,200 –> 00:19:06,080
530
00:19:06,080 –> 00:19:10,520
اجرا مي كنم تا به شما نشان دهم
531
00:19:11,840 –> 00:19:14,080
اگر فقط يك همسايه را انتخاب كنم چه اثري دارد.
532
00:19:14,080 –> 00:19:16,160
نمودار به اشتباه نشان میدهد که
533
00:19:16,160 –> 00:19:18,720
ما در حال انجام یک پیشبینی کامل هستیم،
534
00:19:18,720 –> 00:19:20,640
اما مدل اینجا فقط میتواند این کار را انجام دهد،
535
00:19:20,640 –> 00:19:22,400
زیرا مجاز است
536
00:19:22,400 –> 00:19:25,120
دادههای اصلی را به خاطر بسپارد، نزدیکترین همسایه
537
00:19:25,120 –> 00:19:27,760
در اینجا نقطه داده اصلی است،
538
00:19:27,760 –> 00:19:29,600
بنابراین این نمودار چیزی در مورد چگونگی به ما نمیگوید.
539
00:19:29,600 –> 00:19:31,200
ممکن است نقاطی را پیشبینی کند
540
00:19:31,200 –> 00:19:33,200
که در مجموعه دادههای اصلی نیستند و
541
00:19:33,200 –> 00:19:34,720
این مسئله بزرگی است
542
00:19:34,720 –> 00:19:36,640
که ما میخواهیم مدل ما دادههایی را پیشبینی کند که
543
00:19:36,640 –> 00:19:38,400
قبلاً دیده نشدهاند
544
00:19:38,400 –> 00:19:40,160
و نمیتوانیم به نمودارها و آمارهایی اعتماد کنیم
545
00:19:40,160 –> 00:19:42,320
که در آن مدل مجاز است
546
00:19:42,320 –> 00:19:43,840
بر روی همان دادههایی را پیشبینی کند.
547
00:19:43,840 –> 00:19:45,520
آموزش دیده است
548
00:19:45,520 –> 00:19:47,280
و ما را به
549
00:19:47,280 –> 00:19:48,640
دو
550
00:19:48,640 –> 00:19:51,039
موضوع می رساند اولین مسئله این است که چگونه می توانیم
551
00:19:51,039 –> 00:19:53,280
مقایسه ای منصفانه برای خود داشته باشیم، اما
552
00:19:53,280 –> 00:19:55,200
شاید موضوع دیگر این است
553
00:19:55,200 –> 00:19:57,440
که چگونه می توانم تعداد مناسبی
554
00:19:57,440 –> 00:19:59,520
از همسایگان را در اینجا انتخاب کنم و چه چیزی را انتخاب کنم.
555
00:19:59,520 –> 00:20:01,280
اگر افکاری مانند این را در نظر
556
00:20:01,280 –> 00:20:03,360
بگیرید، ممکن است متوجه شوید که
557
00:20:03,360 –> 00:20:05,840
ما باید یک بار دیگر درک خود را از چیستی یک مدل
558
00:20:05,840 –> 00:20:07,679
مرور
559
00:20:07,679 –> 00:20:10,000
560
00:20:10,000 –> 00:20:11,520
561
00:20:11,520 –> 00:20:13,440
562
00:20:13,440 –> 00:20:16,000
563
00:20:16,000 –> 00:20:18,080
کنیم. مشکل دیگری وجود دارد زیرا
564
00:20:18,080 –> 00:20:20,400
اکنون ممکن
565
00:20:20,400 –> 00:20:23,360
است تنظیماتی برای k نزدیکترین همسایه
566
00:20:23,360 –> 00:20:24,960
داشته باشیم، ممکن است بخواهم سیستمی را امتحان کنم که در
567
00:20:24,960 –> 00:20:26,960
آن یک یا دو همسایه
568
00:20:26,960 –> 00:20:28,720
تا 10 وجود دارد.
569
00:20:28,720 –> 00:20:30,640
و من می خواهم این
570
00:20:30,640 –> 00:20:32,799
تعداد همسایه را
571
00:20:32,799 –> 00:20:34,240
طوری انتخاب کنم که مدل من بهترین
572
00:20:34,240 –> 00:20:35,600
پیشبینیها
573
00:20:35,600 –> 00:20:37,200
را انجام میدهد و برای اینکه بفهمیم کدام
574
00:20:37,200 –> 00:20:39,200
پیشبینی بهترین چیزی است که
575
00:20:39,200 –> 00:20:40,320
میتوانیم انجام دهیم این
576
00:20:40,320 –> 00:20:42,880
است که میتوانیم پیشبینی خود را
577
00:20:42,880 –> 00:20:44,960
با برچسب اصلی مقایسه کنیم،
578
00:20:44,960 –> 00:20:47,360
اما همانطور که در ویدیوی قبلی دیدیم
579
00:20:47,360 –> 00:20:49,200
، باید در اینجا واقعاً مراقب باشیم. ما
580
00:20:49,200 –> 00:20:51,440
نمیخواهیم مدل را بر روی
581
00:20:51,440 –> 00:20:54,400
همان مجموعه دادهای که از آن یاد میگیریم قضاوت کنیم
582
00:20:54,400 –> 00:20:55,919
و با در نظر گرفتن آن،
583
00:20:55,919 –> 00:20:57,840
شاید باید ترفندی را با مجموعه دادهها انجام
584
00:20:57,840 –> 00:21:00,799
دهیم تا روششناسی را تمیز نگه داریم
585
00:21:00,799 –> 00:21:03,840
و این ایدهای است که من قصد دارم
586
00:21:03,840 –> 00:21:06,000
این را قطع کن دادهها
587
00:21:06,000 –> 00:21:09,120
در سه بخش مختلف تنظیم میشوند
588
00:21:09,120 –> 00:21:10,720
و کاری که من همچنین میخواهم انجام دهم این است
589
00:21:10,720 –> 00:21:14,159
که هر دو مجموعه داده را سه بار کپی میکنم
590
00:21:14,159 –> 00:21:16,400
و ایده اینجاست که ابتدا میخواهم
591
00:21:16,400 –> 00:21:18,400
بگویم خوب اجازه دهید نام پیشبینی را به آن بدهیم
592
00:21:18,400 –> 00:21:20,720
و بیایید این کار را در اینجا انجام دهید،
593
00:21:20,720 –> 00:21:21,679
594
00:21:21,679 –> 00:21:24,640
من در مجموعه دوم، نام پیش بینی را در اینجا
595
00:21:24,640 –> 00:21:27,440
تنظیم می کنم و
596
00:21:27,440 –> 00:21:31,120
در مجموعه سوم، پیش بینی را در اینجا می گذارم و
597
00:21:31,120 –> 00:21:35,679
قسمت های دیگر را برای آموزش برای
598
00:21:35,679 –> 00:21:37,520
اولین بار در مورد
599
00:21:37,520 –> 00:21:38,559
این
600
00:21:38,559 –> 00:21:40,960
بخش از مجموعه داده ها اعلام
601
00:21:40,960 –> 00:21:43,039
می کنم. قرار است برای آموزش استفاده شود
602
00:21:43,039 –> 00:21:45,280
و سپس با توجه به آن مدل آموزش دیده، میتوانم
603
00:21:45,280 –> 00:21:48,000
از این بخش از دادههایی که
604
00:21:48,000 –> 00:21:49,600
برای آموزش استفاده نشده است استفاده کنم
605
00:21:49,600 –> 00:21:51,600
تا میزان پیشبینیهایم را آزمایش کنم
606
00:21:51,600 –> 00:21:52,720
607
00:21:52,720 –> 00:21:54,720
و در
608
00:21:54,720 –> 00:21:56,880
کپی داده بعدی تمرین را تکرار میکنم
609
00:21:56,880 –> 00:21:58,480
610
00:21:58,480 –> 00:22:00,799
اما قرار است از بخشهای مختلف دادهها
611
00:22:00,799 –> 00:22:02,320
612
00:22:02,320 –> 00:22:04,640
برای پیشبینی و همچنین آموزش استفاده شود
613
00:22:04,640 –> 00:22:06,320
و در نهایت همین اتفاق در اینجا رخ
614
00:22:06,320 –> 00:22:08,000
615
00:22:08,000 –> 00:22:10,960
میدهد، ایده اینجاست که من میخواهم
616
00:22:10,960 –> 00:22:13,039
نقطه تناسب را
617
00:22:13,039 –> 00:22:14,640
نقطه پیشبینی کنم،
618
00:22:14,640 –> 00:22:16,720
اما در قسمت سبز رنگ قرار میدهم و
619
00:22:16,720 –> 00:22:19,840
من در قسمت قرمز پیش بینی می کنم که
620
00:22:19,840 –> 00:22:22,559
این مانع من از همیشه می شود پیشبینی
621
00:22:22,559 –> 00:22:25,520
دادههایی که در طول آموزش استفاده
622
00:22:25,520 –> 00:22:27,840
623
00:22:27,840 –> 00:22:30,240
کردهام، اما به من این امکان را میدهد که در بخش پیشبینی دادههایم قضاوت کنم که
624
00:22:30,240 –> 00:22:32,080
پیشبینیهایم چقدر خوب هستند
625
00:22:32,080 –> 00:22:33,919
و اساساً ایده این است که اگر فقط
626
00:22:33,919 –> 00:22:35,360
این را تکرار
627
00:22:35,360 –> 00:22:36,880
628
00:22:36,880 –> 00:22:38,480
کنم، ممکن است معیار بسیار خوبی از آن داشته باشم.
629
00:22:38,480 –> 00:22:40,400
عملکرد برای زمانی که
630
00:22:40,400 –> 00:22:43,280
من یک همسایه را انتخاب کردم،
631
00:22:43,280 –> 00:22:45,440
زمانی که دو همسایه انتخاب کردم و
632
00:22:45,440 –> 00:22:48,000
زمانی که من 10 همسایه را انتخاب کردم،
633
00:22:48,000 –> 00:22:49,120
اما
634
00:22:49,120 –> 00:22:50,640
در scikit-learn
635
00:22:50,640 –> 00:22:52,400
همه اینها چیزی است که
636
00:22:52,400 –> 00:22:54,720
خط لوله برای شما قابل رسیدگی نیست، در
637
00:22:54,720 –> 00:22:56,159
638
00:22:56,159 –> 00:22:59,760
عوض یک شی متفاوت وجود دارد
639
00:23:01,039 –> 00:23:03,760
و نام آن شیء یک شیء
640
00:23:03,760 –> 00:23:05,280
جست و جوی شبکه ای
641
00:23:05,280 –> 00:23:07,039
است
642
00:23:07,039 –> 00:23:08,720
، ایده پشت آن این است که می توانید به
643
00:23:08,720 –> 00:23:10,960
این جستجوی شبکه ای یک خط لوله بدهید
644
00:23:10,960 –> 00:23:12,799
و همچنین می توانید شبکه ای مانند
645
00:23:12,799 –> 00:23:15,039
این تعداد همسایه در اینجا به آن بدهید و در
646
00:23:15,039 –> 00:23:17,200
داخل آن اعتبار متقاطع را انجام می دهد
647
00:23:17,200 –> 00:23:19,440
که رویه ای است که
648
00:23:19,440 –> 00:23:21,360
من در اینجا توضیح دادم
649
00:23:21,360 –> 00:23:23,600
و با انجام این اعتبارسنجی متقاطع،
650
00:23:23,600 –> 00:23:26,080
ما یک روش داریم که تا حدودی
651
00:23:26,080 –> 00:23:27,280
صحیح است
652
00:23:27,280 –> 00:23:28,880
و آنچه من در اینجا استدلال می کنم این است
653
00:23:28,880 –> 00:23:31,919
که شاید این شی جستجوی شبکه ای ممکن
654
00:23:31,919 –> 00:23:33,360
است مدلی باشد
655
00:23:33,360 –> 00:23:35,200
که باید در مورد
656
00:23:35,200 –> 00:23:37,520
این جستجوی شبکه ای نیز فکر کنید و در یادگیری scikit نیز این
657
00:23:37,520 –> 00:23:40,320
جستجوی شبکه دارای یک تناسب نقطه
658
00:23:40,320 –> 00:23:42,400
و همچنین یک روش پیش بینی نقطه
659
00:23:42,400 –> 00:23:44,159
است،
660
00:23:44,159 –> 00:23:47,279
بنابراین بیایید این خط لوله را به یک
661
00:23:47,279 –> 00:23:48,880
جستجوی شبکه ای مناسب تبدیل
662
00:23:48,880 –> 00:23:50,880
کنیم اولین کاری که باید انجام دهم این است
663
00:23:50,880 –> 00:23:53,120
که مطمئن شوم grid search
664
00:23:53,120 –> 00:23:55,919
شی cv وارد شده است و شما می توانید آن را
665
00:23:55,919 –> 00:23:58,080
از
666
00:23:58,080 –> 00:23:59,679
انتخاب مدل sklearn وارد کنید
667
00:23:59,679 –> 00:24:01,279
و شی مورد
668
00:24:01,279 –> 00:24:05,760
علاقه شما این شی cv جستجوی grid است
669
00:24:05,760 –> 00:24:07,919
و با توجه به اینکه اکنون این را وارد کرده ایم
670
00:24:07,919 –> 00:24:09,760
کاری که می توانم انجام دهم این است که می توانم یک شی جستجوی شبکه جدید را شروع کنم
671
00:24:09,760 –> 00:24:11,360
672
00:24:11,360 –> 00:24:13,279
برای شروع با آن، باید یک برآوردگر را پاس کنم
673
00:24:13,279 –> 00:24:15,840
و یک تخمینگر چیزی است
674
00:24:15,840 –> 00:24:18,559
که دارای نقطه تناسب و همچنین پیشبینی است
675
00:24:18,559 –> 00:24:21,039
و خط لولهای که
676
00:24:21,039 –> 00:24:23,760
قبلاً در اینجا ایجاد
677
00:24:23,760 –> 00:24:25,679
کردهام، به خوبی انجام میدهد. شبکه پارامتر
678
00:24:25,679 –> 00:24:26,799
679
00:24:26,799 –> 00:24:28,480
و این شبکه پارامتری قرار
680
00:24:28,480 –> 00:24:30,400
است تمام تنظیماتی را که
681
00:24:30,400 –> 00:24:31,760
682
00:24:31,760 –> 00:24:34,159
میخواهیم در خط لوله خود انجام دهیم، نشان میدهد،
683
00:24:34,159 –> 00:24:35,279
بهویژه تنظیماتی که ما علاقهمند به
684
00:24:35,279 –> 00:24:37,360
تغییر آن هستیم، این تعداد همسایه در
685
00:24:37,360 –> 00:24:39,440
مهاجم این k همسایه است که
686
00:24:39,440 –> 00:24:41,360
اکنون شبکه را تنظیم میکنیم. نه d برای داشتن
687
00:24:41,360 –> 00:24:43,360
نام آن پارامتر و ساده ترین
688
00:24:43,360 –> 00:24:45,200
راه برای رسیدن به آنجا
689
00:24:45,200 –> 00:24:47,679
استفاده از روش پارامترهای دریافتی است که در
690
00:24:47,679 –> 00:24:49,600
هر تخمینگر scikit-learn
691
00:24:49,600 –> 00:24:53,679
از جمله این خط لوله وجود دارد
692
00:24:54,159 –> 00:24:56,080
و وقتی این را اجرا می کنید،
693
00:24:56,080 –> 00:24:59,039
تمام تنظیماتی را که می توانید مشاهده کنید.
694
00:24:59,039 –> 00:25:00,799
به طور خاص، متوجه خواهید شد
695
00:25:00,799 –> 00:25:02,400
که این
696
00:25:02,400 –> 00:25:04,640
تعداد
697
00:25:04,640 –> 00:25:06,799
ویژگی همسایگان در این
698
00:25:06,799 –> 00:25:07,919
مدل وجود دارد
699
00:25:07,919 –> 00:25:10,320
و مدل نامی که من در اینجا دارم
700
00:25:10,320 –> 00:25:12,000
با این نام این
701
00:25:12,000 –> 00:25:13,679
مرحله خط لوله در اینجا مطابقت دارد
702
00:25:13,679 –> 00:25:15,360
و تعداد همسایگانی که در
703
00:25:15,360 –> 00:25:17,600
اینجا دارم با تعداد همسایگان مطابقت دارد
704
00:25:17,600 –> 00:25:20,000
. همسایه هایی که
705
00:25:20,000 –> 00:25:23,600
در اینجا برای مقاصد و مقاصد ما پارامتری در این شی هستند،
706
00:25:23,600 –> 00:25:25,440
اگرچه
707
00:25:25,440 –> 00:25:27,200
تنها چیزی که باید بگیرم این است،
708
00:25:27,200 –> 00:25:29,200
اما بدانید که
709
00:25:29,200 –> 00:25:32,720
اگر می خواهید پارامترهای بیشتری را تغییر دهید
710
00:25:33,840 –> 00:25:35,279
و کاری که من می خواهم انجام دهم، می توانید موارد بیشتری را در اینجا بگیرید. آیا میخواهم
711
00:25:35,279 –> 00:25:37,039
بگویم سلام، میدانید
712
00:25:37,039 –> 00:25:39,200
اینها همه مقادیری هستند که میخواهم آنها
713
00:25:39,200 –> 00:25:42,240
را بررسی کنید
714
00:25:42,240 –> 00:25:43,760
و من واقعاً دوست دارم این جستجوی شبکهای
715
00:25:43,760 –> 00:25:46,320
نیز اعتبارسنجی متقاطع را انجام دهد، بنابراین بیایید
716
00:25:46,320 –> 00:25:49,600
پارامتر اعتبارسنجی متقاطع را روی سه تنظیم کنیم
717
00:25:49,600 –> 00:25:54,720
و نه این مدل من است،
718
00:25:55,120 –> 00:25:56,000
اوه
719
00:25:56,000 –> 00:25:58,400
، کاما را در آنجا فراموش کرده ام،
720
00:25:58,400 –> 00:26:00,480
تا آنجایی که جستجوی گریت پیش می رود، می
721
00:26:00,480 –> 00:26:02,559
خواهم اشاره کنم که کاری که ما در
722
00:26:02,559 –> 00:26:06,240
این یکی از اینجا انجام می دهیم، نسبتاً ابتدایی است
723
00:26:06,240 –> 00:26:08,880
، پیوندهایی را به مجموعه های ویدیویی دیگر می گذارم
724
00:26:08,880 –> 00:26:11,200
که در آنها بیشتر می رویم. در عمق، اما
725
00:26:11,200 –> 00:26:13,039
نکته اصلی که میخواهم به شما به عنوان یک
726
00:26:13,039 –> 00:26:15,440
نمای کلی از آنچه انجام میدهید به
727
00:26:15,440 –> 00:26:17,840
شما ارائه دهم وقتی یک جستجوی شبکهای مانند این
728
00:26:17,840 –> 00:26:18,640
چاه داشته
729
00:26:18,640 –> 00:26:21,000
باشید، به سادگی
730
00:26:21,000 –> 00:26:23,360
میخواهید مدل.fit xy را
731
00:26:23,360 –> 00:26:25,200
درست مانند هر برآوردگر دیگری که
732
00:26:25,200 –> 00:26:27,279
دیدهایم فراخوانی کنید. تا اینجا به جز در جستجوی شبکه،
733
00:26:27,279 –> 00:26:29,840
آنچه اتفاق خواهد افتاد این است که ما
734
00:26:29,840 –> 00:26:32,000
انواع تنظیمات و اعتبارسنجی متقابل
735
00:26:32,000 –> 00:26:34,000
را خواهیم داشت که از طرف ما انجام می شود، بنابراین
736
00:26:34,000 –> 00:26:36,240
نیازی نیست خودمان آن کد را بنویسیم،
737
00:26:36,240 –> 00:26:37,360
اما
738
00:26:37,360 –> 00:26:39,440
پس از آموزش، این
739
00:26:39,440 –> 00:26:42,080
ویژگی بسیار جالب در دسترس است. نتایج cv نامیده میشود
740
00:26:42,080 –> 00:26:43,279
741
00:26:43,279 –> 00:26:44,880
و توجه داشته باشید که این ویژگی با یک خط زیر به پایان میرسد
742
00:26:44,880 –> 00:26:46,720
743
00:26:46,720 –> 00:26:48,559
، جستجوی شبکهای آموزش میدهد
744
00:26:48,559 –> 00:26:51,600
و برای هر اعتبارسنجی متقاطع برای هر
745
00:26:51,600 –> 00:26:53,679
تنظیمات، چند عدد را پیگیری میکند
746
00:26:53,679 –> 00:26:55,360
747
00:26:55,360 –> 00:26:57,679
و کاری که میتوانم انجام دهم این است که فقط
748
00:26:57,679 –> 00:26:59,840
میتوانم آن فرهنگ لغت را بدهم که ما h به عنوان
749
00:26:59,840 –> 00:27:03,440
خروجی در قاب داده پانداها قرار دهید
750
00:27:03,440 –> 00:27:05,440
و در اینجا آنچه می
751
00:27:05,440 –> 00:27:07,840
بینید همه انواع آمار است،
752
00:27:07,840 –> 00:27:09,840
می بینید که چقدر طول کشیده است تا
753
00:27:09,840 –> 00:27:11,039
همه چیز
754
00:27:11,039 –> 00:27:12,559
و برای هر
755
00:27:12,559 –> 00:27:14,640
پارامتری که داریم
756
00:27:14,640 –> 00:27:16,640
و برای هر تقسیم اعتبار متقاطع
757
00:27:16,640 –> 00:27:17,840
که انجام داده
758
00:27:17,840 –> 00:27:19,120
ایم، ببینید
759
00:27:19,120 –> 00:27:22,799
که در یک امتیاز خاص چقدر خوب عمل کرده است
760
00:27:22,799 –> 00:27:24,799
و همچنین می توانیم ببینیم کدام نتیجه
761
00:27:24,799 –> 00:27:27,120
در این مقطع زمانی بهترین بوده است، به نظر می رسد
762
00:27:27,120 –> 00:27:29,039
ما متوجه شدیم که ممکن است بهترین
763
00:27:29,039 –> 00:27:30,720
تنظیم باشد و این جالب است و در
764
00:27:30,720 –> 00:27:32,559
این نقطه از زمان می توانیم کمی هزینه کنیم.
765
00:27:32,559 –> 00:27:33,840
کمی زمان برای
766
00:27:33,840 –> 00:27:36,480
تجزیه و تحلیل این مجموعه داده های تولید شده برای
767
00:27:36,480 –> 00:27:38,640
فهمیدن اینکه چرا این ممکن
768
00:27:38,640 –> 00:27:41,200
است نکته اصلی باشد که تا کنون می خواهم به آن اشاره کنم این
769
00:27:41,200 –> 00:27:44,240
است که تنها با
770
00:27:44,240 –> 00:27:47,600
مقدار بسیار کمی کد در اینجا
771
00:27:47,600 –> 00:27:51,120
ما یک خط لوله نسبتا بالغ داریم و
772
00:27:51,120 –> 00:27:53,279
همچنین یک مجموعه مناسبی از آجرهای لگو برای
773
00:27:53,279 –> 00:27:55,440
ساختن سیستمهای
774
00:27:55,440 –> 00:27:57,279
یادگیری ماشینی و اگر از آموزشهای اسکیت زیاد استفاده میکنید
775
00:27:57,279 –> 00:27:59,760
، این الگویی است که در
776
00:27:59,760 –> 00:28:03,200
نهایت به دنبال آن خواهید بود،
777
00:28:03,200 –> 00:28:04,960
ما یک خط لوله مناسب داریم که میتوانیم آن را
778
00:28:04,960 –> 00:28:07,200
پیش ببریم و به راحتی آن را تغییر دهیم.
779
00:28:07,200 –> 00:28:09,120
چه مراحلی را مشخص کنید در حال انجام است، مراحل نیز
780
00:28:09,120 –> 00:28:10,960
قابل تکرار هستند
781
00:28:10,960 –> 00:28:13,440
و تا آنجا که روششناسی پیش میرود، میتوانیم
782
00:28:13,440 –> 00:28:14,640
استدلال کنیم که ما چند
783
00:28:14,640 –> 00:28:16,000
کار را درست انجام میدهیم، زیرا از این
784
00:28:16,000 –> 00:28:19,360
شی جستجوی شبکهای در اینجا استفاده میکنیم،
785
00:28:19,360 –> 00:28:21,600
بنابراین سعی کنید هر زمان که از آن استفاده میکنید به این الگو بچسبید.
786
00:28:21,600 –> 00:28:24,000
scikit-learn سیستم
787
00:28:24,000 –> 00:28:26,000
تناسب پیشبینی میکند که scikit-learn پیشنهاد میدهد
788
00:28:26,000 –> 00:28:27,600
و روشی که به شما امکان میدهد
789
00:28:27,600 –> 00:28:31,840
خطوط لوله بسازید، نکته قابل قدردانی است
790
00:28:31,840 –> 00:28:34,880
که گفته شد، اگرچه میتوانیم از خود بپرسیم
791
00:28:34,880 –> 00:28:37,039
آیا اکنون مدلی پیدا کردهایم که میتواند به
792
00:28:37,039 –> 00:28:39,440
تولید برسد، اگر کارمان را انجام دادهایم.
793
00:28:39,440 –> 00:28:41,919
آیا ما اکنون دانشمندان داده مناسبی هستیم
794
00:28:41,919 –> 00:28:45,679
و پاسخ منفی است و من باید دلیل آن را برجسته کنم و به
795
00:28:45,679 –> 00:28:46,640
796
00:28:46,640 –> 00:28:48,320
همین دلیل است که
797
00:28:48,320 –> 00:28:50,480
بسیار مهم است که همه
798
00:28:50,480 –> 00:28:53,760
ویدیوهای این مجموعه را
799
00:28:54,399 –> 00:28:55,840
تا کنون تماشا کنید ما اکنون از
800
00:28:55,840 –> 00:28:58,480
api scikit-learn به درستی استفاده کرده ایم.
801
00:28:58,480 –> 00:29:00,960
من در اینجا از کلمه به درستی استفاده می کنم به
802
00:29:00,960 –> 00:29:03,200
این معنا که ما از
803
00:29:03,200 –> 00:29:05,120
بلوک های سازنده آن به روشی درست استفاده کرده ایم،
804
00:29:05,120 –> 00:29:06,720
روی خط لوله ای که در آن شما
805
00:29:06,720 –> 00:29:08,960
از جستجوی شبکه ای استفاده کرده اید با هم کلیک می کنیم و تا اینجا من
806
00:29:08,960 –> 00:29:11,440
استدلال می کنم که همه اینها چیزهای خوبی هستند.
807
00:29:11,440 –> 00:29:13,279
تا آنجا که رویکردی به یک پروژه علم داده است،
808
00:29:13,279 –> 00:29:15,279
اگرچه ما نمیتوانستیم آن را بدتر از این انجام دهیم
809
00:29:15,279 –> 00:29:17,360
و میخواهم به شما توضیح دهم که
810
00:29:17,360 –> 00:29:20,000
چرا از این مجموعه دادههای بارگذاری بوستون استفاده کردهایم
811
00:29:20,000 –> 00:29:22,480
اما در طول کل تجزیه و تحلیل
812
00:29:22,480 –> 00:29:24,480
ما هیچ زمانی را صرف نکردهایم. یا حتی
813
00:29:24,480 –> 00:29:26,640
زحمت نگاه کردن به آنچه در
814
00:29:26,640 –> 00:29:28,960
داخل این مجموعه داده وجود دارد، اکنون که من فقط
815
00:29:28,960 –> 00:29:31,760
بار boston را اجرا می کنم را به خود زحمت می دهم تا متوجه شوید که
816
00:29:31,760 –> 00:29:34,240
من یک دیکشنری دریافت می کنم یکی از چیزهایی که
817
00:29:34,240 –> 00:29:35,679
در داخل این فرهنگ لغت وجود دارد این
818
00:29:35,679 –> 00:29:38,240
برچسب توضیحات است و کاری که می توانم انجام دهم این است که
819
00:29:38,240 –> 00:29:39,840
می توانم دریافت کنم. توضیحی از همه
820
00:29:39,840 –> 00:29:42,880
متغیرهایی که اکنون در مجموعه دادهها هستند،
821
00:29:42,880 –> 00:29:45,120
اگر میخواهم خروجی خوبی داشته باشم،
822
00:29:45,120 –> 00:29:47,360
باید آنچه را که به من بازگردانده شده است را در اینجا چاپ کنم،
823
00:29:47,360 –> 00:29:49,200
بنابراین این کار را انجام میدهم
824
00:29:49,200 –> 00:29:51,200
و کاری که اکنون میتوانم انجام دهم این است که میتوانم
825
00:29:51,200 –> 00:29:52,880
کمی نگاه کنم. در مورد چیزی که ما در واقع
826
00:29:52,880 –> 00:29:55,520
با آن سر و کار داریم، بنابراین اول از همه می
827
00:29:55,520 –> 00:29:56,960
توانید تعجب کنید
828
00:29:56,960 –> 00:29:59,279
که 506
829
00:29:59,279 –> 00:30:01,440
خانه کافی است تا به مدل خود اطمینان زیادی به ما بدهد،
830
00:30:01,440 –> 00:30:03,279
831
00:30:03,279 –> 00:30:04,640
شاید نه،
832
00:30:04,640 –> 00:30:06,399
ما همچنین می توانیم این سوال را از خود
833
00:30:06,399 –> 00:30:09,120
بپرسیم که این داده ها مربوط به چه سالی است.
834
00:30:09,120 –> 00:30:10,799
که این داده ها واقعا قدیمی هستند
835
00:30:10,799 –> 00:30:12,799
و جهان به سمت من حرکت کرده است به نحوی که
836
00:30:12,799 –> 00:30:14,480
این مجموعه دادهها واقعاً
837
00:30:14,480 –> 00:30:16,080
آنچه را که در حال حاضر اتفاق میافتد نشان نمیدهد،
838
00:30:16,080 –> 00:30:18,640
این نیز یک نگرانی معتبر است،
839
00:30:18,640 –> 00:30:20,720
اما بدتر میشود،
840
00:30:20,720 –> 00:30:22,640
ما هرگز به خود زحمت ندادیم که ببینیم در
841
00:30:22,640 –> 00:30:24,559
واقع چه ویژگیهایی در مجموعه داده
842
00:30:24,559 –> 00:30:26,559
x وجود دارد که برای پیشبینی
843
00:30:26,559 –> 00:30:28,080
استفاده میکنیم. چیزهایی مانند جرم و جنایت در
844
00:30:28,080 –> 00:30:29,360
همسایگی
845
00:30:29,360 –> 00:30:31,600
داشته باشید، ما چیزهایی داریم مانند این
846
00:30:31,600 –> 00:30:34,240
که منطقه چقدر پرتلاش است، اما آن چیزی
847
00:30:34,240 –> 00:30:36,080
که من برای اولین بار به
848
00:30:36,080 –> 00:30:38,480
این موضوع نگاه کردم این بود که
849
00:30:38,480 –> 00:30:40,799
ظاهراً این مجموعه داده ای است که در آن
850
00:30:40,799 –> 00:30:43,039
نسبت سیاه پوستان در شهر شما است.
851
00:30:43,039 –> 00:30:44,960
چیزی که در حال حاضر برای
852
00:30:44,960 –> 00:30:46,559
پیشبینی قیمت خانه استفاده میشود
853
00:30:46,559 –> 00:30:48,559
، شما را نمیدانم، اما
854
00:30:48,559 –> 00:30:50,240
من واقعاً برای
855
00:30:50,240 –> 00:30:52,159
یافتن یک مورد استفاده برای این مجموعه دادهای که
856
00:30:52,159 –> 00:30:53,279
مناسب باشد، با
857
00:30:53,279 –> 00:30:56,240
نگاه کردن به این ویژگی، برای من واضح است که کار سختی دارم.
858
00:30:56,240 –> 00:30:58,399
ما پتانسیلی برای یک الگوریتم نژادپرستانه داریم
859
00:30:58,399 –> 00:31:00,720
و این خاصیتی است که من
860
00:31:00,720 –> 00:31:02,880
نمیخواهم اکنون در تولید
861
00:31:02,880 –> 00:31:04,480
داشته باشم،
862
00:31:04,480 –> 00:31:06,240
وقتی یک مدل یادگیری ماشینی را به
863
00:31:06,240 –> 00:31:08,640
کار میگیریم و روششناسی و این موارد را مورد بحث قرار میدهیم، چیزهای زیادی ممکن است اشتباه پیش برود.
864
00:31:08,640 –> 00:31:11,519
موضوعات خوبی هستند، خوب است در مورد آن
865
00:31:11,519 –> 00:31:13,919
نگران باشید، اما جستجوی شبکه ای به
866
00:31:13,919 –> 00:31:16,000
سادگی کافی نیست
867
00:31:16,000 –> 00:31:18,320
و چیزی که من را آزار می دهد این است که
868
00:31:18,320 –> 00:31:20,799
این مجموعه داده برای مدت طولانی
869
00:31:20,799 –> 00:31:23,039
در دوره های مختلف استفاده شده است بدون اینکه
870
00:31:23,039 –> 00:31:25,200
حتی به متغیرهایی
871
00:31:25,200 –> 00:31:28,080
که در اینجا هستند نگاهی بیندازید. مدلی که این
872
00:31:28,080 –> 00:31:31,120
ویژگی را در خود دارد فوقالعاده سادهلوحانه است
873
00:31:31,120 –> 00:31:33,039
و فکر میکنم بهعنوان یک حرفه واقعاً
874
00:31:33,039 –> 00:31:35,200
به ما کمک میکند اگر بهتر عمل
875
00:31:35,200 –> 00:31:37,679
کنیم، به همین دلیل است که scikit-learn اکنون
876
00:31:37,679 –> 00:31:40,880
تصمیم گرفته است که این مجموعه دادهها را حذف کند،
877
00:31:40,880 –> 00:31:43,919
پس از چند نسخه
878
00:31:43,919 –> 00:31:44,960
از بین میرود
879
00:31:44,960 –> 00:31:47,600
و این دلیل این بود که من مجبور شدم
880
00:31:47,600 –> 00:31:49,120
شماره نسخه scikit-learn را
881
00:31:49,120 –> 00:31:51,200
در ابتدا پین کنم، عمدتاً به این دلیل که
882
00:31:51,200 –> 00:31:53,519
مجموعه داده های بارگذاری بوستون در نسخه آینده
883
00:31:53,519 –> 00:31:56,000
دیگر در دسترس نخواهد بود،
884
00:31:56,000 –> 00:31:58,000
به یاد داشته باشید این نمودار را که در نیمه راه
885
00:31:58,000 –> 00:31:59,600
در این مجموعه ویدیو ساخته
886
00:31:59,600 –> 00:32:02,799
ایم، حاوی مقادیر پیش بینی شده ما است. در مقایسه
887
00:32:02,799 –> 00:32:04,480
با مقادیر واقعی ما
888
00:32:04,480 –> 00:32:06,159
و این نمودار به این دلیل ایجاد شد که
889
00:32:06,159 –> 00:32:07,840
ما از همان مجموعه دادهای استفاده میکردیم که روی آن
890
00:32:07,840 –> 00:32:10,640
آموزش داده بودیم
891
00:32:10,640 –> 00:32:12,880
و خطر اینجاست که نمودار
892
00:32:12,880 –> 00:32:15,440
نشان میدهد که مدل ما بهتر است. en
893
00:32:15,440 –> 00:32:17,760
اگرچه
894
00:32:17,760 –> 00:32:20,159
اگر ما کورکورانه به این مدل اعتماد میکردیم، این مدل عملاً اطلاعات فاش میکرد،
895
00:32:20,159 –> 00:32:22,399
پس خطر این بود که این
896
00:32:22,399 –> 00:32:24,159
مدل با
897
00:32:24,159 –> 00:32:26,960
انتظارات بسیار بالا به تولید میرسید و نتایج
898
00:32:26,960 –> 00:32:28,720
به وضوح
899
00:32:28,720 –> 00:32:30,399
تنها راه برای کشف این نوع چیزها عالی نبود
900
00:32:30,399 –> 00:32:33,039
. تمرین این است که شکاک بمانید، شما
901
00:32:33,039 –> 00:32:34,799
باید همیشه با خیال راحت مدل را ناراحت کنید
902
00:32:34,799 –> 00:32:36,960
و سعی کنید هر نقطه ضعفی را
903
00:32:36,960 –> 00:32:39,039
که می توانید تنها پس از یک
904
00:32:39,039 –> 00:32:41,440
دوره طولانی و تست های استرس زیاد آزمایش
905
00:32:41,440 –> 00:32:43,519
کنید، اجازه دارید کمی به مدل ایمان داشته باشید.
906
00:32:43,519 –> 00:32:45,360
که دارید
907
00:32:45,360 –> 00:32:46,640
و توجه داشته باشید که همان اتفاقی که
908
00:32:46,640 –> 00:32:48,720
در این نمودار افتاد برای ما نیز رخ داد،
909
00:32:48,720 –> 00:32:50,720
در حالی که ما در حال انجام جستجوی شبکه ای بودیم،
910
00:32:50,720 –> 00:32:53,519
جستجوی شبکه یک متدولوژی را معرفی کرد
911
00:32:53,519 –> 00:32:55,120
و ما مطمئناً
912
00:32:55,120 –> 00:32:57,039
نگرانی های آماری در مورد یک مدل داریم، اگر
913
00:32:57,039 –> 00:32:59,440
قدرت پیش بینی ضعیفی داشته باشد.
914
00:32:59,440 –> 00:33:01,600
در عمل چندان مفید نخواهد بود، اما
915
00:33:01,600 –> 00:33:03,440
شاید باید در اینجا ذکر کنیم که
916
00:33:03,440 –> 00:33:06,559
در انجام این جستجوی شبکه ای خطری وجود دارد
917
00:33:06,559 –> 00:33:08,080
که ممکن است به شما این تصور را بدهد
918
00:33:08,080 –> 00:33:09,760
که در حال انجام این کار هستید. درست است
919
00:33:09,760 –> 00:33:12,399
بعد از اینکه همه اعداد بالا رفت و شما ممکن
920
00:33:12,399 –> 00:33:14,159
است نسبت به کیفیت مدل خود خوش بین شوید
921
00:33:14,159 –> 00:33:16,960
و دقیقا همین خوش بینی است
922
00:33:16,960 –> 00:33:18,480
که ممکن است باعث ایجاد یک
923
00:33:18,480 –> 00:33:19,840
نقطه کور در
924
00:33:19,840 –> 00:33:21,360
شما شود، این زمانی است که در طی آن
925
00:33:21,360 –> 00:33:23,440
این نمودارهای خوش بینانه را می سازید و همچنین زمانی که
926
00:33:23,440 –> 00:33:24,880
می بینید اعداد در جستجوی شبکه شما بالا می روند
927
00:33:24,880 –> 00:33:26,880
که فراموش می کنید به
928
00:33:26,880 –> 00:33:29,279
چیزهایی فکر کنید مانند هی در واقع چه چیزی در
929
00:33:29,279 –> 00:33:30,159
داده
930
00:33:30,159 –> 00:33:32,080
های من وجود دارد و امیدوارم بارگذاری مجموعه داده های بوستون همانطور
931
00:33:32,080 –> 00:33:33,840
که در ویدیوی قبلی دیدیم
932
00:33:33,840 –> 00:33:35,840
روشن کند که نمی توانید
933
00:33:35,840 –> 00:33:38,320
کورکورانه هیچ داده ای را در آن قرار دهید. مدلی که
934
00:33:38,320 –> 00:33:39,679
در واقع باید کمی تلاش کنید و
935
00:33:39,679 –> 00:33:42,480
سعی کنید بفهمید چه چیزهایی در دست دارید
936
00:33:42,480 –> 00:33:44,640
، موارد زیادی وجود دارد که ممکن
937
00:33:44,640 –> 00:33:46,159
است در استفاده از مدلهای یادگیری ماشین اشتباه شده باشد
938
00:33:46,159 –> 00:33:48,080
و من استدلال
939
00:33:48,080 –> 00:33:50,320
940
00:33:50,320 –> 00:33:51,919
میکنم که این مسئولیت شماست که خودتان را آموزش دهید تا مطمئن شوید.
941
00:33:51,919 –> 00:33:54,000
942
00:33:54,000 –> 00:33:55,679
اگر خروجی یک مدل یادگیری ماشینی
943
00:33:55,679 –> 00:33:56,799
944
00:33:56,799 –> 00:33:59,440
مسئولیت شما باشد، برای شما اتفاق نمی افتد، بنابراین
945
00:33:59,440 –> 00:34:01,679
داده ها نیز وارد می
946
00:34:01,679 –> 00:34:03,600
شوند، بنابراین لطفاً از scikit-learn و
947
00:34:03,600 –> 00:34:06,080
ویژگی شگفت انگیز آجر لگو استفاده کنید. اما
948
00:34:06,080 –> 00:34:08,000
همچنین درک کنید که بنابراین میتوانم یاد بگیرم
949
00:34:08,000 –> 00:34:09,918
معمولاً بخش آسان
950
00:34:09,918 –> 00:34:11,760
حرفه است و قسمت سخت
951
00:34:11,760 –> 00:34:14,079
درک داستان پشت مجموعه دادهها
952
00:34:14,079 –> 00:34:16,320
و درک
953
00:34:16,320 –> 00:34:18,000
اینکه وقتی یک مدل را وارد تولید میکنید چه چیزی ممکن است اشتباه پیش برود
954
00:34:18,000 –> 00:34:19,760
و به این معنی است که خوب خواهد بود.
955
00:34:19,760 –> 00:34:21,918
برای اطمینان از به روز
956
00:34:21,918 –> 00:34:24,480
بودن موضوعات اخلاقی در
957
00:34:24,480 –> 00:34:27,119
طراحی الگوریتمی، همچنین موضوعاتی مانند
958
00:34:27,119 –> 00:34:29,280
مکانیسم های بازخورد و در نظر گرفتن سناریوهای بازگشتی
959
00:34:29,280 –> 00:34:31,119
برای زمانی که همه چیز در تولید اشتباه پیش می رود
960
00:34:31,119 –> 00:34:34,119
961
00:34:37,280 –> 00:34:39,119
که بخش یادگیری
962
00:34:39,119 –> 00:34:40,560
روانی این ویدیو را به پایان می رساند،
963
00:34:40,560 –> 00:34:42,320
این زمان خوبی خواهد بود. برای
964
00:34:42,320 –> 00:34:44,480
خوردن نوشیدنی یا استراحت سریع و در
965
00:34:44,480 –> 00:34:46,159
بخش بعدی در مورد
966
00:34:46,159 –> 00:34:48,320
ابزارهای پیش پردازش در داخل
967
00:34:48,320 –> 00:34:51,040
scikit-learn صحبت خواهیم کرد
968
00:34:51,119 –> 00:34:53,040
که معمولاً در scikit-learn
969
00:34:53,040 –> 00:34:55,359
شما برچسب های خود را خواهید داشت و
970
00:34:55,359 –> 00:34:56,800
داده های خود را که می خواهید خواهید داشت. برای
971
00:34:56,800 –> 00:34:57,839
پیشبینی استفاده کنید
972
00:34:57,839 –> 00:34:59,760
و سپس هر دوی اینها در نهایت به
973
00:34:59,760 –> 00:35:01,440
974
00:35:01,440 –> 00:35:03,839
یک مدل منتقل میشوند
975
00:35:04,079 –> 00:35:05,599
و سپس چیزی خواهید داشت که
976
00:35:05,599 –> 00:35:08,560
میتواند پیشبینی کند،
977
00:35:08,560 –> 00:35:10,640
اما ایده چیستی یک مدل را میتوان
978
00:35:10,640 –> 00:35:12,320
در اینجا بسط داد،
979
00:35:12,320 –> 00:35:13,200
زیرا
980
00:35:13,200 –> 00:35:15,520
من اگر در مورد آنچه اغلب اتفاق می افتد فکر
981
00:35:15,520 –> 00:35:17,599
می کنید، ایده بسیار خوبی
982
00:35:17,599 –> 00:35:20,960
است که ابتدا داده های خود را که
983
00:35:20,960 –> 00:35:23,040
برای پیش بینی استفاده می کنید تغییر دهید
984
00:35:23,040 –> 00:35:24,720
و دلیل انجام آن این است که
985
00:35:24,720 –> 00:35:26,400
عملکرد مدل
986
00:35:26,400 –> 00:35:30,359
با انجام این کار کمی بهتر می شود،
987
00:35:30,400 –> 00:35:32,000
پس فکر کردم شاید ایده خوبی باشد این
988
00:35:32,000 –> 00:35:34,560
بود که چند ویدیو را برای توضیح برخی
989
00:35:34,560 –> 00:35:36,400
از ترانسفورماتورهای پرتکرار که
990
00:35:36,400 –> 00:35:38,960
مردم تمایل به استفاده از آنها دارند اختصاص دهید و همچنین نشان داد
991
00:35:38,960 –> 00:35:40,720
که مهم است که این ترانسفورماتورها را فراموش نکنید
992
00:35:40,720 –> 00:35:42,320
زیرا آنها
993
00:35:42,320 –> 00:35:44,800
واقعاً در خط لوله شما مهم هستند، بنابراین من
994
00:35:44,800 –> 00:35:46,560
اینجا چه کار کرده ام. آیا من نوت بوک را راه اندازی
995
00:35:46,560 –> 00:35:49,839
کرده ام، پانداهای numpy
996
00:35:49,839 –> 00:35:51,440
و black.lib را وارد کرده ام و این مجموعه داده به نام drawdata1 را وارد کرده ام
997
00:35:51,440 –> 00:35:53,040
998
00:35:53,040 –> 00:35:55,839
و این یک فایل csv است که دارای یک ستون x یک
999
00:35:55,839 –> 00:35:59,280
ستون y و یک ستون z
1000
00:35:59,280 –> 00:36:02,640
و z دارای دو مقدار a و است. b
1001
00:36:02,640 –> 00:36:05,040
و ایده این است که اینها فقط برخی از
1002
00:36:05,040 –> 00:36:06,480
اعداد عددی هستند و ما سعی می کنیم
1003
00:36:06,480 –> 00:36:09,760
این یک ستون را در اینجا پیش بینی کنیم
1004
00:36:09,760 –> 00:36:11,839
و با استفاده از map.lib می توانیم نشان دهیم که
1005
00:36:11,839 –> 00:36:14,560
مجموعه داده چگونه به نظر می رسد،
1006
00:36:14,560 –> 00:36:16,400
بنابراین گروهی از نقاط داده را در
1007
00:36:16,400 –> 00:36:17,760
اینجا داریم
1008
00:36:17,760 –> 00:36:19,359
و گروه دیگری o دادههای f به اینجا اشاره میکنند
1009
00:36:19,359 –> 00:36:21,680
1010
00:36:21,680 –> 00:36:23,520
و باید توجه کنیم که به
1011
00:36:23,520 –> 00:36:25,839
نظر میرسد گروه کوچکی از نقاط پرت در
1012
00:36:25,839 –> 00:36:27,440
اینجا و همچنین گروه کوچکی از
1013
00:36:27,440 –> 00:36:29,599
نقاط پرت در اینجا وجود دارد،
1014
00:36:29,599 –> 00:36:31,680
اما نکته دیگری که باید از آن
1015
00:36:31,680 –> 00:36:35,520
آگاه باشید این است که محور y در اینجا است.
1016
00:36:35,520 –> 00:36:37,839
در مقیاسی کاملاً متفاوت
1017
00:36:37,839 –> 00:36:41,040
مانند محور x در اینجا
1018
00:36:41,040 –> 00:36:42,960
و این می تواند چیزی باشد که
1019
00:36:42,960 –> 00:36:45,520
آزاردهنده باشد، تأثیری که این محورها
1020
00:36:45,520 –> 00:36:47,520
خواهند داشت به الگوریتم شما بستگی دارد، اما
1021
00:36:47,520 –> 00:36:49,440
به طور کلی می توانید تصور کنید که
1022
00:36:49,440 –> 00:36:50,960
الگوریتم ها برای این نوع چیزها حساس هستند،
1023
00:36:50,960 –> 00:36:52,079
1024
00:36:52,079 –> 00:36:52,800
بنابراین
1025
00:36:52,800 –> 00:36:54,800
بخش بزرگی از پیشپردازش شما در
1026
00:36:54,800 –> 00:36:56,240
این
1027
00:36:56,240 –> 00:36:57,920
مورد حول
1028
00:36:57,920 –> 00:36:59,359
مقیاسبندی میچرخد،
1029
00:36:59,359 –> 00:37:01,760
ما میخواهیم این دادهها را به گونهای تغییر دهیم
1030
00:37:01,760 –> 00:37:03,599
که هنوز اطلاعاتی در آن وجود داشته باشد،
1031
00:37:03,599 –> 00:37:05,760
اما فقط از نظر عددی کمی پایدارتر است
1032
00:37:05,760 –> 00:37:07,839
زیرا محورهای x و y فقط
1033
00:37:07,839 –> 00:37:10,320
کمی بیشتر در راستای هر یک هستند.
1034
00:37:10,320 –> 00:37:11,599
و همانطور که ممکن است
1035
00:37:11,599 –> 00:37:14,880
از نام آن حدس بزنید، یک روش استاندارد برای انجام این کار
1036
00:37:14,880 –> 00:37:17,440
استفاده از اسکالر استاندارد از
1037
00:37:17,440 –> 00:37:19,760
scikit-learn است و کاری که انجام می دهد
1038
00:37:19,760 –> 00:37:23,359
این است که برای هر ستون،
1039
00:37:23,359 –> 00:37:26,000
میانگین و همچنین t را محاسبه می کند. او این ایده را
1040
00:37:26,000 –> 00:37:27,760
در اینجا واریانس می کند که اگر شما یک نقطه داده
1041
00:37:27,760 –> 00:37:30,560
x داشته باشید و میانگین x را از آن کم کنید
1042
00:37:30,560 –> 00:37:32,560
و سپس آن را بر
1043
00:37:32,560 –> 00:37:34,079
جذر واریانس به
1044
00:37:34,079 –> 00:37:35,440
خوبی تقسیم کنید، چیزی خواهید داشت
1045
00:37:35,440 –> 00:37:37,760
که حول صفر می چرخد.
1046
00:37:37,760 –> 00:37:40,480
همچنین یک واریانس وجود دارد که در حد باقی مانده است،
1047
00:37:40,480 –> 00:37:41,839
بنابراین کاری که من اکنون انجام خواهم داد این است که من فقط
1048
00:37:41,839 –> 00:37:43,599
از اسکالر استاندارد برای
1049
00:37:43,599 –> 00:37:47,280
تغییر مقیاس مجموعه داده استفاده می کنم که در اینجا مشاهده می کنید
1050
00:37:47,839 –> 00:37:49,680
تا از یک اسکالر استاندارد استفاده کنیم، ابتدا باید
1051
00:37:49,680 –> 00:37:52,320
آن را وارد کنیم
1052
00:37:52,320 –> 00:37:54,320
و سپس آنچه را که می خواهیم باید انجام دهیم این است که
1053
00:37:54,320 –> 00:37:57,200
باید یک شی اسکالر ایجاد کنیم، اما از اینجا
1054
00:37:57,200 –> 00:38:00,240
باید بتوانیم fit transform را فراخوانی کنیم
1055
00:38:00,240 –> 00:38:02,880
و مجموعه داده های خود را x به آن بدهیم
1056
00:38:02,880 –> 00:38:04,880
و این
1057
00:38:04,880 –> 00:38:07,760
مجموعه داده های تبدیل شده جدید ما خواهد بود و کاری که
1058
00:38:07,760 –> 00:38:09,760
من انجام می دهم این است که i فقط
1059
00:38:09,760 –> 00:38:12,240
این کد طرح را در اینجا کپی می کنم و
1060
00:38:12,240 –> 00:38:14,720
آن را اینجا می گذارم به
1061
00:38:14,720 –> 00:38:17,920
این ترتیب می توانم
1062
00:38:17,920 –> 00:38:20,720
مقادیر جدید x را به آن اضافه کنم
1063
00:38:21,760 –> 00:38:23,839
و می توانیم ببینیم که چگونه به نظر می رسد، بنابراین یک
1064
00:38:23,839 –> 00:38:25,760
چیزی که در این مرحله باید توجه داشته باشید این است
1065
00:38:25,760 –> 00:38:29,440
که این محورها از نظر عددی بسیار زیاد هستند.
1066
00:38:29,440 –> 00:38:33,160
شبیه تر
1067
00:38:33,359 –> 00:38:35,680
است اما دقیقاً کامل نیست اگرچه
1068
00:38:35,680 –> 00:38:38,800
به نظر می رسد که این اسپرد تقریباً 8
1069
00:38:38,800 –> 00:38:41,280
واحد است
1070
00:38:42,000 –> 00:38:44,240
در حالی که اسپرد در
1071
00:38:44,240 –> 00:38:47,920
اینجا بیشتر از سه و نیم است
1072
00:38:47,920 –> 00:38:49,680
و همچنین میتوانیم مشاهده کنیم که
1073
00:38:49,680 –> 00:38:51,280
واقعاً هیچ اتفاقی با این
1074
00:38:51,280 –> 00:38:54,000
پرتها نمیافتد،
1075
00:38:55,520 –> 00:38:57,040
بنابراین مقیاسکننده استاندارد کارهایی را انجام میدهد که
1076
00:38:57,040 –> 00:38:59,520
ما دوست داریم، اما شما را متعجب میکند که
1077
00:38:59,520 –> 00:39:03,119
آیا راه دیگری وجود دارد. از مقیاسبندی این
1078
00:39:03,119 –> 00:39:05,280
برای نشان دادن بیشتر
1079
00:39:05,280 –> 00:39:07,200
ضعف مقیاسکننده استاندارد،
1080
00:39:07,200 –> 00:39:08,960
من تصور کردم که مجموعه دادهای ایجاد
1081
00:39:08,960 –> 00:39:10,400
میکنم تا نکته را کمی
1082
00:39:10,400 –> 00:39:12,560
ملموستر نشان دهم، بنابراین آنچه من در اینجا به دست آوردهام فقط
1083
00:39:12,560 –> 00:39:14,880
برخی از دادههایی است که دارای چند نقطه پرت هستند.
1084
00:39:14,880 –> 00:39:16,000
از یک طرف
1085
00:39:16,000 –> 00:39:18,400
و کاری که اکنون میخواهم انجام دهم
1086
00:39:18,400 –> 00:39:20,160
این است که بگویم خوب بیایید آن
1087
00:39:20,160 –> 00:39:21,520
مجموعه داده را
1088
00:39:21,520 –> 00:39:23,520
بگیریم، بگذارید میانگین
1089
00:39:23,520 –> 00:39:26,079
مجموعه داده را
1090
00:39:26,960 –> 00:39:28,560
از آن کم کنیم و سپس
1091
00:39:28,560 –> 00:39:32,560
بر انحراف استاندارد تقسیم کنیم
1092
00:39:33,599 –> 00:39:35,440
و هر زمان که این را اجرا کردم
1093
00:39:35,440 –> 00:39:37,200
دادههای کمی متفاوت است، زیرا من دادهها را شبیهسازی
1094
00:39:37,200 –> 00:39:38,160
1095
00:39:38,160 –> 00:39:40,960
1096
00:39:40,960 –> 00:39:44,320
میکنم، اما وقتی این را بارها و بارها اجرا میکنم، باید به چند چیز توجه کنید
1097
00:39:44,320 –> 00:39:47,280
و بله، برای شروع، قطعاً
1098
00:39:47,280 –> 00:39:49,920
اعدادی که ما در اینجا در محور x
1099
00:39:49,920 –> 00:39:51,440
داریم، قطعاً
1100
00:39:51,440 –> 00:39:53,119
مقیاسبندی شدهاند،
1101
00:39:53,119 –> 00:39:55,200
بنابراین میتوانید به آنها اشاره کنید. خوب این چیز خوبی است
1102
00:39:55,200 –> 00:39:57,119
اما نقطه ضعف ما این است که ما هنوز هم
1103
00:39:57,119 –> 00:39:59,280
مقادیر پرت داریم
1104
00:39:59,280 –> 00:40:00,560
و بسته به الگوریتمی که
1105
00:40:00,560 –> 00:40:03,280
از پرت استفاده میکنید زندگی را
1106
00:40:03,280 –> 00:40:05,200
برای شما کمی سختتر میکند،
1107
00:40:05,200 –> 00:40:07,119
بنابراین
1108
00:40:07,119 –> 00:40:09,119
بیایید بهعنوان مفهومی روشی متفاوت برای عادیسازی
1109
00:40:09,119 –> 00:40:10,560
جایی که این نقاط پرت هستند ارائه کنیم.
1110
00:40:10,560 –> 00:40:13,280
مشکل کمی کمتر است،
1111
00:40:13,280 –> 00:40:15,280
بنابراین بیایید بگوییم که این مجموعه داده اصلی من است
1112
00:40:15,280 –> 00:40:16,880
،
1113
00:40:16,880 –> 00:40:18,640
اکنون کاری که میتوانم انجام دهم این است که میتوانم
1114
00:40:18,640 –> 00:40:20,800
مقدار میانگین را محاسبه کنم که احتمالاً
1115
00:40:20,800 –> 00:40:22,000
در اینجا وجود دارد
1116
00:40:22,000 –> 00:40:23,200
و سپس میتوانم بگویم اوه، بیایید آن را
1117
00:40:23,200 –> 00:40:24,960
استاندارد کنیم،
1118
00:40:24,960 –> 00:40:26,640
اما بیایید مقدار دیگری را محاسبه کنیم. در
1119
00:40:26,640 –> 00:40:28,560
عوض، بیایید فعلاً میانگین را نادیده بگیریم،
1120
00:40:28,560 –> 00:40:29,760
در
1121
00:40:29,760 –> 00:40:31,200
عوض، کاری که میتوانم انجام دهم این است که میتوانم
1122
00:40:31,200 –> 00:40:32,960
چندکهایی را محاسبه
1123
00:40:32,960 –> 00:40:34,640
کنم که میتوانم تصور کنم، مثلاً
1124
00:40:34,640 –> 00:40:37,440
چندک 50 درصد در اینجا به پایان رسیده است و
1125
00:40:37,440 –> 00:40:39,119
این بدان معناست که 50
1126
00:40:39,119 –> 00:40:41,760
از کل دادهها در این طرف
1127
00:40:41,760 –> 00:40:44,640
خط است و 50 تا از داده ها در آن
1128
00:40:44,640 –> 00:40:46,240
سمت خط است،
1129
00:40:46,240 –> 00:40:49,359
من می توانم تصور کنم که شاید 25
1130
00:40:49,359 –> 00:40:51,280
ام در اینجا تمام شده باشد
1131
00:40:51,280 –> 00:40:53,839
و این بدان معنی است که 25 از کل داده
1132
00:40:53,839 –> 00:40:56,800
ها در سمت چپ و 75 در
1133
00:40:56,800 –> 00:40:57,920
سمت راست قرار دارند.
1134
00:40:57,920 –> 00:41:01,119
و من فکر می کنم که 75مین چندک
1135
00:41:01,119 –> 00:41:02,880
جایی در اینجا خواهد بود
1136
00:41:02,880 –> 00:41:04,800
و بیایید بگوییم 99 که ممکن است
1137
00:41:04,800 –> 00:41:07,040
در اینجا باشد، این چیزی است که ما
1138
00:41:07,040 –> 00:41:09,599
می توانیم جلوتر برویم و محاسبه کنیم
1139
00:41:09,599 –> 00:41:11,599
و اگر الان فکر کنم چگونه می
1140
00:41:11,599 –> 00:41:13,520
توانم آن را روی چیزی که به
1141
00:41:13,520 –> 00:41:16,079
خوبی نرمال سازی شده است پیش بینی کنم. من میتوانم یک
1142
00:41:16,079 –> 00:41:17,680
خط عددی در پایین داشته
1143
00:41:17,680 –> 00:41:19,040
1144
00:41:19,040 –> 00:41:21,440
باشم و عدد 50 را در نیمه راه داشته باشم، عدد 100 تا انتها
1145
00:41:21,440 –> 00:41:23,119
به سمت راست
1146
00:41:23,119 –> 00:41:25,040
خواهد بود، عدد صفر اینجا خواهد بود،
1147
00:41:25,040 –> 00:41:27,680
من اینجا 25 و اینجا 75
1148
00:41:27,680 –> 00:41:28,880
1149
00:41:28,880 –> 00:41:30,560
خواهم داشت و امیدوارم بتوانید ببینید که در
1150
00:41:30,560 –> 00:41:34,040
اینجا یک نقشه برداری وجود دارد
1151
00:41:37,599 –> 00:41:39,920
و وقتی آن را به این صورت مقیاس می کنم متوجه می شوم
1152
00:41:39,920 –> 00:41:43,200
که در این نمایش مقیاس
1153
00:41:43,200 –> 00:41:45,760
شده، فاصله از نقطه پرت تا
1154
00:41:45,760 –> 00:41:50,560
75مین چندک بسیار کوچکتر است
1155
00:41:51,040 –> 00:41:54,079
و این بدان معناست که با استفاده از چندک ها در
1156
00:41:54,079 –> 00:41:55,839
مقابل میانگین ها و انحرافات استاندارد،
1157
00:41:55,839 –> 00:41:57,280
1158
00:41:57,280 –> 00:41:59,920
ممکن است بتوانیم برای دریافت یک
1159
00:41:59,920 –> 00:42:02,560
مرحله پیش پردازش قوی تر، اگر موارد پرت در اینجا وجود دارد،
1160
00:42:02,560 –> 00:42:04,079
1161
00:42:04,079 –> 00:42:05,839
بنابراین بیایید از این ایده به عنوان
1162
00:42:05,839 –> 00:42:07,839
مرحله پیش پردازش استفاده کنیم و ببینیم چه
1163
00:42:07,839 –> 00:42:11,040
تأثیری بر مجموعه داده های ما دارد،
1164
00:42:11,040 –> 00:42:13,680
بنابراین از پیش پردازش scikit-learn
1165
00:42:13,680 –> 00:42:16,720
اکنون می توانم آن را وارد کنم. ترانسفورماتور چندک
1166
00:42:16,720 –> 00:42:18,240
و کاری که میخواهم انجام دهم این است که
1167
00:42:18,240 –> 00:42:20,640
مقیاسکننده استاندارد را
1168
00:42:20,640 –> 00:42:23,440
با آن ترانسفورماتور چندک جایگزین میکنم،
1169
00:42:23,440 –> 00:42:25,119
اما قبل از اجرای این،
1170
00:42:25,119 –> 00:42:26,960
به
1171
00:42:26,960 –> 00:42:28,560
محورها
1172
00:42:28,560 –> 00:42:30,000
توجه کنید که اعداد حداقل و
1173
00:42:30,000 –> 00:42:31,200
حداکثر هستند
1174
00:42:31,200 –> 00:42:32,960
و همچنین به
1175
00:42:32,960 –> 00:42:35,760
این خوشههای پرت توجه کنید.
1176
00:42:35,760 –> 00:42:37,520
اکنون میخواهم این را اجرا کنم و اثر آن را نشان دهم،
1177
00:42:37,520 –> 00:42:39,440
1178
00:42:39,440 –> 00:42:41,760
اکنون یک هشدار وجود دارد که معمولاً
1179
00:42:41,760 –> 00:42:43,680
scikit-learn دوست دارد هزار کمیت را محاسبه کند
1180
00:42:43,680 –> 00:42:45,760
1181
00:42:45,760 –> 00:42:47,440
و مجموعه دادهای که به آن دادهایم
1182
00:42:47,440 –> 00:42:50,079
داده کافی برای آن ندارد، بنابراین آنچه را که من میخواهم انجام دهم.
1183
00:42:50,079 –> 00:42:51,839
ادامه دهید و انجام دهید
1184
00:42:51,839 –> 00:42:55,680
این است که تعداد چندک ها
1185
00:42:55,680 –> 00:42:56,839
را به
1186
00:42:56,839 –> 00:42:58,480
صد تبدیل کنید
1187
00:42:58,480 –> 00:43:00,240
اما توجه کنید
1188
00:43:00,240 –> 00:43:03,119
که حداقل و حداکثر
1189
00:43:03,119 –> 00:43:06,480
در هر دو محور دقیقاً برابر با صفر
1190
00:43:06,480 –> 00:43:08,000
و یک هستند
1191
00:43:08,000 –> 00:43:09,359
و همچنین ممکن است تشخیص دهید که
1192
00:43:09,359 –> 00:43:11,599
خوشه هایی که قبلاً دیدیم هنوز
1193
00:43:11,599 –> 00:43:13,200
در داده ها هستند. فقط آنها
1194
00:43:13,200 –> 00:43:15,440
تأثیر عمیق کمتری دارند
1195
00:43:15,440 –> 00:43:17,680
و دلیل آن این است که اکنون
1196
00:43:17,680 –> 00:43:20,160
ما از چندک ها برای تبدیل و
1197
00:43:20,160 –> 00:43:22,240
مقیاس بندی استفاده می کنیم، برخلاف استفاده از میانگین و
1198
00:43:22,240 –> 00:43:24,480
انحراف معیار
1199
00:43:24,480 –> 00:43:26,880
در ویدیوی قبلی که نشان دادیم که
1200
00:43:26,880 –> 00:43:29,359
وقتی yo شما ماتریس x خود را می گیرید و
1201
00:43:29,359 –> 00:43:30,400
آن را از طریق
1202
00:43:30,400 –> 00:43:32,000
یک ترانسفورماتور عبور می دهید،
1203
00:43:32,000 –> 00:43:34,319
ترانسفورماتور چندکی که می توانید
1204
00:43:34,319 –> 00:43:36,720
خروجی بسیار متفاوتی دریافت کنید
1205
00:43:36,720 –> 00:43:38,400
و چیزی که من می خواهم در این ویدیو نشان
1206
00:43:38,400 –> 00:43:39,359
1207
00:43:39,359 –> 00:43:41,119
دهم این است که وقتی آن خروجی را می گیرید و
1208
00:43:41,119 –> 00:43:44,160
سپس آن را به مدلی منتقل می کنید
1209
00:43:44,160 –> 00:43:45,839
که پیشبینیها نیز
1210
00:43:45,839 –> 00:43:46,720
1211
00:43:46,720 –> 00:43:49,520
بسیار متفاوت خواهند بود،
1212
00:43:50,480 –> 00:43:53,359
بنابراین کاری که من انجام دادهام این است که این
1213
00:43:53,359 –> 00:43:55,760
تابع خروجی نمودار را ساختهام
1214
00:43:55,760 –> 00:43:57,680
و عملکردی که انجام میدهد به شما
1215
00:43:57,680 –> 00:44:00,800
اجازه میدهد از یک ترانسفورماتور عبور کنید
1216
00:44:00,800 –> 00:44:02,720
و سپس این تابع همه اینها را اجرا
1217
00:44:02,720 –> 00:44:05,119
میکند و یک مدل k آموزش میدهد.
1218
00:44:05,119 –> 00:44:06,720
مدل نزدیکترین همسایه
1219
00:44:06,720 –> 00:44:08,160
و سپس برخی از پیشبینیها را نیز تولید میکند
1220
00:44:08,160 –> 00:44:09,520
1221
00:44:09,520 –> 00:44:11,680
و من فقط میخواهم به شما نشان دهم که
1222
00:44:11,680 –> 00:44:13,599
این ترانسفورماتور چه تأثیر عمیقی
1223
00:44:13,599 –> 00:44:17,599
میتواند در خط لوله پیشبینی ایجاد کند،
1224
00:44:18,640 –> 00:44:20,319
بنابراین ابتدا آن را با یک مقیاسکننده استاندارد اجرا میکنم
1225
00:44:20,319 –> 00:44:22,240
1226
00:44:22,240 –> 00:44:24,560
و آنچه را میتوانید در اینجا ببینید.
1227
00:44:24,560 –> 00:44:27,599
داده اصلی است که ما با آن شروع می کنیم و
1228
00:44:27,599 –> 00:44:30,480
سپس داده های تبدیل شده را
1229
00:44:30,480 –> 00:44:32,319
می بینیم و سپس داده های پیش بینی شده را می بینیم
1230
00:44:32,319 –> 00:44:35,040
که این نمودار نهایی در اینجا است
1231
00:44:35,040 –> 00:44:37,520
و آنچه می توانید ببینید این است که
1232
00:44:37,520 –> 00:44:40,640
همه چیز در اطراف این ناحیه o نسخه در اینجا
1233
00:44:40,640 –> 00:44:42,880
به عنوان کلاس زرد پیشبینی میشود
1234
00:44:42,880 –> 00:44:43,599
و
1235
00:44:43,599 –> 00:44:45,119
تقریباً همه چیز دیگر
1236
00:44:45,119 –> 00:44:48,319
بهعنوان کلاس بنفش پیشبینی میشود،
1237
00:44:48,319 –> 00:44:50,560
بیایید اکنون آن را با ترانسفورماتور چندک مقایسه کنیم،
1238
00:44:50,560 –> 00:44:53,200
1239
00:44:54,720 –> 00:44:57,520
زیرا دادههای تبدیل بسیار کمتر
1240
00:44:57,520 –> 00:45:00,079
تحت تأثیر نقاط پرت قرار میگیرند
1241
00:45:00,079 –> 00:45:02,000
که متوجه خواهید شد که مدل به آن محدود است.
1242
00:45:02,000 –> 00:45:04,079
فکر کنید که فقط این
1243
00:45:04,079 –> 00:45:06,000
خط جدایی بین دو کلاس وجود دارد و به این
1244
00:45:06,000 –> 00:45:08,480
ترتیب همه چیز را طبقه بندی می کنیم
1245
00:45:08,480 –> 00:45:10,160
و اگر بخواهم نمودار داده های پیش بینی شده را با هم مقایسه
1246
00:45:10,160 –> 00:45:12,079
کنم، واقعاً تفاوت زیادی خواهید دید
1247
00:45:12,079 –> 00:45:14,560
1248
00:45:15,040 –> 00:45:16,640
و در این مورد خاص ممکن است
1249
00:45:16,640 –> 00:45:19,839
تا حد عددی بحث کنم.
1250
00:45:19,839 –> 00:45:21,839
پایداری ترانسفورماتور چندک
1251
00:45:21,839 –> 00:45:23,440
مزایایی دارد،
1252
00:45:23,440 –> 00:45:24,960
اما هنوز هم ایده خوبی است که
1253
00:45:24,960 –> 00:45:26,880
این موضوع را با جستجوی شبکه تأیید کنید، اما
1254
00:45:26,880 –> 00:45:28,480
امیدوارم بتوانید تصور کنید که
1255
00:45:28,480 –> 00:45:30,319
ترانسفورماتور چندک، حتی با
1256
00:45:30,319 –> 00:45:33,119
جستجوی شبکه،
1257
00:45:33,119 –> 00:45:35,839
در دراز مدت پایدارتر خواهد بود.
1258
00:45:36,319 –> 00:45:37,599
از آنجایی که این
1259
00:45:37,599 –> 00:45:40,240
گروههای پرت
1260
00:45:40,240 –> 00:45:43,520
دیگر تأثیر چندانی نخواهند داشت،
1261
00:45:43,520 –> 00:45:44,800
بیایید اکنون نگاهی به مجموعه دادههای متفاوتی بیندازیم
1262
00:45:44,800 –> 00:45:47,119
در این مورد من به
1263
00:45:47,119 –> 00:45:49,280
dronedata2.c نگاه میکنم. sv
1264
00:45:49,280 –> 00:45:51,920
و این مجموعه داده از این نظر خاص است
1265
00:45:51,920 –> 00:45:54,400
که مجموعه داده ای است که یک
1266
00:45:54,400 –> 00:45:57,920
کار طبقه بندی را نشان می دهد که به صورت خطی
1267
00:45:57,920 –> 00:45:59,440
قابل تفکیک
1268
00:45:59,440 –> 00:46:01,200
نیست، نمی توان یک خط منفرد رسم کرد به
1269
00:46:01,200 –> 00:46:02,560
1270
00:46:02,560 –> 00:46:04,400
طوری که در یک طرف خط
1271
00:46:04,400 –> 00:46:06,640
نقاط بنفش داشته باشم و در در سمت دیگر
1272
00:46:06,640 –> 00:46:10,960
خط من نقاط زرد خواهم داشت
1273
00:46:11,440 –> 00:46:13,839
و این ممکن است باعث شود فکر کنید که
1274
00:46:13,839 –> 00:46:15,760
رگرسیون لجستیک
1275
00:46:15,760 –> 00:46:18,079
گزینه مناسبی برای این کار
1276
00:46:18,079 –> 00:46:19,599
نیست، ممکن
1277
00:46:19,599 –> 00:46:22,720
است برای بدست آوردن یک طبقهبندی خوب نیاز به الگوریتم متفاوتی داشته باشید،
1278
00:46:22,720 –> 00:46:26,720
پس بیایید ببینیم که آیا این دقیق است،
1279
00:46:27,200 –> 00:46:28,960
بنابراین آنچه در حال حاضر می بینید
1280
00:46:28,960 –> 00:46:31,040
یک خط لوله است که ابتدا یک ترانسفورماتور چندک دارد
1281
00:46:31,040 –> 00:46:33,280
به عنوان مرحله پیش پردازش
1282
00:46:33,280 –> 00:46:36,400
و سپس یک رگرسیون لجستیک
1283
00:46:36,400 –> 00:46:37,680
و بهترین کاری که
1284
00:46:37,680 –> 00:46:39,839
رگرسیون لجستیک توانسته انجام دهد این
1285
00:46:39,839 –> 00:46:41,520
است که این خط را برای جداسازی آن ارائه کند. دو
1286
00:46:41,520 –> 00:46:43,040
کلاس
1287
00:46:43,040 –> 00:46:44,079
و
1288
00:46:44,079 –> 00:46:46,960
این بدیهی است که طبقه بندی کننده بدی است که این
1289
00:46:46,960 –> 00:46:48,880
دو گروه باید یک رنگ باشند
1290
00:46:48,880 –> 00:46:51,920
و خط نباید به این صورت از هم جدا شود،
1291
00:46:51,920 –> 00:46:53,040
اما شاید
1292
00:46:53,040 –> 00:46:55,040
بتوانیم در عوض با پیش پردازش این مشکل را برطرف کنیم
1293
00:46:55,040 –> 00:46:56,400
1294
00:46:56,400 –> 00:46:58,480
اگر دو محور را در نظر بگیرم.
1295
00:46:58,480 –> 00:47:00,720
در اینجا در اختیار من است، پس اساساً
1296
00:47:00,720 –> 00:47:02,079
آنچه اتفاق میافتد این است که
1297
00:47:02,079 –> 00:47:05,440
رگرسیون لجستیک x1 و x2 را دریافت میکند و در
1298
00:47:05,440 –> 00:47:08,160
حال حاضر فقط میتواند از آن دو ستون
1299
00:47:08,160 –> 00:47:10,640
برای ایجاد یک خط جداکننده استفاده کند،
1300
00:47:10,640 –> 00:47:13,920
اما اگر x1 برابر x2 به عنوان
1301
00:47:13,920 –> 00:47:16,319
ویژگی دیگری ایجاد کنم، چه میشود.
1302
00:47:16,319 –> 00:47:17,839
که ممکن است رگرسیون لجستیک بتواند
1303
00:47:17,839 –> 00:47:19,119
از آن استفاده کند
1304
00:47:19,119 –> 00:47:21,920
و چه چیزی در مورد x1 به توان 2 و
1305
00:47:21,920 –> 00:47:25,200
x2 به توان 2. آنچه می توانید بگویید
1306
00:47:25,200 –> 00:47:26,800
این است که ما می توانیم خود را به ویژگی های خطی محدود کنیم،
1307
00:47:26,800 –> 00:47:28,640
1308
00:47:28,640 –> 00:47:30,400
اما همچنین می توانیم فقط از آن
1309
00:47:30,400 –> 00:47:32,720
ویژگی های خطی استفاده کنیم.
1310
00:47:32,720 –> 00:47:35,119
ویژگیهای غیرخطی پیدا کنیم که مدل ما
1311
00:47:35,119 –> 00:47:37,440
میتواند از آنها استفاده کند،
1312
00:47:37,440 –> 00:47:39,119
بنابراین
1313
00:47:39,119 –> 00:47:40,640
بیایید خط لوله را
1314
00:47:40,640 –> 00:47:42,800
طوری تغییر دهیم که این ویژگیها را نیز به آن اضافه کنیم
1315
00:47:42,800 –> 00:47:46,640
و سپس ببینیم که
1316
00:47:47,680 –> 00:47:50,559
تأثیر پیشپردازش scikit-learn چیست، میتوانم
1317
00:47:50,559 –> 00:47:53,839
ویژگیهای چند جملهای را وارد کنم
1318
00:47:53,839 –> 00:47:57,520
و فقط یک شی جدید را از اینجا شروع کنید،
1319
00:47:57,520 –> 00:47:59,200
توجه داشته باشید که من هیچ یک
1320
00:47:59,200 –> 00:48:00,960
از متغیرهای ورودی را در اینجا تغییر نمیدهم، اما
1321
00:48:00,960 –> 00:48:03,200
نکتهای که ذکر آن خوب است این است که من
1322
00:48:03,200 –> 00:48:05,520
در حال حاضر فقط تعاملات را محاسبه
1323
00:48:05,520 –> 00:48:07,760
میکنم و فقط در حال محاسبه هستم.
1324
00:48:07,760 –> 00:48:10,319
برای درجه 2 است، اما اگر می خواستم می توانستم این را افزایش
1325
00:48:10,319 –> 00:48:12,720
دهم، اما اجازه دهید ببینیم که
1326
00:48:12,720 –> 00:48:15,680
این فقط چه تاثیری دارد
1327
00:48:15,680 –> 00:48:18,000
و اگر بخواهم اکنون برای مقایسه به بالا اسکرول
1328
00:48:18,000 –> 00:48:19,119
1329
00:48:19,119 –> 00:48:20,800
کنم، استدلال می کنم که ما یک طبقه بندی تقریباً کامل داریم
1330
00:48:20,800 –> 00:48:22,640
1331
00:48:22,640 –> 00:48:24,559
و قبول دارم که این در مجموعه قطار، بنابراین
1332
00:48:24,559 –> 00:48:26,160
کمی فریبنده است،
1333
00:48:26,160 –> 00:48:28,559
اما چیزی که امیدوارم در اینجا نشان داده شده باشد این است
1334
00:48:28,559 –> 00:48:30,240
که یک
1335
00:48:30,240 –> 00:48:32,079
مرحله پیش پردازش منفرد چقدر می تواند در خط لوله شما داشته باشد
1336
00:48:32,079 –> 00:48:33,280
1337
00:48:33,280 –> 00:48:34,720
، اثرات در واقع می تواند بسیار
1338
00:48:34,720 –> 00:48:36,400
شدید
1339
00:48:36,400 –> 00:48:37,760
باشد تا کنون که ما انجام داده ایم.
1340
00:48:37,760 –> 00:48:40,800
پیش پردازش های زیادی روی داده های عددی انجام می شود، اما می
1341
00:48:40,800 –> 00:48:42,800
توانید تصور کنید که ما داده هایی داریم
1342
00:48:42,800 –> 00:48:45,119
که مانند این است که در آن ممکن است
1343
00:48:45,119 –> 00:48:48,720
کلاس های کم خطر متوسط بالا داشته باشیم و پس از آن خوب اس
1344
00:48:48,720 –> 00:48:49,920
اگر بتوانیم برخی از پیش پر
1345
00:48:49,920 –> 00:48:52,880
ازش ها را انجام دهیم تا این داده های متنی تبدیل
1346
00:48:52,880 –> 00:48:55,520
وند. دادههای عددی و
1347
00:48:55,520 –> 00:48:57,760
همچنین رایجترین تکنیک برای آن
1348
00:48:57,760 –> 00:48:58,800
1349
00:48:58,800 –> 00:49:00,720
یک رمزگذار داغ است
1350
00:49:00,720 –> 00:49:02,720
که اکنون کاری که این رمزگذار انجام میدهد این
1351
00:49:02,720 –> 00:49:04,079
است که
1352
00:49:04,079 –> 00:49:06,079
1353
00:49:06,079 –> 00:49:08,960
میتواند آرایهای از متن یا دستهها را بگیرد و
1354
00:49:08,960 –> 00:49:10,960
آن را به چیزی تبدیل کند که
1355
00:49:10,960 –> 00:49:13,599
اکنون واقعاً عددی است، اگر فقط اجرا کنید. این
1356
00:49:13,599 –> 00:49:15,760
همانطور که y است می خواهید یک ساختار داده ای به دست آورید
1357
00:49:15,760 –> 00:49:17,440
که به عنوان ماتریس پراکنده شناخته می
1358
00:49:17,440 –> 00:49:18,640
شود
1359
00:49:18,640 –> 00:49:20,559
، اما تنظیماتی وجود دارد که می توانیم آن را
1360
00:49:20,559 –> 00:49:21,520
1361
00:49:21,520 –> 00:49:23,839
طوری تغییر دهیم که
1362
00:49:23,839 –> 00:49:25,839
پراکندگی نادرست باشد و سپس در واقع می توانیم
1363
00:49:25,839 –> 00:49:28,960
آنچه در داخل آن است را ببینیم،
1364
00:49:29,040 –> 00:49:31,359
توجه داشته باشید که دو ردیف اول به
1365
00:49:31,359 –> 00:49:33,040
عنوان کم نشان داده شده اند.
1366
00:49:33,040 –> 00:49:35,520
و ما میتوانیم ببینیم که
1367
00:49:35,520 –> 00:49:38,079
آنها در همان ستون مشترک هستند،
1368
00:49:38,079 –> 00:49:40,640
سپس بالا را در اینجا میبینیم
1369
00:49:40,640 –> 00:49:43,119
که در آنجا فهرست شده است و سپس میبینیم
1370
00:49:43,119 –> 00:49:46,000
متوسطی در زیر و در آنجا فهرست شده است،
1371
00:49:46,000 –> 00:49:48,480
بنابراین میتوانیم شکلی از مکاتبات را ببینیم
1372
00:49:48,480 –> 00:49:49,920
و این چیزی است که واقعاً
1373
00:49:49,920 –> 00:49:52,319
مفید است و رایج ترین مورد استفاده برای
1374
00:49:52,319 –> 00:49:54,800
این است که اگر این باشد، فرض کنید کلاسی
1375
00:49:54,800 –> 00:49:56,559
که می خواهید پیش بینی کنید،
1376
00:49:56,559 –> 00:49:57,359
پس
1377
00:49:57,359 –> 00:49:58,480
این
1378
00:49:58,480 –> 00:50:00,880
نمایش عددی که آرایه
1379
00:50:00,880 –> 00:50:02,160
y است
1380
00:50:02,160 –> 00:50:03,599
که می خواهید به یادگیری روانی منتقل کنید،
1381
00:50:03,599 –> 00:50:06,000
زیرا این چیزی است
1382
00:50:06,000 –> 00:50:07,839
که روانی می تواند یاد بگیرد. استفاده برای آموزش
1383
00:50:07,839 –> 00:50:10,800
عددی در مورد
1384
00:50:11,040 –> 00:50:13,520
رفتارهایی وجود دارد که باید از آن آگاه باشید
1385
00:50:13,520 –> 00:50:15,839
و
1386
00:50:15,839 –> 00:50:18,079
اگر برچسب تولید می کنید بسیار مرتبط نیست، اما
1387
00:50:18,079 –> 00:50:19,599
اگر از این
1388
00:50:19,599 –> 00:50:22,720
رمزگذار onenote برای رمزگذاری اطلاعات برای
1389
00:50:22,720 –> 00:50:25,119
داده ها استفاده می کنید مرتبط است. که برچسب را پیشبینی میکند
1390
00:50:25,119 –> 00:50:26,800
، فرض کنید من اکنون رمزگذار را میگیرم و
1391
00:50:26,800 –> 00:50:28,640
از آن میخواهم چیزی را تبدیل کند و
1392
00:50:28,640 –> 00:50:31,119
چیزی که از آن میخواهم تبدیل کند چیزی است
1393
00:50:31,119 –> 00:50:33,200
که قبلاً دیده نشده است،
1394
00:50:33,200 –> 00:50:35,839
بنابراین توجه کنید که از آن میخواهم به من
1395
00:50:35,839 –> 00:50:37,440
یک برچسب برای صفر بدهد.
1396
00:50:37,440 –> 00:50:40,960
اما صفر در این مجموعه ظاهر نمیشود
1397
00:50:40,960 –> 00:50:43,280
و این همان مجموعهای است که ما
1398
00:50:43,280 –> 00:50:44,880
فیت را روی
1399
00:50:44,880 –> 00:50:46,480
آن انجام دادیم، بنابراین ممکن است تعجب کنیم که در
1400
00:50:46,480 –> 00:50:48,319
اینجا چه اتفاقی میافتد،
1401
00:50:48,319 –> 00:50:50,559
ما یک خطای بزرگ مقدار چربی دریافت میکنیم،
1402
00:50:50,559 –> 00:50:51,599
1403
00:50:51,599 –> 00:50:54,319
بنابراین میگوید خطای ارزش یافت شده
1404
00:50:54,319 –> 00:50:56,319
دسته ناشناخته 0
1405
00:50:56,319 –> 00:50:58,720
بنابراین اساساً به ما میگوید
1406
00:50:58,720 –> 00:51:01,119
اجازه ندارید دادههایی را به من بدهید
1407
00:51:01,119 –> 00:51:03,200
که قبلاً ندیدهام، اما
1408
00:51:03,200 –> 00:51:04,559
میتوانیم تنظیمات آن را تغییر دهیم
1409
00:51:04,559 –> 00:51:05,440
1410
00:51:05,440 –> 00:51:07,839
زیرا در حال حاضر پارامتر ناشناخته دسته
1411
00:51:07,839 –> 00:51:10,240
روی خطا تنظیم شده است،
1412
00:51:10,240 –> 00:51:13,119
اما میتوانیم آن را به گونهای تغییر دهیم
1413
00:51:13,119 –> 00:51:16,079
که تنظیم شده است که نادیده گرفته شود
1414
00:51:16,079 –> 00:51:18,480
و حالا اگر این
1415
00:51:18,480 –> 00:51:20,559
را اجرا کنم به من خطایی نمی دهد
1416
00:51:20,559 –> 00:51:23,119
و کاری که انجام می دهد این است که می گوید خوب
1417
00:51:23,119 –> 00:51:25,520
همه اینها صفر هستند یا روش دیگری برای
1418
00:51:25,520 –> 00:51:27,119
گفتن این که
1419
00:51:27,119 –> 00:51:30,160
صفر نه کم بالا یا متوسط است، بنابراین می
1420
00:51:30,160 –> 00:51:32,400
وانیم ادامه دهیم و ای
1421
00:51:32,400 –> 00:51:34,960
آرایه صفر را
1422
00:51:34,960 –> 00:51:36,960
اکنون یک به آن برگردانید نکته ای که در نهایت باید در مورد آن
1423
00:51:36,960 –> 00:51:39,440
اشاره کرد این است
1424
00:51:39,440 –> 00:51:41,680
که اگر ماتریس x خود را ایجاد می کنید، این یک تنظیم بسیار مفید
1425
00:51:41,680 –> 00:51:42,800
است،
1426
00:51:42,800 –> 00:51:44,720
اما اگر
1427
00:51:44,720 –> 00:51:47,280
برچسب های y خود را تولید می کنید، نمی خواهید این کار را انجام دهید زیرا اینها
1428
00:51:47,280 –> 00:51:49,040
چیزهایی هستند که می خواهید
1429
00:51:49,040 –> 00:51:51,680
1430
00:51:51,680 –> 00:51:53,760
در این سری از ویدیوها، کنترل بسیار دقیقی بر روی آنها داشته باشید، من
1431
00:51:53,760 –> 00:51:55,839
برخی از مراحل پیش پردازش
1432
00:51:55,839 –> 00:51:57,359
موجود را به شما نشان دادم،
1433
00:51:57,359 –> 00:52:00,000
اما یک راه بسیار راحت برای
1434
00:52:00,000 –> 00:52:01,839
بازی کردن با تعداد بیشتری از آنها و
1435
00:52:01,839 –> 00:52:04,079
درک بهتر، رفتن به این است.
1436
00:52:04,079 –> 00:52:07,359
وبسایتی به نام drawdata.xyz
1437
00:52:07,359 –> 00:52:09,119
و سلب مسئولیت کامل این وبسایتی است که
1438
00:52:09,119 –> 00:52:11,520
من ساختهام اما وبسایتی است که به شما امکان میدهد
1439
00:52:11,520 –> 00:52:12,640
1440
00:52:12,640 –> 00:52:14,240
به معنای واقعی کلمه
1441
00:52:14,240 –> 00:52:19,240
کمی از دادهها را ترسیم کنید
1442
00:52:19,680 –> 00:52:23,359
و به این ترتیب میتوانید با آن
1443
00:52:23,520 –> 00:52:25,440
از نوتبوک jupyter خود بازی کنید و
1444
00:52:25,440 –> 00:52:27,760
با پیشپردازندهها بازی کنید. بهترین راه برای
1445
00:52:27,760 –> 00:52:29,839
یادگیری در مورد آنها اکنون چه کارهایی را می توانید
1446
00:52:29,839 –> 00:52:31,599
از اینجا ادامه دهید و انجام
1447
00:52:31,599 –> 00:52:33,280
دهید وقتی مجموعه داده های مورد علاقه خود را ترسیم
1448
00:52:33,280 –> 00:52:35,760
کردید، می توانید روی دکمه دانلود csv کلیک کنید
1449
00:52:35,760 –> 00:52:38,240
تا این فایل به صورت محلی بارگیری شود، اما کاری
1450
00:52:38,240 –> 00:52:41,599
که می توانید انجام دهید این است که می توانید کپی کنید csv
1451
00:52:41,599 –> 00:52:43,520
را در کلیپ بورد خود
1452
00:52:43,520 –> 00:52:46,000
انجام دهید، کاری که می توانید انجام دهید این است که می توانید clipboard pandas.read را تایپ کنید
1453
00:52:46,000 –> 00:52:47,839
1454
00:52:47,839 –> 00:52:49,440
1455
00:52:49,440 –> 00:52:51,119
و سپس این می تواند از
1456
00:52:51,119 –> 00:52:53,040
روی کلیپ بورد شما بخواند تنها کاری که
1457
00:52:53,040 –> 00:52:55,119
باید به صورت دستی انجام دهید این است که
1458
00:52:55,119 –> 00:52:57,440
جداکننده را روی کاما قرار دهید زیرا فکر می کنم
1459
00:52:57,440 –> 00:52:59,520
کلیپ بورد معمولاً از اکسل می خواند،
1460
00:52:59,520 –> 00:53:00,960
1461
00:53:00,960 –> 00:53:03,599
اما کاری که اکنون می توانم انجام دهم این است که فقط این را اجرا کنم
1462
00:53:03,599 –> 00:53:05,280
و ببینم
1463
00:53:05,280 –> 00:53:08,160
مجموعه داده ای که همین الان ترسیم می کردم
1464
00:53:08,160 –> 00:53:10,480
اکنون در اینجا در دسترس من است و این یک
1465
00:53:10,480 –> 00:53:12,960
راه واقعاً خوب برای کمی
1466
00:53:12,960 –> 00:53:14,640
بازیگوش شدن است. بنابراین میتوانم
1467
00:53:14,640 –> 00:53:16,960
مراحل پیشپردازش و خطوط لوله را یاد بگیرم،
1468
00:53:16,960 –> 00:53:19,359
امیدوارم این سری از ویدیوها به
1469
00:53:19,359 –> 00:53:20,720
شما انگیزه داده باشد که این
1470
00:53:20,720 –> 00:53:22,480
مراحل پیشپردازش را کمی
1471
00:53:22,480 –> 00:53:24,800
عمیقتر بررسی کنید، اما عمدتاً میخواهم به
1472
00:53:24,800 –> 00:53:27,040
خاطر داشته باشید که این مراحل پیشپردازش
1473
00:53:27,040 –> 00:53:28,960
واقعاً انجام میشوند. مهم است که آنها می توانند
1474
00:53:28,960 –> 00:53:31,119
تأثیر عمیقی بر روی کاری که الگوریتم شما
1475
00:53:31,119 –> 00:53:34,480
قرار است در نهایت انجام دهد داشته باشند
1476
00:53:35,920 –> 00:53:38,559
و این به پایان بخش پیش پردازش
1477
00:53:38,559 –> 00:53:40,880
این
1478
00:53:40,880 –> 00:53:45,440
ویدیو می شود و در ادامه به
1479
00:53:45,760 –> 00:53:48,079
معیارهایی می رویم که وقتی یک مجموعه داده سرگرم کننده را در Kaggle پیدا کردم به دنبال یک مجموعه داده سرگرم کننده
1480
00:53:48,079 –> 00:53:50,559
بودم. آی تی’ یک
1481
00:53:50,559 –> 00:53:52,480
مجموعه داده نسبتاً شناخته شده در مورد
1482
00:53:52,480 –> 00:53:54,880
کلاهبرداری کارت اعتباری است و من فکر کردم
1483
00:53:54,880 –> 00:53:56,559
که مثال خوبی برای توضیح چیزی
1484
00:53:56,559 –> 00:53:59,440
در مورد scikit-learn است
1485
00:53:59,680 –> 00:54:02,880
زیرا Kaggle مجموعه داده ای را به من می دهد
1486
00:54:02,880 –> 00:54:05,760
و این مجموعه داده شامل برچسبی است
1487
00:54:05,760 –> 00:54:07,680
که من می خواهم یاد بگیرم و
1488
00:54:07,680 –> 00:54:09,680
همچنین دادههایی که من برای پیشبینی
1489
00:54:09,680 –> 00:54:12,240
آن برچسب استفاده خواهم کرد
1490
00:54:13,040 –> 00:54:14,720
و معمولاً شما
1491
00:54:14,720 –> 00:54:16,400
شروع به ساخت مدل خود میکنید، اما نمیخواهید مدلی بسازید،
1492
00:54:16,400 –> 00:54:20,319
معمولاً چند عدد میسازید،
1493
00:54:20,559 –> 00:54:23,119
بنابراین مدل یک را خواهید داشت.
1494
00:54:23,119 –> 00:54:24,559
1495
00:54:24,559 –> 00:54:26,720
تا مدل z
1496
00:54:26,720 –> 00:54:28,400
و این مدلها ممکن است یک
1497
00:54:28,400 –> 00:54:29,839
نوع مدل باشند، اما
1498
00:54:29,839 –> 00:54:31,839
پارامترهای هایپر متفاوتی خواهند داشت و برای همه
1499
00:54:31,839 –> 00:54:33,599
مقاصد، مدلهای متفاوتی خواهند بود
1500
00:54:33,599 –> 00:54:35,760
به همین دلیل
1501
00:54:35,760 –> 00:54:37,200
و همه این مدلهای مختلف
1502
00:54:37,200 –> 00:54:41,040
خواهند داشت. یک پیشبینی متفاوت
1503
00:54:42,799 –> 00:54:44,559
و کاری که ما میخواهیم انجام دهیم این
1504
00:54:44,559 –> 00:54:47,119
است که بهترین مدل را انتخاب کنیم
1505
00:54:47,119 –> 00:54:48,960
و در scikit-learn از
1506
00:54:48,960 –> 00:54:50,960
جستجوی شبکهای برای این کار استفاده کنید و جستجوی شبکهای
1507
00:54:50,960 –> 00:54:53,760
چه کاری انجام میدهد این است که همه این
1508
00:54:53,760 –> 00:54:55,359
پیشبینیها را میگیرد
1509
00:54:55,359 –> 00:54:57,119
و آنها را با ما مقایسه میکند.
1510
00:54:57,119 –> 00:54:58,240
1511
00:54:58,240 –> 00:55:00,160
برچسب اصلی
1512
00:55:00,160 –> 00:55:01,520
با استفاده از
1513
00:55:01,520 –> 00:55:02,559
یک
1514
00:55:02,559 –> 00:55:03,680
متریک
1515
00:55:03,680 –> 00:55:05,280
و مهم است که آن متریک را به
1516
00:55:05,280 –> 00:55:07,440
درستی دریافت کنید معیار
1517
00:55:07,440 –> 00:55:09,920
اشتباه را انتخاب کنید و مدل اشتباهی را انتخاب کنید،
1518
00:55:09,920 –> 00:55:12,000
بنابراین فکر کردم مفید است که
1519
00:55:12,000 –> 00:55:15,119
چند ویدیو را صرف توضیح دادن نحوه یادگیری روانی
1520
00:55:15,119 –> 00:55:17,760
در مورد این معیار کنید، زیرا این یک معیار است.
1521
00:55:17,760 –> 00:55:19,359
بخش بسیار مهمی از خط لوله یادگیری ماشین شماست،
1522
00:55:19,359 –> 00:55:21,839
1523
00:55:21,920 –> 00:55:24,079
بنابراین بیایید قبل از اینکه
1524
00:55:24,079 –> 00:55:26,079
در مورد معیارها صحبت
1525
00:55:26,079 –> 00:55:28,559
1526
00:55:28,559 –> 00:55:30,720
1527
00:55:30,720 –> 00:55:33,200
کنیم
1528
00:55:33,200 –> 00:55:34,960
مجموعه داده را بررسی کنیم. بزرگ است، بنابراین من فقط
1529
00:55:34,960 –> 00:55:37,599
در 80000 سطر اول می خوانم
1530
00:55:37,599 –> 00:55:40,480
مجموعه داده ها دارای ستون های زیادی است و
1531
00:55:40,480 –> 00:55:44,160
اکثر آنها
1532
00:55:44,880 –> 00:55:46,480
در انتهای قاب داده ناشناس هستند،
1533
00:55:46,480 –> 00:55:47,920
کلاسی را می بینیم که چیزی است که ما علاقه
1534
00:55:47,920 –> 00:55:50,000
مند به پیش بینی دقیق آن هستیم و ما
1535
00:55:50,000 –> 00:55:51,119
مقداری را ببینید
1536
00:55:51,119 –> 00:55:52,799
ایده پشت این مجموعه داده این است که
1537
00:55:52,799 –> 00:55:55,040
ما انواع ویژگیهای ناشناس
1538
00:55:55,040 –> 00:55:57,520
داریم که با ستون
1539
00:55:57,520 –> 00:55:59,599
v1 تا
1540
00:55:59,599 –> 00:56:00,720
28 نشان داده میشوند،
1541
00:56:00,720 –> 00:56:02,319
اما همه این ویژگیها
1542
00:56:02,319 –> 00:56:04,799
ویژگیهای یک تراکنش را توصیف میکنند
1543
00:56:04,799 –> 00:56:06,480
و همچنین مقدار آن را میدانیم. t در
1544
00:56:06,480 –> 00:56:08,559
این تراکنش بود
1545
00:56:08,559 –> 00:56:10,880
اکنون برای وارد کردن این قاب داده به
1546
00:56:10,880 –> 00:56:12,880
scikit-learn داشتن آن در numpy کمک می کند
1547
00:56:12,880 –> 00:56:15,440
و این کاری است که من در زیر x انجام داده ام
1548
00:56:15,440 –> 00:56:17,599
شامل تمام ستون هایی است که یک v
1549
00:56:17,599 –> 00:56:20,400
در آن وجود دارد و y ستونی است که در اینجا
1550
00:56:20,400 –> 00:56:22,000
i’ مایلیم پیشبینی کنیم
1551
00:56:22,000 –> 00:56:24,079
و تاکید کنیم که این چه نوع مجموعه دادهای
1552
00:56:24,079 –> 00:56:26,000
است، اجازه دهید
1553
00:56:26,000 –> 00:56:31,040
اطلاعات مفیدی را چاپ کنیم، بنابراین بیایید شکل را چاپ کنیم
1554
00:56:31,040 –> 00:56:33,280
و همچنین تعداد موارد کلاهبرداری را فهرست کنیم،
1555
00:56:33,280 –> 00:56:35,760
1556
00:56:37,200 –> 00:56:38,799
بنابراین به نظر میرسد که دادههایی آماده برای
1557
00:56:38,799 –> 00:56:41,520
یادگیری روانی هستند، اما باید از آن آگاه باشیم.
1558
00:56:41,520 –> 00:56:43,839
یک پدیده و آن این واقعیت است
1559
00:56:43,839 –> 00:56:46,559
که تعداد پروندههای کلاهبرداری که میدانید
1560
00:56:46,559 –> 00:56:49,760
حدود 200 مورد است و این از 80000
1561
00:56:49,760 –> 00:56:51,359
مورد است،
1562
00:56:51,359 –> 00:56:54,400
بنابراین میتوان گفت که این مجموعه دادهها
1563
00:56:54,400 –> 00:56:57,680
نامتعادل هستند، موارد بسیار بیشتری
1564
00:56:57,680 –> 00:56:58,400
با
1565
00:56:58,400 –> 00:57:00,400
کلاهبرداری از موارد بدون کلاهبرداری وجود دارد
1566
00:57:00,400 –> 00:57:03,680
و این چیزی است برای اینکه به خاطر داشته باشید با
1567
00:57:03,680 –> 00:57:05,920
در نظر گرفتن این موضوع، اجازه دهید با
1568
00:57:05,920 –> 00:57:08,400
یک مدل ساده شروع کنیم و من فقط از
1569
00:57:08,400 –> 00:57:12,559
رگرسیون لجستیک در حال حاضر استفاده می کنم،
1570
00:57:12,559 –> 00:57:16,400
بنابراین ابتدا آن را وارد می کنم
1571
00:57:18,400 –> 00:57:21,200
و سپس می گویم سلام لطفاً
1572
00:57:21,200 –> 00:57:23,760
روی آن داده ها قرار دهید و بسازید یک پیش بینی نیز
1573
00:57:23,760 –> 00:57:26,760
1574
00:57:26,880 –> 00:57:28,960
در حال حاضر زمانی که من thi را اجرا می کنم من با این خطا مواجه
1575
00:57:28,960 –> 00:57:30,160
میشوم که میگوید به
1576
00:57:30,160 –> 00:57:31,920
تعداد کل تکرارها
1577
00:57:31,920 –> 00:57:34,079
رسیده است و آنچه احتمالاً
1578
00:57:34,079 –> 00:57:35,920
در اینجا اتفاق میافتد این است که چون این مجموعه داده بسیار
1579
00:57:35,920 –> 00:57:38,079
نامتعادل است
1580
00:57:38,079 –> 00:57:40,640
در تعداد تکرارهایی که دارد همگرا نمیشود،
1581
00:57:40,640 –> 00:57:42,480
بنابراین کاری که من انجام میدهم این است که
1582
00:57:42,480 –> 00:57:44,000
حداکثر تعداد تکرارها را
1583
00:57:44,000 –> 00:57:45,839
بیشتر تنظیم کنید. فکر میکنم تعداد تکرارها
1584
00:57:45,839 –> 00:57:47,599
در ابتدا صد است، اما اجازه دهید آن
1585
00:57:47,599 –> 00:57:49,599
را روی هزار تنظیم کنیم تا
1586
00:57:49,599 –> 00:57:51,680
کار کند،
1587
00:57:51,680 –> 00:57:53,359
کاری که اکنون انجام میدهم این است که
1588
00:57:53,359 –> 00:57:56,400
مجموع همه پیشبینیهایی را که من انجام میدهم انجام میدهم.
1589
00:57:56,400 –> 00:57:59,119
بنابراین این به هیچ وجه یک متریک کامل
1590
00:57:59,119 –> 00:58:00,880
نیست، اما آنچه که اکنون میخواهم مشاهده کنم این است که
1591
00:58:00,880 –> 00:58:03,280
اگر من بیش از حد روی مجموعه قطار نصب شده
1592
00:58:03,280 –> 00:58:07,520
باشم، مدل موارد
1593
00:58:07,520 –> 00:58:11,280
کمتری را نسبت به مجموعه دادههای من تشخیص میدهد،
1594
00:58:11,280 –> 00:58:12,799
بنابراین بدون جستجوی شبکه میتوانم از قبل
1595
00:58:12,799 –> 00:58:14,640
بگویید که این مدل می تواند
1596
00:58:14,640 –> 00:58:15,520
بهتر عمل کند،
1597
00:58:15,520 –> 00:58:17,920
بنابراین بیایید تنظیمی اضافه کنیم که ممکن است به
1598
00:58:17,920 –> 00:58:18,880
ما امکان
1599
00:58:18,880 –> 00:58:20,799
دهد الگوریتم را در جهتی
1600
00:58:20,799 –> 00:58:23,760
که به آن علاقه مندیم حرکت دهیم
1601
00:58:23,760 –> 00:58:25,760
و برای رگرسیون لجستیک یکی
1602
00:58:25,760 –> 00:58:27,680
از راه های راحت این است که
1603
00:58:27,680 –> 00:58:30,799
بگوییم هی بیایید کلاس w را مشخص کنیم. eight
1604
00:58:30,799 –> 00:58:33,520
now the class weight یک فرهنگ لغت است
1605
00:58:33,520 –> 00:58:35,440
که به من اجازه می دهد تعیین کنم چقدر
1606
00:58:35,440 –> 00:58:39,440
وزن به هر کلاس اختصاص دهم
1607
00:58:39,440 –> 00:58:40,720
و به طور خاص روشی که
1608
00:58:40,720 –> 00:58:41,920
باید آن را بخوانید به این صورت
1609
00:58:41,920 –> 00:58:43,920
است که برای کلاس
1610
00:58:43,920 –> 00:58:47,440
0 که موارد غیر تقلبی
1611
00:58:47,440 –> 00:58:51,480
است، وزنی از 1.
1612
00:58:52,400 –> 00:58:55,359
اما برای کلاس من که
1613
00:58:55,359 –> 00:58:57,119
پرونده های کلاهبرداری است
1614
00:58:57,119 –> 00:58:58,960
، می گویم خوب بیایید به آن
1615
00:58:58,960 –> 00:59:01,040
وزن دوبرابر بدهیم که ما
1616
00:59:01,040 –> 00:59:03,839
پرونده های کلاهبرداری بیشتری را انتخاب خواهیم کرد، بنابراین
1617
00:59:03,839 –> 00:59:05,200
بیایید این را اجرا کنیم و ببینیم چه تأثیری
1618
00:59:05,200 –> 00:59:07,359
دارد
1619
00:59:08,319 –> 00:59:10,720
و بویا من میتوانم موارد کلاهبرداری بیشتری را از
1620
00:59:10,720 –> 00:59:12,240
این طریق پیدا کنم،
1621
00:59:12,240 –> 00:59:14,640
بنابراین این مکان بسیار خوبی برای شروع است،
1622
00:59:14,640 –> 00:59:16,400
من اینجا تنظیمی دارم که میخواهم آن
1623
00:59:16,400 –> 00:59:18,799
را بهینه کنم و این بدان معناست که
1624
00:59:18,799 –> 00:59:20,960
در حال حاضر میتوانم نگران
1625
00:59:20,960 –> 00:59:23,839
جستجوی شبکه و معیارها باشم.
1626
00:59:23,839 –> 00:59:26,079
اکنون که این مثال اولیه کار می کند،
1627
00:59:26,079 –> 00:59:28,000
بیایید یک جستجوی شبکه ای انجام دهیم تا
1628
00:59:28,000 –> 00:59:30,160
بتوانیم بهترین مقدار را برای وزن این کلاس پیدا کنیم
1629
00:59:30,160 –> 00:59:32,319
1630
00:59:32,319 –> 00:59:34,400
و من با تنظیمات اولیه شروع می کنم،
1631
00:59:34,400 –> 00:59:37,359
اجازه دهید ابتدا آن را وارد کنیم
1632
00:59:37,359 –> 00:59:40,319
و بعد بیایید جستجوی شبکه خود را تعریف
1633
00:59:40,319 –> 00:59:42,720
کنیم، ابتدا باید آن را پاس کنم. یک برآوردگر
1634
00:59:42,720 –> 00:59:44,160
و این منطق ماست رگرسیون تیک در
1635
00:59:44,160 –> 00:59:45,680
این مورد
1636
00:59:45,680 –> 00:59:48,000
و اجازه دهید حداکثر تعداد
1637
00:59:48,000 –> 00:59:50,319
تکرارها را نیز به هزار تنظیم
1638
00:59:50,319 –> 00:59:51,599
کنیم. کاری که باید انجام دهم این است که باید
1639
00:59:51,599 –> 00:59:53,599
پارامترها را تنظیم
1640
00:59:53,599 –> 00:59:54,960
کنم و من علاقه مند به تغییر وزن این کلاس هستم،
1641
00:59:54,960 –> 00:59:57,680
1642
00:59:57,760 –> 00:59:59,200
بنابراین اکنون باید لیستی به آن بدهم.
1643
00:59:59,200 –> 01:00:01,520
تنظیمات برای حلقه زدن و
1644
01:00:01,520 –> 01:00:03,599
به ویژه تنظیمات باید دیکشنری
1645
01:00:03,599 –> 01:00:06,079
مانند این باشد
1646
01:00:07,440 –> 01:00:09,040
و بیایید از درک لیست برای
1647
01:00:09,040 –> 01:00:11,280
آن استفاده کنیم،
1648
01:00:11,280 –> 01:00:12,880
بنابراین اجازه دهید مشخص کنیم که چه تعداد
1649
01:00:12,880 –> 01:00:15,040
اعتبار متقاطع را می خواهیم انجام دهیم و
1650
01:00:15,040 –> 01:00:17,520
من فقط می گویم 4 تا در حال حاضر
1651
01:00:17,520 –> 01:00:18,319
و
1652
01:00:18,319 –> 01:00:20,000
من دارم چند هسته در این ماشین وجود دارد،
1653
01:00:20,000 –> 01:00:22,720
بنابراین من تعداد کارها را روی -1 تنظیم می کنم و به
1654
01:00:22,720 –> 01:00:24,480
این ترتیب این جستجوی شبکه می تواند به
1655
01:00:24,480 –> 01:00:26,640
صورت موازی انجام شود،
1656
01:00:26,640 –> 01:00:28,720
شبکه من اکنون تعریف شده است و کاری که می توانم انجام دهم این
1657
01:00:28,720 –> 01:00:30,480
است که می توانم به شبکه خود بگویم که ادامه دهد و
1658
01:00:30,480 –> 01:00:32,720
مناسب باشد.
1659
01:00:34,480 –> 01:00:36,400
و آموزش تمام شده است،
1660
01:00:36,400 –> 01:00:40,319
بنابراین من یک سلول جدید را در اینجا شروع می کنم
1661
01:00:40,319 –> 01:00:43,200
زیرا این شی گرید اکنون دارای
1662
01:00:43,200 –> 01:00:46,160
ویژگی نتایج cv است و این شامل
1663
01:00:46,160 –> 01:00:47,680
تمام نتایج حاصل از اعتبار سنجی متقاطع است
1664
01:00:47,680 –> 01:00:50,319
1665
01:00:51,680 –> 01:00:53,280
و یک فرهنگ لغت با مقادیر زیادی است،
1666
01:00:53,280 –> 01:00:56,079
1667
01:00:56,079 –> 01:00:58,000
اما من به راحتی می توانم آن را به یک قاب داده
1668
01:00:58,000 –> 01:01:00,319
1669
01:01:04,880 –> 01:01:06,480
بنابراین وقتی به آن نگاه می کنم نتایج را می
1670
01:01:06,480 –> 01:01:09,359
بینم وزن کلاس ظاهر می شود
1671
01:01:09,359 –> 01:01:11,680
و همچنین نمرات را می بینم،
1672
01:01:11,680 –> 01:01:12,880
1673
01:01:12,880 –> 01:01:15,760
بنابراین برای هر تقسیم اعتبار متقاطع،
1674
01:01:15,760 –> 01:01:17,680
این امتیاز را می بینیم
1675
01:01:17,680 –> 01:01:19,440
و این امتیاز است که جستجوی شبکه
1676
01:01:19,440 –> 01:01:21,920
برای انتخاب بهترین مدل از آن استفاده می کند،
1677
01:01:21,920 –> 01:01:23,760
اما پس از آن باید تعجب کنیم که
1678
01:01:23,760 –> 01:01:26,319
چگونه به این نتیجه رسیده است. امتیاز
1679
01:01:26,319 –> 01:01:28,319
به این دلیل است که ما هیچ معیاری را در جستجوی شبکه خود مشخص نکردهایم،
1680
01:01:28,319 –> 01:01:29,599
1681
01:01:29,599 –> 01:01:32,000
اما میتواند این امتیاز را دقیقاً
1682
01:01:32,000 –> 01:01:34,319
در اینجا
1683
01:01:35,839 –> 01:01:39,440
پیدا کند، اکنون هیچ معیاری وجود ندارد
1684
01:01:39,440 –> 01:01:42,240
که این امتیاز از کجا به دست میآید، از
1685
01:01:42,240 –> 01:01:43,119
1686
01:01:43,119 –> 01:01:44,079
مدلی است
1687
01:01:44,079 –> 01:01:45,599
که من یک رگرسیون لجستیک دارم در
1688
01:01:45,599 –> 01:01:46,480
اینجا
1689
01:01:46,480 –> 01:01:48,480
و آنچه میتوانم انجام این کار این است که می توانم
1690
01:01:48,480 –> 01:01:52,079
روش امتیازدهی موجود در آن را بپرسم،
1691
01:01:52,079 –> 01:01:53,520
بنابراین می بینیم که یک روش محدود
1692
01:01:53,520 –> 01:01:55,039
به نام امتیاز وجود دارد
1693
01:01:55,039 –> 01:01:56,240
و اگر از
1694
01:01:56,240 –> 01:01:58,160
دو علامت سوال استفاده کنم، می توانم اجرای آن را ببینم،
1695
01:01:58,160 –> 01:02:00,319
1696
01:02:00,319 –> 01:02:01,839
بنابراین این پیاده سازی است و من
1697
01:02:01,839 –> 01:02:04,559
یک رشته doc را می بینم
1698
01:02:04,960 –> 01:02:07,680
و اگر به پیاده سازی نگاه کنم،
1699
01:02:07,680 –> 01:02:09,760
می گوید که از معیارها،
1700
01:02:09,760 –> 01:02:12,160
امتیاز دقت را به صورت داخلی وارد می کند،
1701
01:02:12,160 –> 01:02:14,400
به این معنی که این
1702
01:02:14,400 –> 01:02:15,599
1703
01:02:15,599 –> 01:02:17,280
رگرسیون لجستیک دارای امتیاز است
1704
01:02:17,280 –> 01:02:20,079
و مگر اینکه در غیر این صورت مشخص کنیم،
1705
01:02:20,079 –> 01:02:21,760
امتیاز رگرسیون لجستیک
1706
01:02:21,760 –> 01:02:23,599
فقط به دقت داشته باشید
1707
01:02:23,599 –> 01:02:27,119
و وقتی به پایین
1708
01:02:27,119 –> 01:02:29,599
به این میانگین نمره آزمون نگاه
1709
01:02:29,599 –> 01:02:31,440
میکنم، منطقی است
1710
01:02:31,440 –> 01:02:34,079
که مدل اغلب اوقات تقلبی را پیشبینی نمیکند
1711
01:02:34,079 –> 01:02:36,400
، بنابراین ما دقت بسیار بالایی در آنجا به دست میآوریم
1712
01:02:36,400 –> 01:02:37,839
،
1713
01:02:37,839 –> 01:02:39,599
اما این معیاری نیست که ممکن است به
1714
01:02:39,599 –> 01:02:42,000
آن علاقه مند باشم. بنابراین بیایید آن را تغییر دهیم،
1715
01:02:42,000 –> 01:02:43,920
1716
01:02:43,920 –> 01:02:46,160
بنابراین بیایید برخی چیزها را از
1717
01:02:46,160 –> 01:02:48,400
ماژول معیارهای scikit-learn وارد کنیم
1718
01:02:48,400 –> 01:02:50,720
و به طور خاص من فقط
1719
01:02:50,720 –> 01:02:52,720
امتیاز دقیق و
1720
01:02:52,720 –> 01:02:54,079
1721
01:02:54,079 –> 01:02:56,079
امتیاز فراخوان را وارد میکنم
1722
01:02:56,079 –> 01:02:57,839
، روشی که این توابع امتیاز کار میکنند
1723
01:02:57,839 –> 01:02:59,440
و من دقت را به عنوان اولین مثال شما در نظر میگیرم
1724
01:02:59,440 –> 01:03:00,880
1725
01:03:00,880 –> 01:03:02,880
. میتوان
1726
01:03:02,880 –> 01:03:05,359
مقادیر واقعی را به آن منتقل کرد، این مقادیری هستند که
1727
01:03:05,359 –> 01:03:06,559
باید پیشبینی کند
1728
01:03:06,559 –> 01:03:09,280
و شما میتوانید مقادیر پیشبینیشده را به آن بدهید،
1729
01:03:09,280 –> 01:03:12,400
بنابراین من فقط برخی را پیشبینی میکنم
1730
01:03:13,119 –> 01:03:15,039
و تا اینجا خیلی خوب است
1731
01:03:15,039 –> 01:03:18,640
، میتوانم همین کار را با
1732
01:03:19,680 –> 01:03:21,839
دقت در حال حاضر یادآوری انجام دهم و هر دو
1733
01:03:21,839 –> 01:03:23,599
چیزهای مختلف را اندازهگیری کنم
1734
01:03:23,599 –> 01:03:25,520
چیزی که یادآوری به من می گوید
1735
01:03:25,520 –> 01:03:26,880
این است که به من می
1736
01:03:26,880 –> 01:03:30,079
گوید آیا همه موارد تقلب را دریافت کردم و
1737
01:03:30,079 –> 01:03:31,920
دقت گفته می
1738
01:03:31,920 –> 01:03:34,799
شود با توجه به اینکه من تقلب را پیش بینی می کنم
1739
01:03:34,799 –> 01:03:37,200
چقدر دقیق هستم
1740
01:03:37,200 –> 01:03:38,640
و می توانید در یک مثال افراطی تصور کنید
1741
01:03:38,640 –> 01:03:39,680
1742
01:03:39,680 –> 01:03:41,200
اگر
1743
01:03:41,200 –> 01:03:44,079
بخواهم بگویم هی بیایید پیش بینی کنیم اگر هر
1744
01:03:44,079 –> 01:03:45,599
مورد یک مورد تقلب است،
1745
01:03:45,599 –> 01:03:47,200
پس امتیاز فراخوان
1746
01:03:47,200 –> 01:03:49,280
واقعاً بالا خواهد بود و امتیاز دقت
1747
01:03:49,280 –> 01:03:52,079
1748
01:03:52,079 –> 01:03:54,480
در حالت شدید دیگر بسیار پایین خواهد بود، فرض کنید من
1749
01:03:54,480 –> 01:03:56,640
یک نامزد را پیدا کنم که یک نامزد متقلب است
1750
01:03:56,640 –> 01:03:59,200
، اما هیچ کس دیگری
1751
01:03:59,200 –> 01:04:01,520
به عنوان تقلب پیشبینی نمیشود. سپس دقت بسیار
1752
01:04:01,520 –> 01:04:05,280
بالا و یادآوری بسیار پایینی
1753
01:04:05,280 –> 01:04:06,559
خواهم داشت و میتوانید تصور کنید که اگر
1754
01:04:06,559 –> 01:04:08,960
میخواهید برای هر یک از این دو بهینهسازی
1755
01:04:08,960 –> 01:04:10,319
کنید، الگوریتم کاملاً متفاوتی به دست خواهید آورد
1756
01:04:10,319 –> 01:04:12,640
و در این مورد
1757
01:04:12,640 –> 01:04:14,720
مسئله اصلی این است که آیا ما در حال حاضر به موارد
1758
01:04:14,720 –> 01:04:18,079
مثبت کاذب یا منفی کاذب بیشتر
1759
01:04:18,079 –> 01:04:19,599
اهمیت میدهیم، فرض میکنم که ما
1760
01:04:19,599 –> 01:04:21,920
کمی بیشتر به دقت اهمیت میدهیم،
1761
01:04:21,920 –> 01:04:24,319
بنابراین کاری که انجام خواهم داد این است که این
1762
01:04:24,319 –> 01:04:26,400
دو تابع متریک را میگیرم و آنها را به
1763
01:04:26,400 –> 01:04:28,559
جستجوی شبکه اضافه میکنم
1764
01:04:28,559 –> 01:04:30,799
حالا بیایید دقت را اضافه کنیم و به یاد آوریم
1765
01:04:30,799 –> 01:04:32,160
جستجوی شبکه ای
1766
01:04:32,160 –> 01:04:33,680
برای اضافه کردن آن به جستجوی شبکه ای باید
1767
01:04:33,680 –> 01:04:34,799
یک
1768
01:04:34,799 –> 01:04:37,280
فرهنگ لغت امتیازدهی را پاس کنیم و می توانم بگویم سلام
1769
01:04:37,280 –> 01:04:40,319
، من نمره دقیق خود را
1770
01:04:40,319 –> 01:04:42,559
دریافت کردم و نمره یادآوری خود را دریافت کردم
1771
01:04:42,559 –> 01:04:44,319
، یک کار اضافی وجود دارد که باید انجام
1772
01:04:44,319 –> 01:04:46,400
دهیم و آن این است که اگر می خواهی برای استفاده از
1773
01:04:46,400 –> 01:04:48,960
این توابع در داخل یک جستجوی شبکهای،
1774
01:04:48,960 –> 01:04:51,039
سپس باید آن را به تابع امتیاز ایجاد
1775
01:04:51,039 –> 01:04:52,839
1776
01:04:52,839 –> 01:04:54,799
1777
01:04:54,799 –> 01:04:56,720
کنیم، بعداً در مورد اینکه چرا آنها این تمایز را ایجاد میکنند بحث خواهیم کرد،
1778
01:04:56,720 –> 01:04:58,480
1779
01:04:58,480 –> 01:05:01,359
اما با انجام این