Tổng quan về phân lớp dữ liệu trong khai phá dữ liệu

Một phần của tài liệu LUẬN văn THẠC sĩ ỨNG DỤNG kỹ THUẬT KHAI PHÁ dữ LIỆU NHẰM hỗ TRỢ CÔNG tác tư vấn MUA HÀNG tại các DOANH NGHIỆP vừa và NHỎ ở TỈNH KIÊN GIANG (Trang 30 - 39)

Khai phá dữ liệu là lĩnh vực mà con người luôn tìm cách đạt được mực đích sử dụng thông tin của mình. Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó phương pháp khai phá dữ liệu để tìm kiếm các mẫu đáng quan tâm theo dạng xác định. Có thể kể ra đây một vài phương pháp như: sử dụng công cụ truy vấn, xây dựng cây quyết định, dựa theo khoảng cách (K- láng giềng gần nhất), giá trị trung bình, phát hiện luật kết hợp, v.v.

Trong lĩnh vực máy học và nhận dạng mẫu, bài toán phân lớp đề cập đến các thuật toán nhằm xác định lớp của đối tượng đã cho sẽ thuộc về lớp nào trong các lớp đã cho trước.

Khác với bài toán phân cụm, dữ liệu huấn luyện dùng để xây dựng mô hình trong bài toán phân lớp phải được xác định nhãn trước.

- Phân loại dữ liệu (classification): Dạng phân tích dữ liệu nhằm rút trích các mô hình mô tả các lớp dữ liệu hoặc dự đoán xu hướng dữ liệu. [1]

Hình 2.1 Bài toán phân lớp

- Quá trình phân lớp gồm hai bước Dữ liệu

vào Thuật toán phân lớp hoạt động

Lớp 1

Lớp 2

Bước thứ nhất: Bước học (giai đoạn huấn luyện): xây dựng bộ phân loại (classifier) bằng việc phân tích/học tập huấn luyện.

Bước thứ hai: Bước phân loại (classification): phân loại dữ liệu/đối tượng mới nếu độ chính xác của bộ phân loại được đánh giá là có thể chấp nhận được (acceptable).

Ví dụ: ta có y = f (X) với y là nhãn (phần mô tả) của một lớp (class) và X là dữ liệu/đối tượng

Bước thứ nhất – bước học: X trong tập huấn luyện, một trị y được cho trước với X -> xác định f

Sản phẩm Đơn vị Chọn

Gạo hữu cơ ST24 HTX hữu cơ Rạch Giá Yes Gạo nàng hương Hạt Ngọc Trời No Nước mắm 40 độ đạm

Khải Hoàn Yes

Nước mắm 40 độ đạm

Bà Tư No

Hình 2.2 Quá trình phân lớp dữ liệu – (a) Bước học/ phân lớp

- Bước thứ hai - phân loại: đánh giá f với (X’, y’) và X’ <> mọi X trong tập huấn luyện; nếu acceptable thì dùng f để xác định y’’ cho X’’ (mới).

Dữ liệu huấn luyện

Thuật toán phân lớp

Luật phân lớp

If sản phẩm = Gạo hữu cơ ST 24

or Đơn vị = HTX hữu cơ Rạch Giá

then Chọn = Yes

Dữ liệu kiểm tra

Luật phân lớp

Dữ liệu mới

yes

Gạo hữu cơ ST24, HTX hữu cơ Rạch Giá

Sản phẩm Đơn vị Chọn

Gạo hữu cơ ST24 HTX hữu cơ Rạch Giá Yes Gạo nàng hương Hạt Ngọc Trời No Nước mắm 40 độ đạm

Khải Hoàn Yes

Nước mắm 40 độ đạm

Bà Tư No

Hình 2.3 Quá trình phân lớp dữ liệu – (b) Bước phân loại (đánh giá và áp dụng)

- Độ chính xác của bộ phân lớp trên tập kiểm tra cho trước là phần trăm của các mẫu trong tập kiểm tra được bộ phân lớp xếp lớp đúng

Độ chính xác =

* Đánh giá phương pháp phân lớp

- Độ chính xác của dự đoán: khả năng bộ phân lớp dự đoán đúng dữ liệu chưa thấy.

- Tính bền vững: khả năng của bộ phân lớp thực hiện dự đoán đúng vớ dữ liệu có nhiễu hay thiếu giá trị.

- Tính kích cỡ: khả năng tạo bộ phân lớp hiệu quả với số lượng dữ liệu lớn. - Khả năng diễn giải: bộ phân lớp cung cấp tri thức có thể hiểu được.

2.2 Các giải thuật phân lớp dữ liệu

Phân lớp với cây quyết định (decision tree) Phân lớp với mạng Bayesian

Phân loại với k phần tử cận gần nhất (k-nearest neighbor)

