Trong việc so sánh giữa các phương pháp, chúng tơi giữ cố định một giá trị khoảng thời gian phân tách các ứng dụng trong cùng một phần tử (Element), trên giao diện Hình 4.1 là ơ Slot time cut off Element với giá trị mặc định là 60s. Tức là ứng dụng thứ i và ứng dụng thứ i+1 được coi là sử dụng đồng thời nếu: startTime của ứng dụng thứ i+1 - stopTime của ứng dụng thứ i ≤ 60s. Nếu khoảng cách trên > 60s thì 2 ứng dụng thứ i và thứ i+1 là 2 phần tử riêng biệt
So sánh giữa các phương pháp phân tách là việc so sánh dựa trên kết quả khai phá dữ liệu của phương pháp khi cùng sử dụng giải thuật khai phá. Kết quả của giải pháp nào chỉ ra được nhiều mẫu chuỗi tuần tự, đặc biệt là các mẫu chuỗi tuần tự cĩ số lượng phần tử ≥ 2 thì giải pháp đĩ là tốt hơn. Vì giải pháp chỉ ra được nhiều mẫu chuỗi tuần tự hơn chính là giải pháp giúp chúng ta phát hiện ra các thĩi quen sử dụng phần mềm tốt hơn.
Trong ơ lựa chọn Choice mining type cĩ loại khai phá dữ liệu sau:
- Mining to get SlotTime dùng để khai phá tập dữ liệu gốc ra các mẫu chuỗi tuần tự thỏa mãn điều kiện độ hỗ trợ tối thiểu minSup, sau đĩ từ các mẫu chuỗi tuần tự cĩ số lượng phần tử lớn hơn hoặc bằng 2 ta sẽ tính ngược lại các khoảng thời gian tương ứng cho việc phân tách tồn bộ tập dữ liệu gốc thành tập dữ liệu con sao cho sinh ra được nhiều chuỗi con chứa mẫu chuỗi tuần tự nhất.
- Mining all primary sequences: khai phá tồn bộ dữ liệu gốc và đưa ra tập mẫu chuỗi tuần tự thỏa mãn điều kiện minSup
- MSS in N days (Mining Short Sequences in N Days): Khai phá dữ liệu cho tập dữ liệu mới được phân tách từ tập dữ liệu gốc ban đầy theo N ngày.
- Mining all short sequences: Khai phá tập dữ liệu mới được phân tách từ tập dữ liệu gốc theo khoảng cách thời gian tại ơ slotTime cut off sequences trên
Hình 4.1.
4.1 Bộ dữ liệu thứ nhất
Bộ dữ liệu này thu được từ 200 thiết bị, mỗi thiết bị kích hoạt từ 1 đến 3 lần ứng dụng trong một ngày từ tập 98 ứng dụng. Thời gian sử dụng là 50 ngày. Chúng tơi thu được 39.817 hàng dữ liệu.
Để so sánh giữa các phương pháp phân tách, chúng tơi lần lượt thử nghiệm trên cùng bộ dữ liệu gốc như trên. Với sự so sánh giữa số lượng mẫu chuỗi tuần tự giữa 2 phương pháp cho ta kết quả là giải pháp phân tách nào tốt hơn.
- Trước hết, chúng tơi thực nghiệm theo phương pháp phân tách theo hành vi sử dụng. Áp dụng loại khai phá dữ liệu Mining to get SlotTime để tính khoảng thời gian cho việc phân tách. Kết quả khai phá mẫu tuần tự chỉ cĩ 2 item trở lên và khoảng thời gian phân tách, được chỉ ra tại Hình B.1 trong Phụ lục B của Luận văn này. Để minh họa cho việc tìm ra các mẫu chuỗi tuần tự cĩ độ lớn hơn
hoặc bằng 2 và khoảng thời gian phân tách tương ứng, chúng tơi lấy 2 dịng dữ liệu từ Hình B.1 ra làm ví dụ như Bảng 4.1 sau:
Bảng 4.1 Một số mẫu trong Hình B.1 và ý nghĩa phân tách
Kết quả Ý nghĩa
LightBike,Ragdoll Blaster 3 Lite count = 140 | time: 86181...86200 seconds
Mẫu chuỗi sử dụng 2 phần mềm: LightBike và
Ragdoll Blaster 3 Lite, nếu phân tách chuỗi dài
ban đầu với slotTime nằm trong khoảng
86182…86200 seconds thì ta sẽ thu được 140
mẫu chuỗi hành vi này
Tiny Village,Big Win Soccer
count = 139 | time: 86260...86307 seconds
Mẫu chuỗi sử dụng 2 phần mềm: Tiny Village,
và Big Win Soccer, nếu phân tách chuỗi dài ban
đầu với slotTime nằm trong khoảng
86261...86307 seconds thì ta sẽ thu được 139 mẫu chuỗi hành vi này
Từ dữ liệu thu được tại Hình B.1 chúng tơi lấy 2 giá trị slotTime để phân tách (giá trị slotTime = 86182s là slotTime tối thiểu để phân tách chuỗi gốc
thành chuỗi con), ứng với các độ hỗ trợ tối thiểu, chúng ta cĩ bảng kết quả 4.2 sau:
Bảng 4.2 Kết quả thử nghiệm trên bộ dữ liệu 1 phân tách theo hành vi
SlotTime minSup (%) Pattern_1 Pattern ≥ 2 Tổng Pattern Hình vẽ 86182s 65 70 0 70 B.2 60 96 0 96 B.3 55 98 0 98 B.4 50 98 0 98 B.5 45 98 259 357 B.6 40 98 2934 3032 B.7 35 98 7977 8075 B.8
- Áp dụng phương pháp phân tách theo ngày với các tham số, ta cĩ bảng kết quả 4.3 sau:
Bảng 4.3 Kết quả thử nghiệm trên bộ dữ liệu 1 phân tách theo ngày
N (ngày)
minSup
(%) Pattern_1 Pattern≥2 Tổng Pattern Hình vẽ
10 40 0 0 0 35 4 0 4 B.9 30 88 0 88 B.10 25 65 15 0 15 B.11 60 76 0 76 B.12
55 97 0 97 B.13 50 98 0 98 B.14 45 98 0 98 B.15 40 98 0 98 B.16 35 98 0 98 B.17 30 98 267 365 B.18
Để so sánh, chúng tơi lấy kết quả tại 2 bảng là Bảng 4.2 và Bảng 4.3 để cùng vẽ đồ thị với độ hỗ trợ từ 65% giảm xuống cịn 45% như Hình 4.2 sau
Hình 4.2 Đồ thị so sánh giữa 2 giải pháp phân tách bộ dữ liệu 1 với minSup ={45% - 65%}
Trên hình 4.2 trên, chúng ta thấy đường nét liền thể hiện kết quả khai phá dữ liệu qua phương pháp phân tách theo slotTimex = 86182s
Đường nét đứt là kết quả khai phá với giải pháp phân tách theo ngày, N=25 ngày và N = 10 ngày. 0 50 100 150 200 250 300 350 400 1 2 3 4 5 % p a tt e rn slotTime=86182s N=25 Days N=10 Days 65 60 55 50 45
Để thấy rõ được sự khác biệt của 2 phương pháp trên, chúng tơi vẽ đồ thị tại Hình 4.3 với độ hỗ trợ minSup từ 65% xuống đến 35% giữa phương pháp phân tách theo giá trị slotTime = 86182s và tách theo ngày với N = 25 ngày.
Hình 4.3 Đồ thị so sánh giữa 2 giải pháp phân tách bộ dữ liệu 1 với minSup ={35% - 65%}
Từ kết quả trên ta cĩ nhận xét sau: Với độ hỗ trợ tối thiểu từ 50% trở lên thì kết quả khai phá của 2 phương pháp phân tách (theo số ngày = 25 ngày, theo khoảng thời gian phân tách slotTime = 86182s) là tương đương. Tuy nhiên, khi ta hạ độ hỗ trợ tối thiểu xuống đến 35% thì ta nhận thấy ngay phương pháp phân tách theo khoảng thời gian hiệu quả hơn hẳn so với phương pháp phân tách theo ngày, cụ thể là: tại độ hỗ trợ tối thiểu là 45%, 40%, 35% thì phương pháp phân tách theo ngày (25 ngày) khơng phát hiện ra được thĩi quen nào sử dụng 2 phần mềm. Trong khi đĩ, kết quả khai phá cho phương án phân tách theo khoảng thời gian slotTime là rất khác biệt như tại minSup = 45% đã phát hiện được 259 thĩi quen sử dụng 2 phần mềm, tại minSup = 35% thì đã phát hiện được 7977 thĩi quen sử dụng 2 phần mềm. 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1 2 3 4 5 6 7 % p a tt e rn sloTime = 86182s N=25Days 65 60 55 50 45 40 35
Như vậy, việc phân tách dữ liệu theo khoảng thời slotTime như trên cĩ hiệu quả hơn so với việc phân tách theo ngày vì cùng một độ hỗ trợ tối thiểu như nhau thì giải pháp phân tách theo khoảng thời gian giúp ta tìm được nhiều mẫu tuần tự (thĩi quen) hơn.
Trong bộ dữ liệu này, mỗi máy kích hoạt ứng dụng từ 1 đến 3 lần mỗi ngày việc phân tách theo thời gian quá nhỏ (slotTime = 36001s) sẽ khơng đem lại kết quả gì như Hình B.22. Cũng cĩ kết quả tương tự khi chúng ta phân tích theo 1 ngày, 3 ngày như Hình B.20, Hình B.21
Từ những nhận xét trên, ta nhận thấy, mặc dù cĩ những thĩi quen sử dụng các mẫu phần mềm trong một khoảng thời gian khơng dài và chỉ được phát hiện qua phương án phân tách theo thời gian (đủ lớn) mà khơng phát hiện được qua các phương án phân tách khác.
4.2. Bộ dữ liệu thứ 2
Trong bộ dữ liệu thứ 1, mỗi thiết bị kích hoạt tối thiểu 1 lần phần mềm và tối đa là 3 lần kích hoạt phần mềm mỗi ngày nên việc tìm ra khoảng thời gian là
86182s (23h 56’ ) dẫn đến chưa cĩ sự phân tách từ một số chuỗi gốc thành các
chuỗi con. Để hạn chế việc trên, chúng tơi sử dụng bộ dữ liệu sau gồm cĩ 200 thiết bị, 49 ứng dụng, 30 ngày sử dụng, mỗi một thiết bị sử dụng từ 0 đến 10 ứng dụng trong 1 ngày. Với bộ dữ liệu này cĩ thể sẽ nâng cao khả kết quả khai phá cho phương án phân tách theo ngày do các thiết bị sử dụng nhiều ứng dụng trên 1 ngày hơn, số lượng phần mềm cho bộ dữ liệu 2 này ít hơn.
Để tìm khoảng thời gian phân tách các chuỗi gốc ban đầu thành các chuỗi ngắn, chúng tơi sử dụng tùy chọn Mining to get SlotTime để tính khoảng thời
gian cho việc phân tách. Kết quả khai phá mẫu tuần tự chỉ cĩ 2 item trở lên và khoảng thời gian phân tách, được chỉ ra tại Hình B.23 trong Phụ lục B của Luận văn này. Giả sử slotTime ngưỡng dùng để phân tách là 86001s (0.995 ngày), giá trị slotTime ngưỡng này nhỏ hơn nhiều so với giá trị slotTime nhỏ nhất trong Hình B.9 là 137180s (≈ 1 ngày 14 giờ). Với giá trị slotTime ngưỡng như vậy liệu cĩ phân tách hiệu quả hơn so với phương án phân tách theo ngày khơng? Và hiệu quả hơn khi số ngày dùng để phân tách là bao nhiêu?. Để lý giải điều này, chúng tơi lần lượt thử nghiệm trên bộ dữ liệu với các giá trị slotTime ngưỡng, số ngày phân tách là 5, 7, 10 và thu được một số kết quả như sau:
Với giá trị slotTime này chúng tơi cĩ bảng kết quả khai phá như Bảng 4.3 dưới đây:
Bảng 4.3 Kết quả thử nghiệm trên bộ dữ liệu 2 phân tách theo hành vi
SlotTime minSup Pattern1 Pattern2 Hình vẽ
86001s 50 3 0 B.24 45 40 0 B.25 40 49 0 B.26 35 49 0 B.27 30 49 0 B.28 25 49 6 B.29 20 49 1393 B.30
Với bộ dữ liệu này khi ta tiến hành khai phá theo thời gian phân tách theo ngày ta cĩ kết quả tại Bảng 4.4 sau:
Bảng 4.4 Kết quả thử nghiệm trên bộ dữ liệu 2 phân tách theo ngày
N minSup (%) Pattern_1 Pattern_2 Hình vẽ
5 45 0 0 B.31 40 5 0 B.32 35 45 0 B.33 30 49 0 B.34 25 49 0 B.35 20 49 0 B.36 7 40 0 0 B.37 35 34 0 B.38 30 49 0 B.39 25 49 0 B.40 20 49 0 B.41 10 50 47 0 B.42 45 49 0 B.43 40 49 0 B.44 35 49 0 B.45 30 49 44 B.46 25 49 1151 B.47 20 49 2345 B.48
Để dễ quan sát và so sánh giữa 2 giải pháp, chúng tơi vẽ đồ thị so sánh như sau:
- So sánh phương pháp phân tách slotTime = 0.995 ngày với phương án phân tách theo ngày với n = 5 ngày, n = 7 ngày với độ hỗ trợ từ 50% giảm xuống 25% được mơ tả tại Hình 4.3