در این مطلب، ویدئو درخت تصمیم در پایتون قسمت 2/2 – یادگیری ماشینی از ابتدا 09 – آموزش پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:30:44
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,460
سلام به همه خوش آمدید به قسمت
2
00:00:02,460 –> 00:00:04,620
دوم آموزش درخت تصمیم اگر
3
00:00:04,620 –> 00:00:06,390
قسمت اول را ندیده اید
4
00:00:06,390 –> 00:00:08,130
لطفا این کار را انجام دهید زیرا در آنجا
5
00:00:08,130 –> 00:00:11,639
تئوری را توضیح خواهم داد بنابراین در اینجا ما
6
00:00:11,639 –> 00:00:14,070
به پیاده سازی ادامه می دهیم و می توانیم
7
00:00:14,070 –> 00:00:18,420
بلافاصله شروع کنیم بنابراین می گوییم import numpy s و
8
00:00:18,420 –> 00:00:23,580
p و سپس قبل از اجرای
9
00:00:23,580 –> 00:00:26,849
کلاس درخت تصمیم، ابتدا
10
00:00:26,849 –> 00:00:29,699
روش آنتروپی خود را برای محاسبه
11
00:00:29,699 –> 00:00:33,090
آنتروپی ایجاد می کنیم و آن را به عنوان توابع سراسری پیاده سازی
12
00:00:33,090 –> 00:00:37,320
می کنیم، بنابراین می گوییم آنتروپی را تعریف کنید و
13
00:00:37,320 –> 00:00:41,090
این یک بردار Y از تمام برچسب های کلاس ما دریافت می کند
14
00:00:41,090 –> 00:00:45,149
و اجازه دهید به فرمول نگاهی بیندازیم
15
00:00:45,149 –> 00:00:49,410
تا باید
16
00:00:49,410 –> 00:00:54,570
تعداد رخدادها را محاسبه کنیم و میتوانیم این کار را
17
00:00:54,570 –> 00:00:57,719
با یک تابع انجام دهیم و این
18
00:00:57,719 –> 00:01:01,770
هیستوگرام یا هیستوگرام را صدا میزنیم و میتوانیم از تعداد پینهای
19
00:01:01,770 –> 00:01:05,729
numpy Y استفاده کنیم، بنابراین این
20
00:01:05,729 –> 00:01:09,420
تعداد رخدادهای همه برچسبهای کلاس را محاسبه میکند. و
21
00:01:09,420 –> 00:01:12,510
سپس آنها را بر تعداد
22
00:01:12,510 –> 00:01:18,270
کل نمونه ها تقسیم می کنیم بنابراین می گوییم قطعه برابر است با
23
00:01:18,270 –> 00:01:26,900
hist تقسیم بر طول Y و سپس
24
00:01:26,900 –> 00:01:30,630
فرمول واقعی را اعمال می کنیم بنابراین می گوییم
25
00:01:30,630 –> 00:01:35,070
منهای مجموع P از X برابر قفل P از
26
00:01:35,070 –> 00:01:39,119
X بنابراین می توانیم این کار را در یک خط انجام دهیم و بگوییم
27
00:01:39,119 –> 00:01:45,060
بازگشت منهای مجموع numpy و در اینجا از
28
00:01:45,060 –> 00:01:47,869
درک لیست استفاده می کنیم بنابراین می توانیم بگوییم P
29
00:01:47,869 –> 00:01:57,140
ضربدر numpy lock 2 از P برای تمام صلح در
30
00:01:57,140 –> 00:02:01,320
PPS و همچنین باید از شرطی استفاده
31
00:02:01,320 –> 00:02:05,549
کنیم که P بزرگتر از 0 باشد. چون قفل
32
00:02:05,549 –> 00:02:08,000
برای اعداد منفی تعریف نشده است، بنابراین
33
00:02:08,000 –> 00:02:11,400
این آنتروپی است و اکنون یک کلاس کمکی را نیز پیاده سازی می کنیم
34
00:02:11,400 –> 00:02:12,520
35
00:02:12,520 –> 00:02:16,540
و این نت را فراخوانی می کنیم، بنابراین
36
00:02:16,540 –> 00:02:19,450
در اینجا اطلاعات مربوط
37
00:02:19,450 –> 00:02:25,420
به یادداشت خود را ذخیره می کنیم، بنابراین یک init دریافت می کند که
38
00:02:25,420 –> 00:02:28,780
خودش می شود و سپس اجازه دهید یک به این نگاه کنید،
39
00:02:28,780 –> 00:02:33,760
بنابراین اگر ما در وسط هستیم،
40
00:02:33,760 –> 00:02:37,570
میخواهیم بهترین ویژگی تقسیم
41
00:02:37,570 –> 00:02:41,350
و بهترین آستانه تقسیم را ذخیره کنیم و همچنین
42
00:02:41,350 –> 00:02:44,740
میخواهیم درختهای فرزند چپ و راست
43
00:02:44,740 –> 00:02:47,620
را ذخیره کنیم زیرا بعداً به آنها نیاز داریم
44
00:02:47,620 –> 00:02:52,120
و اگر اضافه کنیم و حالا اگر ما در یک
45
00:02:52,120 –> 00:02:55,720
گره برگ قرار دارند، سپس میخواهیم
46
00:02:55,720 –> 00:02:58,360
مقدار واقعی را در اینجا ذخیره کنیم، بنابراین متداولترین
47
00:02:58,360 –> 00:03:07,330
برچسب کلاس را میگوییم، بنابراین میگوییم ویژگی برابر است.
48
00:03:07,330 –> 00:03:13,720
49
00:03:13,720 –> 00:03:19,060
50
00:03:19,060 –> 00:03:21,850
51
00:03:21,850 –> 00:03:26,200
یک کاما و سپس می گوییم مقدار مساوی
52
00:03:26,200 –> 00:03:30,790
هیچکدام نیست، بنابراین اگر بخواهیم از این
53
00:03:30,790 –> 00:03:35,050
پارامتر مقدار استفاده کنیم، باید از آن به عنوان پارامتر فقط کلمه کلیدی
54
00:03:35,050 –> 00:03:39,790
استفاده کنیم، بنابراین بعداً وقتی
55
00:03:39,790 –> 00:03:42,580
گره برگ خود را ایجاد می کنیم که فقط مقدار را دریافت می کند
56
00:03:42,580 –> 00:03:45,640
و همچنین باید مقدار برابر با چیزی بنویسیم،
57
00:03:45,640 –> 00:03:47,740
بنابراین مشخص می شود که این
58
00:03:47,740 –> 00:03:51,250
یک گره برگ است و در اینجا ما آنها را به سادگی ذخیره می
59
00:03:51,250 –> 00:03:54,610
کنیم، بنابراین می گوییم
60
00:03:54,610 –> 00:04:00,390
ویژگی خود برابر است آستانه خود برابر آستانه آستانه
61
00:04:00,390 –> 00:04:08,650
خود چپ برابر با خود چپ برابر راست برابر
62
00:04:08,650 –> 00:04:14,580
راست و ارزش خود برابر با ارزش است و
63
00:04:14,580 –> 00:04:17,980
اکنون یک تابع کمکی کوچک نیز ایجاد می کنیم
64
00:04:17,980 –> 00:04:20,410
تا تعیین کنیم آیا در یک
65
00:04:20,410 –> 00:04:25,650
گره برگ بنابراین تعریف، برگ میداند
66
00:04:25,650 –> 00:04:31,259
که elf میشود و در اینجا به سادگی
67
00:04:31,259 –> 00:04:35,380
میگوییم اگر هستیم اگر یک مقدار داریم، پس
68
00:04:35,380 –> 00:04:41,530
در یک گره برگ هستیم و در غیر این صورت نه پس
69
00:04:41,530 –> 00:04:49,810
خود را برمیگردانیم که مقدار هیچ نیست، بنابراین اگر
70
00:04:49,810 –> 00:04:52,150
چاهی داشته باشیم شما و ما true را برمیگردانیم
71
00:04:52,150 –> 00:04:55,660
و این کلاس کمکی ما برای
72
00:04:55,660 –> 00:04:57,910
نتها است و اکنون میتوانیم با
73
00:04:57,910 –> 00:05:03,789
کلاس درخت تصمیم واقعی شروع کنیم، بنابراین این نیز
74
00:05:03,789 –> 00:05:09,220
در آن قرار میگیرد که خودش میشود و
75
00:05:09,220 –> 00:05:13,060
سپس معیارهای توقف را دریافت میکند، بنابراین
76
00:05:13,060 –> 00:05:18,130
ما این نمونههای min را تقسیم میکنیم و توسط
77
00:05:18,130 –> 00:05:20,530
د خطا فرض کنید این دو است، بنابراین
78
00:05:20,530 –> 00:05:22,870
حداقل نمونه های مورد نیاز برای
79
00:05:22,870 –> 00:05:27,639
شکافتن بیشتر درخت ما، سپس حداکثر عمق و به
80
00:05:27,639 –> 00:05:31,960
طور پیش فرض این 100 است و سپس
81
00:05:31,960 –> 00:05:34,690
پارامتری دریافت می کند که
82
00:05:34,690 –> 00:05:39,250
تعداد ویژگی ها یا n فوت را صدا می زنیم و این هیچ کدام نیست،
83
00:05:39,250 –> 00:05:41,770
بنابراین ما انجام نمی دهیم. به این نیاز نداریم، اما میتوانیم
84
00:05:41,770 –> 00:05:45,010
آن را مشخص کنیم، بنابراین همانطور که گفتم یک جستجوی حریصانه
85
00:05:45,010 –> 00:05:47,970
روی همه ویژگیها انجام میدهیم، اما همچنین میتوانیم
86
00:05:47,970 –> 00:05:51,789
فقط روی زیرمجموعهای از تعدادی
87
00:05:51,789 –> 00:05:55,570
ویژگی حلقه بزنیم و سپس
88
00:05:55,570 –> 00:05:58,690
این زیرمجموعه را بهطور تصادفی انتخاب میکنیم، بنابراین این یکی از عوامل تصادفی
89
00:05:58,690 –> 00:06:02,409
است. و همچنین یکی از دلایلی است
90
00:06:02,409 –> 00:06:05,320
که به آن جنگل تصادفی می گویند اگر
91
00:06:05,320 –> 00:06:07,900
درختان تصمیم خود را به یک جنگل تصادفی گسترش دهیم،
92
00:06:07,900 –> 00:06:11,400
بنابراین این یک عامل تصادفی است و
93
00:06:11,400 –> 00:06:15,400
اکنون آنها را به سادگی ذخیره می کنیم، بنابراین می گوییم خود
94
00:06:15,400 –> 00:06:21,120
نقطه تقسیم حداقل نمونه برابر است با حداقل نمونه ها
95
00:06:21,120 –> 00:06:26,199
متأسفم، حداقل نمونه تقسیم خود dot max
96
00:06:26,199 –> 00:06:31,000
depth برابر است با حداکثر عمق
97
00:06:31,000 –> 00:06:33,690
خود نقطه و
98
00:06:33,690 –> 00:06:39,120
ویژگی ها برابر است و ویژگی ها و ما نیز
99
00:06:39,120 –> 00:06:43,120
یک مسیر ایجاد می کنیم و اما در ابتدا
100
00:06:43,120 –> 00:06:46,330
این هیچ کدام نیست بنابراین بعداً باید
101
00:06:46,330 –> 00:06:49,270
مسیر خود را بشناسیم تا بدانیم از کجا
102
00:06:49,270 –> 00:06:53,830
باید پیمایش درخت خود را شروع کنیم و اکنون
103
00:06:53,830 –> 00:06:57,460
پیاده سازی می کنیم. روش تناسب که
104
00:06:57,460 –> 00:07:02,470
دادههای آموزشی و برچسبهای آموزشی را دریافت میکند، بنابراین
105
00:07:02,470 –> 00:07:07,330
در اینجا میخواهیم درخت خود را رشد دهیم و سپس
106
00:07:07,330 –> 00:07:12,400
روش پیشبینی را با برچسبهای آزمایشی دریافت میکند
107
00:07:12,400 –> 00:07:15,909
، بنابراین در اینجا میخواهیم درخت خود را طی کنیم،
108
00:07:15,909 –> 00:07:20,020
بنابراین بیایید با رشد درخت خود شروع کنیم
109
00:07:20,020 –> 00:07:26,380
تا بگوییم خود نقطه ریشه برابر است و
110
00:07:26,380 –> 00:07:28,960
اکنون یک تابع کمکی را فراخوانی می کنیم و یک تابع کمکی ایجاد می کنیم
111
00:07:28,960 –> 00:07:35,740
که درخت خود نقطه رشد می کند که x و y را دریافت می کند
112
00:07:35,740 –> 00:07:41,259
و همچنین یک بررسی ایمنی اعمال می کنیم بنابراین می
113
00:07:41,259 –> 00:07:48,099
گوییم خود نقطه و پاها برابر است شکل x نقطه
114
00:07:48,099 –> 00:07:54,490
یک، بنابراین این یک numpy و dra است
115
00:07:54,490 –> 00:07:57,669
و بعد دوم
116
00:07:57,669 –> 00:08:04,300
تعداد ویژگیهاست، اگر نقطه و پا
117
00:08:04,300 –> 00:08:07,120
نباشد، بنابراین اگر مشخص نشده باشد، اگر این هیچکدام نیست،
118
00:08:07,120 –> 00:08:10,060
ما به سادگی حداکثر
119
00:08:10,060 –> 00:08:14,349
تعداد ویژگیها را میگیریم و در غیر این صورت
120
00:08:14,349 –> 00:08:20,759
حداقل خود و پاها و شکل نقطه X را
121
00:08:20,759 –> 00:08:24,789
یک میگیریم، بنابراین این فقط اطمینان حاصل می کند که
122
00:08:24,789 –> 00:08:27,729
هرگز نمی تواند بیشتر از تعداد
123
00:08:27,729 –> 00:08:31,950
واقعی ویژگی ها باشد و اکنون
124
00:08:31,950 –> 00:08:40,240
روش درخت رشد را اجرا می کنیم که خود به خود می گیرد و
125
00:08:40,240 –> 00:08:45,370
سپس x و y می شود و همچنین
126
00:08:45,370 –> 00:08:46,770
عمقی
127
00:08:46,770 –> 00:08:49,380
که در ابتدا صفر است، بنابراین باید
128
00:08:49,380 –> 00:08:55,560
آن را پیگیری کنیم. عمق و اکنون ل t این
129
00:08:55,560 –> 00:08:58,110
کار را انجام دهید، بنابراین ابتدا بیایید تعداد
130
00:08:58,110 –> 00:09:02,339
نمونه ها و تعداد ویژگی ها را بدست آوریم که این
131
00:09:02,339 –> 00:09:07,500
شکل نقطه X است و سپس می
132
00:09:07,500 –> 00:09:10,320
خواهیم تعداد برچسب های مختلف را نیز بدست آوریم، بنابراین
133
00:09:10,320 –> 00:09:17,430
این طول numpy منحصر به فرد Y است،
134
00:09:17,430 –> 00:09:21,959
بنابراین همه برچسب های مختلف و اکنون
135
00:09:21,959 –> 00:09:27,330
ابتدا آنچه ما در اینجا انجام می دهیم این است که ابتدا
136
00:09:27,330 –> 00:09:34,980
معیارهای توقف خود Tyria را اعمال می کنیم، بنابراین می گوییم اگر
137
00:09:34,980 –> 00:09:38,040
و اکنون دوباره به آنچه گفتیم نگاهی بیندازیم
138
00:09:38,040 –> 00:09:41,520
، بنابراین می خواهیم حداکثر
139
00:09:41,520 –> 00:09:44,850
عمق را بررسی کنیم، سپس حداقل نمونه های مورد نیاز
140
00:09:44,850 –> 00:09:47,130
را بررسی کنیم و اگر توزیع کلاس دیگری
141
00:09:47,130 –> 00:09:52,440
نداریم. می گوییم اگر و می گوییم
142
00:09:52,440 –> 00:09:56,790
عمق خودشان بزرگتر یا مساوی است حداکثر
143
00:09:56,790 –> 00:10:03,660
عمق یا اگر تعداد
144
00:10:03,660 –> 00:10:08,579
برچسب های مختلف برابر با یک باشد بنابراین اگر فقط یک
145
00:10:08,579 –> 00:10:13,649
کلاس در این گره داشته باشیم یا اگر
146
00:10:13,649 –> 00:10:19,020
تعداد نمونه داریم کوچکتر از حداقل
147
00:10:19,020 –> 00:10:24,810
نمونه های مورد نیاز است بنابراین اگر این درست است پس
148
00:10:24,810 –> 00:10:27,029
ما در یک گره برگ هستیم بنابراین می گوییم که
149
00:10:27,029 –> 00:10:36,170
مقدار برگ برابر است با خود نقطه رایج ترین
150
00:10:36,170 –> 00:10:42,690
برچسب این Y و اکنون
151
00:10:42,690 –> 00:10:45,990
گره برگ خود را ایجاد کرده و برمی گردانیم بنابراین می گوییم
152
00:10:45,990 –> 00:10:48,870
note return نکنید و سپس باید بگوییم
153
00:10:48,870 –> 00:10:53,370
مقدار برابر است با مقدار برگ و حالا مشخص می
154
00:10:53,370 –> 00:10:56,430
شود چرا من از این ستاره استفاده می کنم، بنابراین در اینجا
155
00:10:56,430 –> 00:10:59,730
باید از مقدار به عنوان کلمه کلیدی استفاده کنم و اکنون
156
00:10:59,730 –> 00:11:00,930
مشخص است که این
157
00:11:00,930 –> 00:11:05,160
یک گره برگ است و اکنون ما به این تابع کمکی نیز نیاز داریم
158
00:11:05,160 –> 00:11:08,370
تا بگوییم تا رایج ترین
159
00:11:08,370 –> 00:11:11,190
برچسب را دریافت کنیم، بنابراین بیایید این را
160
00:11:11,190 –> 00:11:17,490
اینجا بنویسیم تا بیشتر تعریف کنیم برچسب معمولی که
161
00:11:17,490 –> 00:11:22,649
خودش می شود و سپس بردار
162
00:11:22,649 –> 00:11:26,899
برچسب های کلاس را دریافت می کند و برای این ما از یک
163
00:11:26,899 –> 00:11:30,830
ماژول پایتون استفاده می کنیم، ماژول های شمارنده که می گوییم
164
00:11:30,830 –> 00:11:34,320
از شمارنده واردات مجموعه ها،
165
00:11:34,320 –> 00:11:37,920
بنابراین قبلاً در ویدیوهای قبلی در مورد این موضوع صحبت کردم،
166
00:11:37,920 –> 00:11:40,380
167
00:11:40,380 –> 00:11:41,970
لطفاً اگر نیستید بررسی کنید. با ماژول شمارنده آشنا هستیم،
168
00:11:41,970 –> 00:11:45,300
بنابراین در اینجا می توانیم یک
169
00:11:45,300 –> 00:11:49,110
شمارنده شی شمارنده برابر با شمارنده
170
00:11:49,110 –> 00:11:56,279
Y ایجاد کنیم، بنابراین این همه
171
00:11:56,279 –> 00:11:59,820
تعداد رخدادها را برای همه Yها
172
00:11:59,820 –> 00:12:02,760
شبیه به تعداد پین numpy محاسبه می کند و سپس
173
00:12:02,760 –> 00:12:05,490
ما رایج ترین تابع را داریم، بنابراین می گوییم
174
00:12:05,490 –> 00:12:10,860
بیشترین مشترک برابر است نقطه شمارنده
175
00:12:10,860 –> 00:12:15,390
رایج ترین یک، بنابراین ما فقط به
176
00:12:15,390 –> 00:12:19,050
رایج ترین برچسب نیاز داریم و این
177
00:12:19,050 –> 00:12:23,730
فهرستی از تاپل ها را برمی گرداند، بنابراین می خواهیم
178
00:12:23,730 –> 00:12:27,390
اولین عنصر لیست را داشته باشیم، بنابراین
179
00:12:27,390 –> 00:12:31,110
این متداول ترین تاپل و در tu است.
180
00:12:31,110 –> 00:12:33,570
مقدار ذخیره شده و همچنین
181
00:12:33,570 –> 00:12:36,180
تعداد دفعات وجود دارد، بنابراین ما فقط به
182
00:12:36,180 –> 00:12:40,170
مقدار نیاز داریم، بنابراین دوباره می گوییم شاخص 0،
183
00:12:40,170 –> 00:12:41,910
پس لطفاً آن را دوباره بررسی کنید
184
00:12:41,910 –> 00:12:45,540
و سپس این را برگردانیم، این
185
00:12:45,540 –> 00:12:49,230
نشان دهنده رایج ترین برچسب است، بنابراین اکنون
186
00:12:49,230 –> 00:12:56,100
ما آن را در اینجا داریم و حالا اگر
187
00:12:56,100 –> 00:12:58,529
معیارهای توقف را نداشتیم،
188
00:12:58,529 –> 00:13:02,370
ادامه می دهیم بنابراین ابتدا شاخص های ویژگی را انتخاب می کنیم
189
00:13:02,370 –> 00:13:07,700
تا شاخص های ویژگی برابر باشد با
190
00:13:07,700 –> 00:13:09,040
191
00:13:09,040 –> 00:13:14,500
انتخاب تصادفی numpy و این تعداد
192
00:13:14,500 –> 00:13:17,350
ویژگی ها را به دست می آورد بنابراین
193
00:13:17,350 –> 00:13:21,670
اعداد تصادفی را از بین 0 و تعداد
194
00:13:21,670 –> 00:13:25,180
ویژگی ها انتخاب می کند و آرایه خطا باید
195
00:13:25,180 –> 00:13:29,320
به اندازه خود نقطه و پا باشد که ما
196
00:13:29,320 –> 00:13:33,430
مشخص کردیم و همچنین می گوییم جایگزین برابر با
197
00:13:33,430 –> 00:13:36,160
نادرست است زیرا نمی
198
00:13:36,160 –> 00:13:38,800
خواهیم چندین بار شاخص های یکسانی
199
00:13:38,800 –> 00:13:48,190
داشته باشیم و اکنون جستجوی حریصانه خود را انجام می دهیم بنابراین
200
00:13:48,190 –> 00:13:54,940
بهترین را می گوییم. Thresh و best well اجازه
201
00:13:54,940 –> 00:13:56,170
دهید این کار را برعکس
202
00:13:56,170 –> 00:14:01,690
بهترین ویژگی انجام دهیم و بهترین Thresh برابر است با
203
00:14:01,690 –> 00:14:09,220
بهترین معیارهای self dot و این x
204
00:14:09,220 –> 00:14:13,900
و y و همه شاخص های ویژگی را دریافت می کند، بنابراین
205
00:14:13,900 –> 00:14:16,990
این یک روش کمکی دیگر است، بنابراین اجازه دهید
206
00:14:16,990 –> 00:14:21,900
آن را در اینجا تعریف کنیم. خودش بهترین معیار را تعریف
207
00:14:21,900 –> 00:14:27