Phân lớp với suy diễn dựa trên tình huống (casebased reasoning) Phân lớp dựa trên tiến hoá gen (genetic algorithms)

Phân lớp với lý thuyết tập thô (rough sets) Phân lớp với lý thuyết tập mờ (fuzzy sets)

2.3 Luật kết hợp trong khai phá dữ liệu

Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sử dụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học.

Trong lĩnh vực Data Mining, mục đích của luật kết hợp (Association Rule - AR) là tìm ra các mối quan hệ giữa các đối tượng trong khối lượng lớn dữ liệu. Nội dung cơ bản của luật kết hợp được tóm tắt như dưới đây [5].

Cho cơ sở dữ liệu gồm các giao dịch T là tập các giao dịch t1, t2, …, tn. T = {t1, t2, …, tn}. T gọi là cơ sở dữ liệu giao dịch (Transaction Database)

Mỗi giao dịch ti bao gồm tập các đối tượng I (gọi là itemset) I = {i1, i2, …, im}. Một itemset gồm k items gọi là k-itemset

Mục đích của luật kết hợp là tìm ra sự kết hợp (association) hay tương quan (correlation) giữa các items. Những luật kết hợp này có dạng X =>Y

Trong Basket Analysis, luật kết hợp X =>Y có thể hiểu rằng những người mua các mặt hàng trong tập X cũng thường mua các mặt hàng trong tập Y. (X và Y gọi là itemset).

Ví dụ, nếu X = {Apple, Banana} và Y = {Cherry, Durian} và ta có luật kết hợp X =>Y thì chúng ta có thể nói rằng những người mua Apple và Banana thì cũng thường mua Cherry và Durian.

Theo quan điểm thống kê, X được xem là biến độc lập (Independent variable) còn Y được xem là biến phụ thuộc (Dependent variable)

Độ hỗ trợ (Support) và độ tin cây (Confidence) là 2 tham số dùng để đo lường luật kết hợp.

Độ hỗ trợ (Support) của luật kết hợp X =>Y là tần suất của giao dịch chứa tất cả các items trong cả hai tập X và Y. Ví dụ, support của luật X =>Y là 5% có nghĩa là 5% các giao dịch X và Y được mua cùng nhau.

Công thức để tính support của luật X =>Y như sau: Support ( X → Y) = P (X Y) =

Trong đó: N là tổng số giao dịch.

Độ tin cậy (Confidence) của luật kết hợp X =>Y là xác suất xảy ra Y khi đã biết X. Ví dụ độ tin cậy của luật kết hợp {Apple} =>Banana} là 80% có nghĩa là 80% khách hàng mua Apple cũng mua Banana.

Công thức để tính độ tin cậy của luật kết hợp X =>là xác suất có điều kiện Y khi đã biết X như sau :

Confidence (X→Y) = P (Y|X) = Trong đó: n(X) là số giao dịch chứa X

Để thu được các luật kết hợp, ta thường áp dụng 2 tiêu chí: minimum support (min_sup) và minimum confidence (min_conf)

Các luật thỏa mãn có support và confidence thỏa mãn (lớn hơn hoặc bằng) cả Minimum support và Minimum confidence gọi là các luật mạnh (Strong Rle)

Minimum support và Minimum confidence gọi là các giá trị ngưỡng (threshold) và phải xác định trước khi sinh các luật kết hợp.

Một itemsets mà tần suất xuất hiện của nó >= min_sup goi là frequent itemsets

Một số loại luật kết hợp

Binary association rules (luật kết hợp nhị phân): Apple => Banana Quantitative association rules (luật kết hợp định lượng):

weight in [70kg – 90kg] => height in [170cm – 190cm]

Fuzzy association rules (Luật kết hợp mờ): weight in HEAVY => height in TALL

Thuật toán phổ biến nhất tìm các luật kết hợp là Apriori sử dụng Binary association rules

Apriori là thuật toán được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuất lần đầu vào năm 1993. Bài toán được phát biểu: Tìm t có độ hỗ trợ s thỏa mãn s ≥ s0 và độ tin cậy c ≥ c0 (s0, c0 là hai ngưỡng do người dùng xác định và s0 = minsupp, c0 = minconf) . Ký hiệu Lk tập các tập k - mục phổ biến, Ck tập các tập k-mục ứng viên.

Nguyên tắc Apriori

– Đếm số lượng của từng Item, tìm các Item xuất hiện nhiều nhất. – Tìm các cặp ứng viên: Đếm các cặp => cặp item xuất hiện nhiều nhất. – Tìm các bộ ba ứng viên: Đếm các bộ ba => bộ ba item xuất hiện nhiều nhất. Và tiếp tục với bộ 4, bộ 5, …

– Nguyên tắc chủ yếu: Mọi tập con của tập phổ biến phải là tập con phổ biến.

