Mục lục
Business Intelligence (BI)
Hiện nay, khái niệm về Business Intelligence (BI, tạm dịch là Kinh doanh thông
minh hay trí tuệ doanh nghiệp) ở Việt Nam còn khá mới mẻ và các doanh nghiệp
lớn ở Việt Nam Vẫn chưa triển khai BI vì rất nhiều lý do.
Có rất nhiều định nghĩa về BI như dưới đây, mỗi định nghĩa nêu lên một đặc trưng
nổi bật của BI nhưng chung qui lại tất cả đều đề cập đến khả năng trợ giúp ra
quyết định hiệu quả trong kinh doanh của BI.
Dưới đây là một số định nghĩa về BI
Business Intelligence đề cập đến các kỹ năng, qui trình, công nghệ, ứng dụng được
sử dụng để hỗ trợ ra quyết định (Business Intelligence (BI) refers to skills,
processes, technologies, applications and practices used to support decision
making).
BI là các ứng dụng và công nghệ để chuyển dữ liệu doanh nghiệp thành hành động
(BI is the applications and technologies transforming Business Data into Action)
Hoặc
BI là công nghệ mới giúp doanh nghiệp hiểu biết về quá khứ và dự đoán tương lai
(BI is the new technology for understanding the past & predicting the future)
Tóm lại:
BI là qui trình và công nghệ mà các doanh nghiệp dùng để kiểm soát khối lượng dữ
liệu khổng lồ, khai phá tri thức giúp cho các doanh nghiệp có thể đưa các các quyết
định hiệu quả hơn trong hoạt động kinh doanh của mình. Công nghệ BI (BI
technology) cung cấp một cách nhìn toàn cảnh hoạt động của doanh nghiệp từ quá
khứ, hiện tại và các dự đoán tương lai. Mục đích của BI là hỗ trợ cho doanh nghiệp
ra quyết định tốt hơn. Vì vậy một hệ thống BI (BI system) còn được gọi là hệ
thống hỗ trợ quyết đinh (Decision Support System -DSS)
Các thành phần chính của hệ thống BI được mô tả như hình dưới đây
Vấn đề cốt lõi trong hệ thống BI là kho dữ liệu (Data Warehouse) và khai phá dữ
liệu (Data Mining) vì dữ liệu dùng trong BI là dữ liệu tổng hợp (Nhiều nguồn,
nhiều định dạng, phân tán và có tính lịch sử) đó là đặc trung của kho dữ liệu. Đồng
thời việc phân tích dữ liệu trong BI không phải là những phân tích đơn giản (query,
Filtering) mà là những kỹ thuật trong khai phá dữ liệu (Data Mining) dùng để phân
loại (classification) phân cụm (clustering), hay dự đoán (Prediction). Vì vậy BI có
mối quan hệ rất chặt chẽ với Data Warehouse và Data mining.
Hệ thống BI đơn giản có thể được xem là sự kết hợp của 3 thành phần chính như
sau:
Trong đó:
Data Warehouse (Kho dữ liệu): Chứa dữ liệu tổng hợp của doanh nghiệp
Data Mining (Khai phá dữ liệu): Các kỹ thuật dùng để khai phá dữ liệu và phát
hiện tri thức như phân loại (Classification), phân nhóm (clustering), phát hiện luật
kết hợp (Association Rule), Dự đoán (Predcition),…
Business Analyst (Phân tích kinh Doanh: Các nhà lãnh đạo Doanh nghiệp đưa ra
những quyết định chiến lược đối với hoạt động kinh doanh của doanh nghiệp.
Dưới đây là quan điểm của SAS về BI
BI có lợi ích gì?
• BI làm tăng khả năng kiểm soát thông tin của doanh nghiệp một cách chính
xác, hiệu quả từ đó có thể phân tích, khai phá tri thức giúp doanh nghiệp có
thể dự đoán về xu hướng của giá cả dịch vụ, hành vi khách hàng, phát hiện
khách hàng tiềm năng để đề ra các chiến lược kinh doanh phù hợp nhằm
tăng khả năng cạnh tranh doanh nghiệp.
• BI giúp cho các doanh nghiệp sử dụng thông tin một cách hiệu quả, chính
xác để thích ứng với môi trường thay đổi liên tục và cạnh tranh khốc liệt
trong kinh doanh.
• Ra các quyết định kinh doanh hiệu quả hơn
• Xác định được vị trí và sức cạnh tranh của DN
• Phân tích hành vi khách hàng
• Xác định mục đích và chiến lược Marketing
• Dự đoán tương lai của doanh nghiệp
• Xây dựng chiến lược kinh doanh
• Giữ được khách hàng có giá trị và dự đoán khách hành tiềm năng
Các công nghệ hỗ trợ BI (Technologies supporting for BI)
• Kho dữ liệu (Data warehousing),
• Hệ thống hoạch định nguồn lực Doanh nghiệp (Enterprise resource
planning (ERP) systems)
• Công nghệ truy vấn và lập báo cáo (Query and report writing
technologies)
• Công cụ khai phá và phân tích dữ liệu (Data mining and analytics tools)
• Hệ thống hỗ trợ ra quyết định (Decision support systems)
• Quản lý quan hệ khách hàng (Customer relation management)
Lưu ý
Mặc dù chúng ta gọi là Business Intelligence (BI) nhưng khái niệm và các kỹ thuật
của BI có thể dùng được cho hầu hết các tổ chức kinh tế xã hội như giáo dục
(Education), chính phủ(Government), chăm sóc sức khỏe (health care)….
Các hoạt động chính của IB (BI Activities)
• Hỗ trợ quyết định (decision support),
• Truy vấn và báo cáo (query and reporting),
• Phân tích xử lý trực tuyến (online analytical processing (OLAP)),
• Phân tích thống kê (statistical analysis),
• Dự đoán (forecasting), và
• Khai phá dữ liệu (data mining).
Business Intelligence Development Studio (BIDS) của
Microsoft
BIDS là công cụ cho phép tổ chức quản lý và khai thác kho dữ liệu (Xử lý
phân tích trực tuyến) cũng như xây dựng các mô hình khai phá dữ liệu rất dễ sử
dụng và hiệu quả của Microsoft.
BIDS cho phép triển khai các mô hình khai phá dữ liệu sau:
Micorosft Decision Tree (Cây quyết định)
Microsoft Clustering (Phân cụm)
Micorosoft Naive Bayes(Phân lớp với Bayes Rules)
Micorosoft Time Series (Chuỗi thời gian)
Micorosoft Association (Luật kết hợp)
Micorsoft Sequence Clustering (Phân tích chuỗi)
Microsoft Neural Network (Mạng Neural)
Micorsoft Linear Regression(Hồi qui tuyến tính)
Micorsoft Logistics Regression(Hồi qui logistics)
Qui trình Xây dựng mô hình khai phá dữ liệu với BIDS như sau :
• Tạo mới 1 project (Analysis Services Project)
• Tạo một Data Source
• Tạo một Data Source View
• Tạo một Mining model structure.
• Tạo các Mining models.
• Khai thác Mining models.
• Kiểm tra độ chính xác của Mining Models.
• Sử dụng Mining Models để dự đoán.
Mô tả dữ liệu và mục tiêu khai phá dữ liệu
Cơ sở dữ liệu được sử dụng để minh họa trong bài viết này có tên là
AdventureWorksDW, đây là kho dữ liệu của công ty Adventure Works chuyên sản
xuất xe đạp. Cơ sở dữ liệu mẫu này có sẵn khi bạn cài SQL Server. Mục đích của
việc xây dựng các mô hình khai phá dữ liệu nhằm để phân loại khách hàng, tìm ra
các khách hàng tiềm năng cũng như dự đoán được khách hàng nào có thể mua sản
phẩm của công ty Adventure Works giúp cho bộ phận Marketing xây dựng các
chiến lược quảng cáo, tiếp thị nhằm mở rộng thị trường, tìm kiếm khách hàng, mở
rộng kinh doanh.
Sau đây mô tả chi tiết từng bước quá trình xây dựng mô hình khai phá dữ liệu với
BIDS
1.ThuËt to¸n c©y quyÕt ®Þnh (MS Decision Tree):
a. Gới thiệu
Cây quyết định là một flow-chart có cấu trúc cây. Trong đó mỗi node biểu
diễn giá trị của mỗi thuộc tính đầu vào và node lá đại diện cho các phân loại còn
các nhánh đại diện cho luật kết hợp các thuộc tính dẫn tới phân loại đó.
b. Nguyên tắc cơ bản của giải thuật
Nguyên tắc cơ bản của giải thuật cây quyết định là chia dữ liệu một cách đệ quy
từ trên xuống và theo cách thức chia để trị thành các tập hợp con.
- Ban đầu toàn bộ dữ liệu ở gốc,
- Chọn thuộc tính phân loại tốt nhất( mục đích làm tối thiểu hóa,
chẳng hạn tối thiểu chiều cao của cây),
- Dữ liệu đợc phân chia theo các trạng thái của thuộc tính đợc chọn.
Lặp lại quá trình trên với tập dữ liệu ở mỗi nút vừa tạo ra. Điều kiện để dừng
phân chia là:
- ở một nút tất cả phần tử của dữ liệu tại nút đó thuộc về cùng một
lớp.
- Không còn thuộc tính nào để thực hiện phân chia tiếp.
- Số lợng phần tử của dữ liệu tại một nút bằng không, trong thực tế tập
dữ liệu đầu vào rất lớn, với điều kiện dừng này cây quyết định thu đợc rất phức tạp,
với những đờng đi dài. Để tránh hiện tợng này trong thuật toán MS Decision tree,
đã tích hợp tham số MINIMUM_SUPPORT để thiết lập giá trị ngỡng, không chia
một nút nếu tạo ra nút có số phần tử nhỏ hơn ngỡng này.
Để chọn thuộc tính hữu ích nhất, chúng ta cần một đại lợng mà có thể đánh
giá trờng hợp nào cho ra một sự phân chia cân bằng nhất (với chiều sâu và chiều
rộng của cây). Thuật toán MS Decision tree cung cấp 3 phơng pháp tính điểm để đo
độ lợi thông tin: Entropy, Bayesian with K2 Prior và Bayesian Dirichlet Equivalent
with Uniform prior.
Phơng pháp tính điểm Entropy:
Phơng pháp tính điểm này dựa trên công thức tính Entropy trong lý thuyết
thông tin của nhà vật lý, toán học Shannon. Lý thuyết thông tin của Shannon vào
năm 1948 cung cấp khái niệm entropy để đo tính hỗn loạn của một tập hợp. Một
tập hợp là thuần nhất nếu tất cả các phần tử của tập hợp đều thuộc cùng một loại, và
khi đó độ hỗn loạn của tập hợp này thấp nhất. Khi tập hợp thuần nhất thì ta biết
chắc chắn về giá trị của một phân tử cần phần loại có thuộc về tập này hay không?
hay ta có lợng thông tin về tập đó là cao nhất, và ngợc lại, khi tập hợp có độ hỗn
loạn cao nhất, thì ta không thể cho biết chính xác phần tử kiểm tra thuộc loại nào?
hay lợng thông tin ta có đợc về tập này là thấp ít nhất.
Giả sử một tập dữ liệu S có hai lớp: lớp N và lớp P, với n phần tử thuộc lớp N
và p phần tử thuộc lớp P. Entropy đo độ hỗn loạn của tập S nh sau:
Entropy(S) = -
)(log
2
pn
n
pn
n
++
-
)(log
2
pn
p
pn
p
++
= -p
1
log
2
p
1
- p
2
log
2
p
2
.
với p
1
=
pn
n
+
là xác suất phần tử bất kỳ thuộc lớp N,
p
2
=
pn
p
+
là xác suất phần tử bất kỳ thuộc lớp P.
Một cách tổng quát hơn, nếu S có c lớp, và p
i
là xác suất của một phần tử
trong tập dữ liệu thuộc lớp thứ i, thì ta có công thức tính entropy tổng quát:
Entropy(S)=
i
c
i
i
pp
2
1
log
=
.
Theo Shannon thì lợng thông tin nhận đợc chính là lợng giảm độ hỗn loạn
của tập dữ liệu sau khi phân chia, và ta gọi độ giảm tính hỗn loạn này là độ lợi
thông tin. Vậy, điều ta mong muốn ở đây là làm sao chọn đợc thuộc tính mà sau khi
phân chia chúng ta đợc các tập con thuần nhất, càng nhanh càng tốt. Tức là chọn
thuộc tính mang lại độ lợi thông tin lớn nhất.
Giả sử khi ta sử dụng thuộc tính A có v trạng thái{ S
1
, S
2
, , S
v
}, entropy của
tập dữ liệu sau khi phân chia trên thuộc tính này là:
Entropy(A) =
=
v
k
k
S
S
1
||
||
Entropy(S
k
).
với |S
k
| là số phần tử thuộc trạng thái S
k
của thuộc tính A và |S| là số phần tử
của tập dữ liệu S.
Và độ lợi thông tin có đợc bởi việc phân nhánh trên thuộc tính A là:
Gain(A) = Entropy(S) - Entropy(A)
Chúng ta có thể minh họa nguyên tắc của thuật toán qua việc xét ví dụ:
Phòng Marketing của công ty Adventure Works Cycle muốn dự đoán một
khách hàng với những đặc điểm đợc xác định có mua xe tại công ty hay không?,
dựa vào những đặc điểm của các khách hàng đã mua sản phẩm của công ty đợc lu
trong cơ sở dữ liệu. Bằng cách sử dụng thuật toán MS Decision tree để phân tích
những thông tin này, phòng Marketing có thể xây dựng một mô hình khai phá có
cấu trúc:
Structure TM Decsion Tree
CommuteDistance (KC từ nhà đến nơi làm
việc)
Input
BikeBuyer Predict
Age Input
CustomerKey
Key
Number Car Owner Input
Total Children Input
Bảng 2.5: Cấu trúc mô hình TM Decision Tree
Từ dữ liệu của công ty ta có các bảng sau;
BikeBuye
r
CommuteDistance
0-1 Miles 1-2 Miles 2-5 Miles 5-10 Miles 10+ Miles
1 3538 1529 1839 1318 908
0 2772 1703 1395 1896 1586
B¶ng 2.6: Sù ph©n lo¹i theo thuéc tÝnh CommuteDistance
.
H×nh 2.3: BiÓu ®å thÓ hiÖn sù ph©n lo¹i theo thuéc tÝnh CommuteDistance
Bike
Buyer
Age
<35
>=35
<42
>=42
<46
>=4
6
<54
>=5
4
<59
>=5
9
<65
>=6
5
<70
>=7
0
<74
>=7
4
<86
>=8
6
1
156
7
2700 1269 2142 912 599 351 82 53 1
0
102
3
1538 1309 2018 927 1020 475 298 173 27
B¶ng 2.7: Sù ph©n lo¹i theo thuéc tÝnh Age
H×nh 2.4: BiÓu ®å thÓ hiÖn sù ph©n lo¹i theo thuéc tÝnh Age
Bike
Buye
r
Number Car Owner
0 1 2 3 4
1 2687 2696 2589 694 466
0 1551 2187 3868 951 795
B¶ng 2.8: Sù ph©n lo¹i theo thuéc tÝnh Number Car Owner
H×nh 2.5: BiÓu ®å thÓ hiÖn sù ph©n lo¹i theo thuéc tÝnh Number Car Owner
Bike
Buyer
TotalChildren
0 1 2 3 4 5
1 2648 2172 1929 1061 875 447
0 2517 1447 1850 1133 1428 977
B¶ng 2.9: Sù ph©n lo¹i theo thuéc tÝnh Total Children
H×nh 2.6: BiÓu ®å thÓ hiÖn sù ph©n lo¹i theo thuéc tÝnh Total Children
Trong các bảng trên mỗi cột là một trạng thái của thuộc tính đầu vào, mỗi
dòng là một trạng thái của thuộc tính dự đoán, mỗi ô là số khách hàng thỏa mãn
mối tơng quan giữa một trạng thái của thuộc tính đầu vào với một trạng thái của
thuộc tính dự đoán. Các biểu đồ biểu diễn tơng quan đó. Cột màu đỏ biểu diễn số
khách hàng mua xe và cột màu xanh biểu diễn số khách hàng không mua.
Dữ liệu của công ty gồm có 18484 khách hàng trong đó có 9132 ngời mua xe,
9352 ngời không mua, nên entropy của tập dữ liệu này là:
Entropy(S) = -
18484
9132
log
2
(
18484
9132
) -
18484
9352
.log
2
(
18484
9352
)= 0,9999.
Nếu rẽ nhánh trên thuộc tính đầu vào CommuteDistance
Entropy(0-1 Miles)=
-
27723538
3538
+
log
2
(
27723538
3538
+
) -
27723538
2772
+
.log
2
(
27723538
2772
+
)= 0,9893 .
Entropy(1-2 Miles)=
-
70311529
1529
+
log
2
(
70311529
1529
+
) -
70311529
1703
+
log
2
(
70311529
1703
+
) = 0,9979
Tơng tự ta có:
Entropy(2-5 Miles) = 0,9863 ; Entropy(5-10 Miles) = 0,9765 ;
Entropy(10+ Miles)= 0,946
Do đó ta có:
Entropy(CommuteDistance) = (
18484
27723538 +
)Entropy(0-1 Miles) + (
18484
17031529
+
)Entropy(1-2 Miles) + (
18484
13951839
+
)Entropy(2-5 Miles) + (
18484
18961318
+
)Entropy(5-10 Miles) + (
18484
1586908+
)Entropy(10+ Miles)= 0,3377 + 0,1745 +
0,1726 + 0,1698 + 0,1276 = 0,9822.
Và độ lợi thông tin có đợc:
Gain(CummuteDistance) = Entropy(S) - Entropy(CummuteDistance) =
0,9999 - 0,9822 = 0,0177.
Hoàn toàn tơng tự với các thuộc tính còn lại ta có:
Gain(Age) = 0,0311 ; Gain(NumberCarOwner) = 0,0289
Gain(TotalChildren) = 0,0190.
Từ các kết quả trên ta thấy thuộc tính Age có độ lợi thông tin lớn nhất, nên
thuộc tính này sẽ đợc chọn để rẽ nhánh. Dữ liệu đợc chia thành 10 tập con tơng ứng
với 10 nút, thuật toán sẽ lặp lại quá trình trên cho mỗi nút vừa đợc tạo ra để tiếp tục
phát triển cây.
Xây dựng mô hình trên trong môi trờng BI và chọn phơng pháp tính điểm là
Entropy, thực hiện khai phá mô hình chúng ta có thể sử dụng tab Mining Model
Viewer để quan sát kết quả.
Hình 2.7: Cây quyết định với phơng pháp tính điểm Entropy
Tuy nhiên với phơng pháp tính điểm này còn có một số hạn chế, nó có xu h-
ớng thiên về chọn những thuộc tính có nhiều trạng thái khác nhau. Ví dụ sự phân
chia trên tập thuộc tính Customer_ID sẽ cho một lợng lớn các tập con thuần nhất,
mỗi tập con chỉ chứa duy nhất một bộ. Entropy của thuộc tính này bằng 0 và độ lợi
thông tin có đợc bởi việc phân nhánh trên thuộc tính Customer_ID là lớn nhất. Rõ
ràng, phép phân chia trên là không hữu dụng. MS Decision tree mặc định sử dụng
phơng pháp tính điểm Bayesian Dirichlet Equivalent with Uniform prior. Và kết
quả của mô hình với phơng pháp tính điểm mặc định nh sau.
Hình 2.8: Cây quyết định với phơng pháp tính điểm mặc định
Hình trên biểu diễn mô hình cây quyết định cho một khách hàng mua xe tại
công ty Adventure Works Cycle, cây đợc đặt nằm ngang với nút gốc nằm phía bên
trái nhất và hộp thoại Mining Legned biểu diễn thông tin của một nút. Ta thấy cây
này có độ rộng nhỏ hơn nhng có chiều sâu lớn hơn so với cây đợc tạo ra bằng ph-
ơng pháp tính điểm Entropy. Mỗi đờng đi từ nút gốc đến một nút định dạng một
luật, nh luật tại nút Number Cars Owned=4 sẽ là Number Cars Owned = 4 (đợc
chỉ ra ở góc dới bên trái của hộp thoại Mining Legned). Mỗi nút chứa một biểu đồ
hình cột đại diện cho tỉ lệ các trạng thái của thuộc tính dự đoán thỏa mãn luật tại
nút đó (nh hình trên màu xanh biểu diễn số ngời không mua, màu đỏ nhạt biểu diễn
số ngời mua xe). Khi một nút đợc chọn trên hộp thoại Mining Legned sẽ hiển thị
tổng số phần tử, số phần tử của mỗi trạng thái của thuộc tính dự đoán thỏa mãn luật
tại nút đó và xác suất tơng ứng (nh đã nói ở phần trên, cây quyết định cũng là một
phơng tiện có tính mô tả cho việc tính các xác suất có điều kiện). Trong hình trên, nút
đợc chọn là Number Car Owned=4, ở hộp thoại Mining Legend cho thấy tổng số
khách hàng có Number Car Owned=4 là 1261 trong đó có 466 ngời mua xe, 795 ngời
không mua với xác suất tơng ứng là 62,98 % và 36,95 %. Các xác suất này đợc tính
nh sau:
Gọi A là biến cố ngời đó mua xe, B là biến cố ngời đó có Number Car Owned =
4. Vậy xác suất ngời đó sẽ mua xe nếu ngời đó có Number Car Owned = 4 là:
P(A/B) =
)(
)(
BP
ABP
=
18484:1261
18484:466
36,95 %.
Tơng tự gọi C là biến cố ngời đó không mua xe, ta có:
P(C/B) =
)(
)(
BP
CBP
=
18484:1261
18484:795
63,05 %.
Dựa vào cây quyết định trên Mining Model Viewer phòng Marketing có thể
xác định một khách hàng có xác suất sẽ mua xe và không mua xe là bao nhiêu,
chẳng hạn với khách hàng có Number Car Owned =4 thì xác suất ngời này không
mua lớn hơn xác suất mua xe (kết quả trên), từ đó phòng Marketing có kế hoạch
không nên chú trọng đến những khách hàng này.
Nh vậy, cây quyết định giúp ta nhanh chóng biểu diễn dữ liệu phức tạp thành
một cấu trúc đơn giản hơn rất nhiều.
c. Các tham số của thuật toán
Có một số tham số của giải thuật đó là các tham số giúp kiểm soát sự phát
triển của cây, hình dạng cây, các thiết lập cho các thuộc tính đầu vào, đầu ra.
Complexity_Penalty đợc dùng để kiềm chế sự phát triển của cây quyết định.
Là một số thực thuộc khoảng (0,1), giảm giá trị của tham số này để tăng khả năng
phân chia của một nút trong cây, trong khi tăng giá trị của tham số này để giảm khả
năng phân chia. Giá trị mặc định của tham số này phụ thuộc vào số lợng các thuộc
tính đầu vào của một mô hình:
- Từ 1 đến 9 thuộc tính, giá trị mặc định là 0,5.
- Từ 10 đến 99 thuộc tính, giá trị mặc định là 0,9.
- Từ 100 thuộc tính trở lên, giá trị mặc định là 0,99.
Minimum_Support dùng để chỉ ra số phần tử nhỏ nhất của một nút lá trên cây.
Nh trong ví dụ trên nếu giá trị của tham số này đợc đặt là 100, khi cây sinh ra các
nút, nút nào có tổng số khách hàng thỏa mãn luật ở nút đó nhỏ hơn 100 thì sự phân
chia này không đợc chấp nhận. Thông thờng tập dữ liệu huấn luyện có nhiều bản
ghi thì nên tăng giá trị này lên để tránh trờng hợp Overtraning. Giá trị mặc định
bằng 10.
Score_Method có giá trị dạng số nguyên. Đợc dùng để xác định phơng pháp
tính độ lợi thông tin cho các thuôc tính tại mỗi nút trong khi phát triển cây, đã đợc
nhắc đến trong phần trớc.
- Thiết lập bằng 1 để chọn phơng pháp Entropy
- Thiết lập bằng 3 để chọn phơng pháp Bayesian with K2 Prio.
- Mặc định thiết lập bằng 4 để chọn phơng pháp Bayesian Dirichlet
Equivalent with Uniform prior.
Split_Method có giá trị dạng số nguyên. Đợc dùng để chỉ ra hình dạng của cây
cần xây dựng, ví dụ là cây nhị phân hay cây có hình dạng phức tạp. Chẳng hạn xét
sự phân chia bởi thuộc tính Tuổi có ba trạng thái: trẻ, trung tuổi và già.
- Thiết lập bằng 1 để chỉ ra cây có dạng nhị phân. Tức thuật toán
phải tách ra thành hai nút với lựa trọng trạng thái là: trẻ và không trẻ.
- Thiết lập bằng 2 để không hạn chế số phân chia. Tức là thuật toán
phân tách thành 3 nút với các trạng thái: trẻ, trung tuổi và già.
- Mặc định thiết lập bằng 3, để thuật toán chọn số phân chia tối u
nhất.
Maximum_Input_Attribute xác định số đầu vào lớn nhất. Giả sử thiết lập
giá trị của tham số này bằng g và số thuộc tính đầu vào lớn hơn g, thì thuật toán chỉ
chọn g đầu vào có độ phụ thuộc với thuộc tính đầu ra lớn nhất dựa trên sự đánh giá
của số entropy. Giá trị mặc định bằng 255.
Maximum_Output_Attribute xác định số đầu ra lớn nhất. Nếu thiết lập
giá trị của tham số này bằng g và số thuộc tính đầu ra lớn hơn g, thì thuật toán chỉ
chọn g đầu ra mà độ phụ thuộc của các thuộc tính đầu vào với nó lớn nhất dựa trên
sự đánh giá của số entropy. Giá trị mặc định bằng 255. .
Force_Regressor là tham số chỉ sử dụng cho cây hồi quy. Đợc sử dụng để
chỉ ra các thuộc tính là nhân tố hồi quy.
2.Thuật toán Microsoft Association (MA):
2.1.Giới thiệu chung
Thuật toán này được thiết kế đặc biệt để sử dụng trong phân tích giỏ thị
trường (basket market). Trong kinh doanh, mục tiêu cao nhất của các nhà kinh
doanh là đảm bảo rằng khối lượng sản phẩm của họ bán được là cao nhất. Do đó sự
hiểu biết về các mô hình mua của khách hàng là bước đầu tiên hướng tới đạt được
mục tiêu này. Bằng cách sử dụng thuật toán Microsoft Associationđể thực hiện
phân tích giỏ thị trường về các giao dịch của khách hàng của mình, nhà kinh doanh
có thể tìm hiểu các sản phẩm thường được mua với nhau cũng như một sản phẩm
cụ thể được mua cùng với một sản phẩm khác. Với những thông tin này họ có thể
đưa ra các quyết định kinh doanh hợp lý như đặt các sản phẩm có khả năng mua
cùng nhau cạnh nhau để giúp cho khách hàng khỏi mất công tìm kiếm cũng như
xây dựng các chiến lược marketing hiệu quả (chẳn hạn không nên khuyến mãi
cùng lúc các mặt hàng thường được mua cùng nhau).
Thuật toán Microsoft Association làm việc trên các tập dữ liệu. Thuật toán
này sẽ xem xét mỗi cặp biến/giá trị (như là sản phẩm/xe đạp)là 1 item . 1 Itemset là
1 tổ hợp các item trong 1 transaction đơn lẻ . Thuật toán sẽ lướt qua tập hợp dữ liệu
để cố gắng tìm kiếm các itemset nhằm vào việc xuất hiện trong nhiếu transaction .
VD : 1 itemset phổ biến có thể gồm{Gender="Male", Marital Status = "Married",
Age="30-35"}.Mỗi itemset có 1 kích thước là tổng số của mỗi item mà nó có (ở ví
dụ này là 3).
Thường thì những mô hình kết hợp làm việc dựa vào các tập dữ liệu chứa
các bảng ẩn , như kiểu một danh sách khách hàng ẩn (nested) theo sau là 1 bảng
mua bán . Nếu 1 bảng ẩn tồn tại trong tập dữ liệu , mỗi khoá ẩn (như 1 sản phẩm
trong bảng mua bán ) được xem như 1 item .
Thuật toán này cũng tìm các luật kết hợp với các Itemset . Một luật trong 1
mô hình kết hợp kiểu như A,B=>C ( kết hợp với 1 khả năng có thể xảy ra ). Khi tất
cả A,B,C là những Itemset thường xuyên . Dấu “=>”nói rằng C được dự đoán từ A
và B . Khả năng giới hạn là 1 biến mà xác định khả năng nhỏ nhất tức là khi 1 luật
có thể đựơc xét đến. Khả năng này cũng được gọi là 1 “sự tin cậy“trong văn phong
datamining .
2.2 Nguyên tắc thuật toán
Thuật toán MA là một thuật toán rất phổ biến và hiệu quả cho việc tìm kiếm
các tập mặt hàng (bộ giá trị thuộc tính phổ biến). Có hai bước trong thuật toán MA,
như được minh họa trong hình. Bước đầu tiên của thuật toán, một giai đoạn tính
toán chuyên sâu (calculationintensive), để tìm tập mặt hàng. Bước thứ hai là để tạo
ra các luật kết hợp dựa trên các tập mặt hàng. Bước này đòi hỏi ít thời gian hơn so
với bước đầu tiên.
Các khái niệm cơ
bản của thuật toán MA
Tập mặt hàng
Một tập mặt hàng là một tập hợp các
mặt hàng. Mỗi mặt hàng là một giá trị thuộc
tính. Tập mặt hàng thường xuyên là những tập tương đối phổ biến trong tập dữ
liệu.
Ví dụ : trong ví dụ giỏ thị trường, tập mặt hàng có chứa một tập hợp các sản
phẩm như bánh, Pepsi, và sữa. Trong ví dụ khách hàng cá nhân mang tính chất
thăm dò, tập mặt hàng có chứa một tập hợp các giá trị thuộc tính như {Giới Tính =
'Nam', Giáo dục = 'Cử nhân'}. Mỗi tập mặt hàng có kích thước, đó là số lượng các
mặt hàng có trong tập mặt hàng. Kích thước của tập mặt hàng {Bánh, Pepsi, Sữa}
là 3.
Độ hỗ trợ
Độ hỗ trợ được sử dụng để đo lường sự phổ biến của tập mặt hàng. Độ hỗ
trợ của một tập mặt hàng {A, B} là tổng số các giao dịch có chứa cả A và B.
Độ hỗ trợ (A, B}) = Số giao dịch (A, B)
Minimum_Support là một tham số giá trị mà bạn cần phải xác định trước khi xử lý
một mô hình kết hợp. Nó có nghĩa là bạn chỉ quan tâm đến những tập mặt hàng và
cácquy tắc có số lần xuất hiện trong tập dữ liệu ít nhất là bằng độ hỗ trợ tối thiểu .
Xác suất
Xác suất là một thuộc tính của một quy tắc kết hợp. Xác suất của một quy
tắc A => B được tính bằng cách sử dụng độ hỗ trợ của tập mặt hàng {A, B} chia độ
hỗ trợ của {A}. Xác suất này còn được gọi là độ tin cậy khai thác dữ liệu. Nó được
định nghĩa như sau:
Xác suất (A => B) = xác suất (B | A) = Hỗ trợ (A, B) / Hỗ trợ (A)
Minimum_Probability là một tham số giá trị mà bạn cần phải xác định trước
khi chạy các thuật toán. Nó có nghĩa là người sử dụng quan tâm đến những quy tắc
có xác suất cao hơn là xác suất tối thiểu. Minimum_Probablity không có tác động
vào tập mặt hàng, nhưng nó có tác động vào các quy tắc.
Tầm quan trọng
Tầm quan trọng có thể được sử dụng để đo lường các tập mặt hàng và các
quy tắc. Tầm quan trọng của tập mặt hàng được định nghĩa bằng cách sử dụng
công thức sau đây:
Tầm quantrọng({A, B}) = Xác suất (A, B) / (Xác suất (A) * Xác suất(B))
Nếu tầm quan trọng = 1, A và B là những mặt hàng độc lập. Nó có nghĩa
rằng việc mua sản phẩm A và mua sản phẩm B là hai sự kiện độc lập. Nếu tầm
quan trọng <1, A và B có tương quan âm. Điều này có nghĩa là nếu một khách hàng
mua A, nó không chắc ông cũng sẽ mua B. Nếu tầm quan trọng> 1, A và B được
tương quan dương. Điều này có nghĩa là nếu một khách hàng mua A, rất có khả
năng ông cũng mua B.
Tầm quan trọng là 0 có nghĩa là không có mối liên hệ giữa A và B. Một tầm
quan trọng tích cực có nghĩa là xác suất của B đi lên khi A đúng. Một tầm quan
trọng tiêu cực có nghĩa là xác suất của B đi xuống khi A đúng.
b.Tìm các tập mặt hàng thường xuyên
Tìm cáctập mặt hàng là phần cốt lõi của việc sử dụngthuật toán kết hợp.
Trước tiên, bạncần phải xác định ngưỡng tần số sử dụng các tham số
Minimum_Support. Ví dụ, Minimum_Support=2% : điều nàycó nghĩa là bạn quan
tâm phân tíchnhững mặt hàng mà xuất hiện trongít nhất 2%của tất cả các giỏ mua
sắm.
Thuật toán tìm tất cả các tập mặt hàng thường xuyên vớikích thước= 1trong
phiên đầu tiên(những sản phẩm phổ biếnvới độ hỗ trợ lớn hơn Minimum_Support).
Thuật toánthực hiện điều nàybằng cách quétcác tập dữ liệuvàtínhtoánđộ hỗ trợ
củamỗi mặt hàng cụ thể. Lặp lại lần haitìm thấynhữngtập mặt hàngcó kích thước=
2. Trướckhibắt đầulặp lại lần hai, thuật toán tạo ramột tập hợpcủa một tậpứng cử
viên củakích thước 2dựa trênkết quả củaphiên đầu tiên(tập mặt hàng thường xuyên
kích thước1). Một lần nữa, thuật toán quét các số liệuvà tính hỗ trợ cho mỗi tập
mặt hàng ứng cử viên được tạo ra. Vào cuối của sự lặp lại, lựa chọn những ứng cử
viên với sự hỗ trợ ít hơn Minimum_Support để có được danh sách các tập mặt
hàngvới kích thước bằng 2.
Thuật toán lặp đi lặp lại cùng một thủ tục để tìm tập mặt hàng với kích thước
3, 4, 5. cho đến khi tập mặt hàng không đáp ứng tiêu chuẩn Minimum_Support.
Một trong những thuộc tính quan trọng của một tập mặt hàng là mọi tập hợp con
của tập mặt hàng phải là một tập mặt hàng. Ví dụ, nếu {bia, bánh mì,tã} là một tập
mặt hàng, {bia}, {tã}, {bánh mì}, {bia, tã}, {bia, bánh mì}, và {tã, bánh mì} cũng
phải là tập mặt hàng .
Việc tạo ra thế hệ tập mặt hàng ứng cử viên và tính tương quan của chúng
tốn khá nhiều thời gian. Trong một số trường hợp, nó có thể tạo ra một số lượng
lớn các bộ ứng cử viên. Ví dụ, giả sử rằng có 10.000 sản phẩm (một siêu thị cỡ
trung bình). Nếu sự hỗ trợ tối thiểu (the minimum support ) đủ thấp, các thuật toán
sẽ tạo ra hơn 107 ứng cử viên 2 tập mặt hàng. Nhiều kỹ thuật tối ưu hóa có sẵn
trong giai đoạn này, ví dụ, quy tắc MA lưu trữ các tập mặt hàng trong một cấu trúc
dữ liệu cây để tiết kiệm không gian.
Một số thuật toán kết hợp tạo ra các tập mặt hàng mà không có ứng cử viên
thế hệ. Đối với các bộ dữ liệu lớn với rất nhiều các hạng mục riêng biệt thì nên
tránh thiết lập tham số này quá nhỏ.
Số lượng các mặt hàng cũng rất quan trọng đối với việc thực hiện quá trình.
Khi có quá nhiều vật phẩm, hãy xem xét nhóm chúng thành các loại. Điều này rất
có thể giảm tổng số các mặt hàng và do đó làm giảm thời gian xử lý mô hình.