در این مطلب، ویدئو آموزش 1: قسمت 3A: کدگذاری الگوریتم apriori در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:18:21
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,480 –> 00:00:03,040
سلام به همه در این ویدیو،
2
00:00:03,040 –> 00:00:05,200
ما قصد داریم تا کدگذاری
3
00:00:05,200 –> 00:00:08,799
الگوریتم پیشینی را در پایتون
4
00:00:09,120 –> 00:00:11,440
شروع کنیم، بنابراین فرض میکنم که
5
00:00:11,440 –> 00:00:12,559
دادهها در یک
6
00:00:12,559 –> 00:00:16,079
فایل متنی مانند این میآیند، به عنوان مثال
7
00:00:16,079 –> 00:00:18,720
درست جایی که ما اساساً همه
8
00:00:18,720 –> 00:00:21,039
موارد یا محصولاتی را
9
00:00:21,039 –> 00:00:24,560
که um جدا شدهاند فهرست میکنیم. با کاما و هر
10
00:00:24,560 –> 00:00:28,720
سطر uh با یک تراکنش مطابقت دارد،
11
00:00:28,720 –> 00:00:30,800
همچنین مهم نیست که نامها چیست،
12
00:00:30,800 –> 00:00:31,920
بنابراین
13
00:00:31,920 –> 00:00:34,640
در اینجا میتواند مانند سیب و پیاز
14
00:00:34,640 –> 00:00:35,200
و
15
00:00:35,200 –> 00:00:37,200
شیر باشد، درست مهم نیست زیرا
16
00:00:37,200 –> 00:00:38,640
الگوریتم آنها را به عنوان
17
00:00:38,640 –> 00:00:43,040
رشته ارسال میکند، بنابراین به یاد بیاورید که هر سطر
18
00:00:43,040 –> 00:00:45,280
یک تراکنش خواهد بود و
19
00:00:45,280 –> 00:00:46,160
آیتم
20
00:00:46,160 –> 00:00:49,440
ها با کاما خوب از هم جدا می شوند،
21
00:00:49,440 –> 00:00:52,320
بنابراین اولین کاری که باید انجام دهیم این است
22
00:00:52,320 –> 00:00:53,039
23
00:00:53,039 –> 00:00:56,079
که تابعی را تعریف کنیم
24
00:00:56,079 –> 00:00:58,320
که تراکنش ها را از فایل بارگیری
25
00:00:58,320 –> 00:01:00,320
26
00:01:00,320 –> 00:01:05,280
می کند تا بتوانیم کارهای زیر را انجام دهیم تا تماس بگیریم.
27
00:01:05,280 –> 00:01:07,760
تراکنش ها را به درستی بارگیری می
28
00:01:07,760 –> 00:01:09,760
کند و مسیر را دریافت می کند
29
00:01:09,760 –> 00:01:12,880
که در
30
00:01:12,880 –> 00:01:15,920
آن داده ها درست است و همچنین
31
00:01:15,920 –> 00:01:17,119
ترتیب را دریافت
32
00:01:17,119 –> 00:01:18,720
می کند زیرا به یاد داشته باشید که
33
00:01:18,720 –> 00:01:21,360
الگوریتم به ترتیب واژگانی نیاز دارد
34
00:01:21,360 –> 00:01:25,680
و ما لیست ite را مرتب می کنیم
35
00:01:25,680 –> 00:01:29,040
ms در هر تراکنش
36
00:01:29,040 –> 00:01:32,240
مطابق با آن ترتیب درست است،
37
00:01:32,240 –> 00:01:35,600
بنابراین بیایید
38
00:01:35,600 –> 00:01:38,720
از لیستی استفاده کنیم که در آن
39
00:01:38,720 –> 00:01:40,240
تراکنشها را اضافه
40
00:01:40,240 –> 00:01:44,320
میکنیم و اکنون باید فایل
41
00:01:46,159 –> 00:01:49,920
را باز کنیم تا مسیر دادهها باشد.
42
00:01:52,840 –> 00:01:54,079
43
00:01:54,079 –> 00:01:57,119
44
00:01:57,119 –> 00:02:00,880
سپس ما میخواهیم
45
00:02:00,880 –> 00:02:08,560
روی هر خط در فایل حلقه بزنیم، راست
46
00:02:08,560 –> 00:02:14,160
اوم، ابتدا فهرستی
47
00:02:14,160 –> 00:02:17,360
از رشته ایجاد
48
00:02:17,360 –> 00:02:18,959
49
00:02:18,959 –> 00:02:23,599
50
00:02:23,599 –> 00:02:26,720
میکنم.
51
00:02:26,720 –> 00:02:28,879
52
00:02:30,000 –> 00:02:33,840
53
00:02:34,239 –> 00:02:38,080
که به درستی نام محصول نیستند
54
00:02:38,080 –> 00:02:40,239
و سپس
55
00:02:40,239 –> 00:02:42,640
56
00:02:42,720 –> 00:02:45,760
با استفاده از سمت راست جداسازی با کاما را تقسیم
57
00:02:45,760 –> 00:02:48,959
می کنیم، بنابراین ما یک
58
00:02:48,959 –> 00:02:52,160
لیست از موارد را
59
00:02:52,160 –> 00:02:57,280
داریم، اکنون باید از شر
60
00:02:57,280 –> 00:03:00,319
هر گونه تکرار موارد
61
00:03:00,319 –> 00:03:03,920
در یک ردیف خلاص شویم، زیرا در حداقل در
62
00:03:03,920 –> 00:03:05,200
نسخه ای که در حال پیاده
63
00:03:05,200 –> 00:03:06,959
سازی نسخه وانیلی
64
00:03:06,959 –> 00:03:08,480
الگوریتم زنبورستان
65
00:03:08,480 –> 00:03:11,360
هستیم،
66
00:03:11,360 –> 00:03:12,159
تعداد دفعاتی که
67
00:03:12,159 –> 00:03:15,599
یک مورد
68
00:03:15,599 –> 00:03:19,120
در یک تراکنش اتفاق می افتد را در نظر نمی گیریم، به عنوان مثال
69
00:03:19,120 –> 00:03:20,879
اگر یک تراکنش وجود داشته باشد که
70
00:03:20,879 –> 00:03:22,959
دارای سه
71
00:03:22,959 –> 00:03:25,920
جعبه شیر باشد. ما فقط میخواهیم
72
00:03:25,920 –> 00:03:27,120
آن را به عنوان
73
00:03:27,120 –> 00:03:30,159
شیر در نظر بگیریم، ما از
74
00:03:30,159 –> 00:03:33,200
تعداد تکرارها استفاده
75
00:03:33,200 –> 00:03:36,720
نمیکنیم، بنابراین میتوانیم این کار را با استفاده از
76
00:03:39,360 –> 00:03:44,000
آن انجام دهیم، میتوانیم از تابع
77
00:03:44,799 –> 00:03:48,080
numpy منحصربهفرد لیست uh قبلی استفاده کنیم،
78
00:03:48,080 –> 00:03:49,680
بنابراین با منحصربهفرد میخواهیم
79
00:03:49,680 –> 00:03:53,200
تکرارها را حذف کنیم.
80
00:03:54,799 –> 00:04:00,799
بنابراین باید numpy را بهعنوان np وارد کنیم،
81
00:04:00,799 –> 00:04:04,799
خب، حالا باید
82
00:04:04,799 –> 00:04:07,360
این تراکنش را بر اساس
83
00:04:07,360 –> 00:04:09,439
ترتیب لغوی مرتب کنیم،
84
00:04:09,439 –> 00:04:12,159
بنابراین این کار با
85
00:04:12,159 –> 00:04:14,560
استفاده از تابع مرتبسازی
86
00:04:14,560 –> 00:04:17,759
لیست انجام میشود تا بتوانیم مانند یک کلید در اینجا
87
00:04:17,759 –> 00:04:20,880
از یک تابع لامبدا عبور دهیم.
88
00:04:20,959 –> 00:04:24,479
که um قرار است
89
00:04:24,479 –> 00:04:28,639
ترتیب را بر اساس
90
00:04:28,639 –> 00:04:32,479
نمایه آن اعمال کند،
91
00:04:32,479 –> 00:04:35,759
مثلاً چرا چون اگر فرض کنیم
92
00:04:35,759 –> 00:04:36,639
که
93
00:04:36,639 –> 00:04:40,080
ترتیب حداقل به این صورت
94
00:04:40,080 –> 00:04:45,440
درست است i1
95
00:04:49,199 –> 00:04:53,040
مثلاً فرض کنید فقط چهار وجود دارد،
96
00:04:54,720 –> 00:04:57,759
اساساً کاری که انجام میدهیم شبیه است
97
00:04:57,759 –> 00:05:00,479
ترتیب چیزی که در
98
00:05:00,479 –> 00:05:01,360
لیست سفارش
99
00:05:01,360 –> 00:05:04,560
مهم است درست ایندکس است زیرا در پایان اگر
100
00:05:04,560 –> 00:05:05,039
یکی از
101
00:05:05,039 –> 00:05:08,720
آیتم ها بزرگتر از موارد دیگر
102
00:05:08,720 –> 00:05:11,280
در این لیست باشد، فقط
103
00:05:11,280 –> 00:05:12,240
به نمایه
104
00:05:12,240 –> 00:05:15,440
یا موقعیت
105
00:05:15,440 –> 00:05:18,320
um مورد در این لیست بستگی دارد، بنابراین به
106
00:05:18,320 –> 00:05:19,120
همین دلیل است که ما استفاده کنید
107
00:05:19,120 –> 00:05:23,039
دستور um به عنوان تابع لامبدا
108
00:05:23,039 –> 00:05:25,840
درست است،
109
00:05:26,320 –> 00:05:30,240
پس خوب است، پس از این، میتوانیم
110
00:05:30,240 –> 00:05:33,440
این
111
00:05:33,440 –> 00:05:37,360
تراکنش را به لیست تراکنشها اضافه کنیم
112
00:05:37,360 –> 00:05:39,840
و در
113
00:05:40,560 –> 00:05:43,919
نهایت تراکنشها را
114
00:05:47,919 –> 00:05:50,960
115
00:05:50,960 –> 00:05:52,560
116
00:05:52,560 –> 00:05:56,400
117
00:05:56,400 –> 00:06:00,160
برمیگردانیم، بنابراین حالا بیایید از این تابع برای بارگیری تراکنشها استفاده کنیم و ببینیم آیا کار میکند، بنابراین من numpy را وارد میکنم. np در اینجا
118
00:06:00,160 –> 00:06:05,199
و همچنین من می خواهم از
119
00:06:05,199 –> 00:06:08,639
Utils این فایل را وارد کنم، همان فایلی
120
00:06:08,639 –> 00:06:12,080
را که تابع را
121
00:06:12,400 –> 00:06:14,639
122
00:06:15,919 –> 00:06:18,240
نوشتم، فعلا همه چیز را وارد نمی کنم، می
123
00:06:18,240 –> 00:06:19,199
دانم که فقط
124
00:06:19,199 –> 00:06:21,440
چند توابع آنها را می نویسم، بنابراین به طور
125
00:06:21,440 –> 00:06:22,960
کلی نباید وارد کنیم همه چیز از
126
00:06:22,960 –> 00:06:25,360
فایلهایی که ما واقعاً نمیدانیم چند
127
00:06:25,360 –> 00:06:26,639
تابع وجود دارد،
128
00:06:26,639 –> 00:06:30,000
اما برای این اهداف خوب است، بنابراین
129
00:06:30,000 –> 00:06:31,919
بیایید بگوییم که اکنون میخواهیم
130
00:06:31,919 –> 00:06:33,440
دادهها را بارگیری کنیم،
131
00:06:33,440 –> 00:06:38,720
بنابراین من این کار را اینجا انجام
132
00:06:39,360 –> 00:06:42,400
میدهم و سپس اوکی اوم
133
00:06:42,400 –> 00:06:45,600
پس ما ما باید
134
00:06:45,600 –> 00:06:49,759
مسیر داده را درست تعریف کنیم، یعنی
135
00:06:49,759 –> 00:06:53,599
جایی که
136
00:06:53,599 –> 00:06:55,520
داده های ما در مورد من هستند، من آنها را در یک
137
00:06:55,520 –> 00:06:57,599
پوشه به نام داده دارم و سپس یک
138
00:06:57,599 –> 00:07:00,720
و داده یک
139
00:07:00,720 –> 00:07:04,560
نقطه txt um
140
00:07:04,560 –> 00:07:07,919
همچنین به یاد داشته باشید که باید یک ترتیب را درست تعریف کنیم،
141
00:07:07,919 –> 00:07:10,960
بنابراین در این مورد با توجه به اینکه
142
00:07:10,960 –> 00:07:14,720
می دانیم موارد um i هستند 1
143
00:07:14,720 –> 00:07:18,160
i2 تا i5 بنابراین ما میتوانیم کاری شبیه به این انجام دهیم،
144
00:07:18,160 –> 00:07:20,479
145
00:07:21,919 –> 00:07:24,960
بنابراین ترتیب باید حداقل درست باشد
146
00:07:24,960 –> 00:07:29,280
و من این کار را به این ترتیب انجام میدهم.
147
00:07:29,280 –> 00:07:31,840
148
00:07:33,840 –> 00:07:36,800
149
00:07:36,800 –> 00:07:38,560
150
00:07:38,560 –> 00:07:41,919
151
00:07:41,919 –> 00:07:45,520
i3 بنابراین اجازه دهید به عنوان مثال سفارش چاپ را
152
00:07:45,520 –> 00:07:47,919
در اینجا ببینیم که این
153
00:07:47,919 –> 00:07:49,440
ترتیب
154
00:07:49,440 –> 00:07:53,360
درست است، بسیار خوب، بنابراین حالا بیایید از تابع استفاده
155
00:07:53,360 –> 00:07:58,240
156
00:07:58,240 –> 00:08:00,400
کنیم تا تراکنشها برابر
157
00:08:00,400 –> 00:08:01,919
با بارگذاری
158
00:08:01,919 –> 00:08:05,039
تراکنشها باشند
159
00:08:05,039 –> 00:08:09,360
و ما مسیر دادهها را رد کنیم
160
00:08:09,360 –> 00:08:15,120
و همچنین ترتیب بسیار خوب است، بنابراین بیایید
161
00:08:15,599 –> 00:08:19,039
تراکنش ها را ببینیم و
162
00:08:19,039 –> 00:08:22,319
در اینجا به سمت راست برویم،
163
00:08:22,400 –> 00:08:26,000
خب حالا برای مثال فرض کنید اکنون
164
00:08:26,000 –> 00:08:29,759
می خواهیم مقداردهی اولیه را انجام
165
00:08:35,519 –> 00:08:38,839
دهیم و با c1 شروع می کنیم،
166
00:08:38,839 –> 00:08:42,000
بنابراین می خواهیم
167
00:08:42,000 –> 00:08:45,040
c مجموعه ای از نامزدها را
168
00:08:45,040 –> 00:08:48,880
به عنوان یک فرهنگ لغت به درستی نشان دهیم. همین مورد برای l
169
00:08:48,880 –> 00:08:52,839
که در آن کلیدها
170
00:08:52,839 –> 00:08:54,640
تکرار خواهند بود
171
00:08:54,640 –> 00:08:58,080
و اوه، به طوری که ما
172
00:08:58,080 –> 00:08:58,880
تکرارها
173
00:08:58,880 –> 00:09:02,000
را روی اندازه مجموعه آیتم ها درست انجام می دهیم تا
174
00:09:02,000 –> 00:09:06,839
c بتواند به عنوان um شروع شود
175
00:09:06,839 –> 00:09:08,800
176
00:09:08,800 –> 00:09:11,760
، فرض کنید اندازه مجموعه آیتم با یک شروع می شود.
177
00:09:11,760 –> 00:09:14,000
178
00:09:14,000 –> 00:09:17,200
خوب و سپس اولین چیز این است که
179
00:09:17,200 –> 00:09:17,519
180
00:09:17,519 –> 00:09:19,360
c قرار است init باشد با
181
00:09:19,360 –> 00:09:21,360
اندازه مجموعه آیتم برابر با یک به سمت راست و
182
00:09:21,360 –> 00:09:22,480
سپس در اینجا ما
183
00:09:22,480 –> 00:09:25,760
همه
184
00:09:25,760 –> 00:09:28,800
نامزدها را از مجموع مجموعه آیتمهای اندازه یک قرار میدهیم، بنابراین