Mô tả thuật toán Apriori

– Bước 1: Đếm số support cho mỗi tập gồm một phần tử và xem chúng như một Large itemset. Support của chúng là minsup.

– Bước 2: Với mỗi tập Large item bổ sung các item vào và tạo một Large itemset mới, tập này được gọi là tập ứng viên (Candidate itemset - C). Đếm số support cho mỗi tập C trên cơ sở dữ liệu, từ đó quyết định tập C nào là Large Item thực sự, và ta dùng làm hạt giống cho bước kế tiếp.

– Bước 3: Lặp lại bước 2 cho đến khi không còn tìm thấy thêm, một tập Large itemset nữa.

Nội dung thuật toán Apriori

Input: Tập các giao dịch D, ngưỡng support tối thiểu minsup Output: L- tập mục phổ biến trong D

Method:

1. L1=Large_1_ItemSets () 2. for (k=2; Lk-1 ≠ ∅; k++) do 3. begin

4. Ck=apriori-gen(Lk-1);

5. for (mỗi một giao dịch T∈D) do 6. begin

7. CT = subset(Ck, T);

8. for (mỗi một ứng cử viên c∈ CT) do 9. c.count++;

10. end;

11. Lk = {c ∈ Ck | c.count  minsup} 12. end;

13. return ∪kLk

– Hàm Large_1_ItemSets() trả về các Item có số support lớn hơn hay bằng minsup.

1. for all transaction t ∈ D do 2. for all item i ∈ t do

3. i.count ++;

4. L1={i | i.count ≥ minsup};

phát sinh các tập k_ItemSet mới. Tham số của hàm là Lk-1 – tập tất cả các (k-1)-

ItemSet và kết quả trả về của hàm là tập các k-ItemSet.

1. Join Lk-1 with Lk-1; 2. Insert into Ck

3. select p.item1,p.item2, . . .p.itemk-1, q.itemk-1

4. from Lk-1 as p, Lk-1 as q;

5. where (p.item1= q.item1)∧...∧(p.itemk-2 = q.item k-2)∧(p.item k- 1<q.item k-1);

Điều kiện (p.item k-1<q.item k-1) sẽ bảo đảm không phát sinh các bộ trùng nhau

Ưu điểm, nhược điểm của thuật toán Apriori

Apriori làm việc tốt với cơ sở dữ liệu lớn.

Về kĩ thuật: Thuật toán Apriori sử dụng hai tính chất của Apriori để thực hiện quá trình kết hợp sinh ra các tập ứng viên và loại bỏ các tập ứng viên không phù hợp, xây dựng dần các tập phổ biến từ dưới lên.

Về chiến lược tìm kiếm: Apriori sử dụng chiến lược tìm kiếm theo chiều sâu.

Về sử dụng bộ nhớ: Thuật toán Apriori đòi hỏi không gian bộ nhớ lớn khi xử lý số lượng các tập ứng cử viên candidate itemsets được tạo ra.

Về số lần quét cơ sở dữ liệu: Thuật toán Apriori thực hiện nhiều lần quét để có thể tạo ra các tập ứng viên candidate itemsets.

Về thời gian thực hiện: Trong Apriori, thời gian thực hiện thuật toán bị lãng phí nhiều ở quá trình mỗi lần sinh ra các tập ứng viên.

2.4 Cây quyết định

Cách tiếp cận “chia để trị” đối với vấn đề học hỏi từ một tập hợp các trường hợp độc lập dẫn đến một phong cách biểu diễn được gọi là Cây quyết định. Các nút trong cây quyết định liên quan đến thử nghiệm một thuộc tính

cụ thể. Thông thường, thử nghiệm tại một nút so sánh một thuộc tính giá trị với một hằng số. Tuy nhiên, một số cây so sánh hai thuộc tính hoặc nhiều thuộc tính. Các nút lá cung cấp một phân loại áp dụng cho tất cả các trường hợp tiếp cận với lá, hoặc một tập hợp các phân loại. [8]

Trong lĩnh vực máy học, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận về giá trị mục tiêu của sự vật/hiện tượng. Mỗi một nút trong (internal node) tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định.

Ví dụ Cây quyết định cho dữ liệu thời tiết

Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá dữ liệu. Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đó. Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính [14].

Quan điểm Độ ẩm Gió No Yes Yes No Yes cao bình thường U ám nắng mưa sai đúng

Một phần của tài liệu LUẬN văn THẠC sĩ ỨNG DỤNG kỹ THUẬT KHAI PHÁ dữ LIỆU NHẰM hỗ TRỢ CÔNG tác tư vấn MUA HÀNG tại các DOANH NGHIỆP vừa và NHỎ ở TỈNH KIÊN GIANG (Trang 30 - 39)