CÁC THUẬT TOÁN ODM KHAI PHÁ DỮ LIỆU

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số thử nghiệm khai phá dữ liệu trong cơ sở dữ liệu ORACLE (Trang 49)

Các mô hình khai phá dữ liệu ODM dựa trên một trong hai loại hàm học trực tiếp hoặc gián tiếp. Các hàm học trực tiếp thƣờng dùng cho dự báo, học gián tiếp dùng để tìm các cấu trúc nội tại, quan hệ hoặc sự giống nhau trong bản thân dữ liệu. III.1.1. Thuật toán Adapter Bayes Network - ABN

ABN là thuật toán riêng của Oracle hỗ trợ học cây quyết định. Cây quyết định sẽ sinh ra tập luật hoặc các biểu thức mà ngƣời phân tích hoặc ngƣời quản lý có thể hiểu đƣợc và ngƣời sử dụng có thể lấy ra những bản ghi thích hợp với luật trong CSDL. ABN dự báo tốt cho các bài toán có hai hoặc nhiều lớp.

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle III.1.2. Thuật toán Naive Bayes - NB

Dự báo NB sử dụng lý thuyết Bayes đánh giá xác suất dự đoán từ các sự kiện cơ bản theo công thức (II.5.1). NB cho phép xây dựng mô hình và áp dụng nhanh nhất. Thƣờng sử dụng với bài toán có các câu hỏi nhƣ: “ Khách hàng nào sẽ là đối thủ? Các mẫu giao dịch nào có sự gian lận?”...

Đặc điểm ABN BN Số bản ghi Số thuộc tính Tốc độ Tính chính xác Loại thuộc tính Thuộc tính đích Bất kỳ Bất kỳ Không nhanh lắm Tốt hơn Số và định danh. Hai hoặc nhiều lớp

Bất kỳ

Tốt nhất nhỏ hơn 200 Nhanh hơn

Kém hơn

Số và định danh Hai hoặc nhiều lớp.

Bảng 5. So sánh ABN và BN

III.1.3. Thuật toán Apriori

Trong ODM, sử dụng một cài đặt dựa trên SQL cho thuật toán Apriori. Các b- ƣớc sinh ứng cử và đếm độ hỗ trợ đƣợc cài đặt sử dụng truy vấn SQL.

III.1.4. Thuật toán dự báo biến đổi Predictor Variance

Hàm tính độ quan trọng thuộc tính ODM đƣợc cài đặt sử dụng thuật toán dự đoán biến đổi để ƣớc lƣợng sự biến đổi của các giá trị đích theo sự biến đổi các thuộc tính dự đoán khác. Tổng các biến đổi càng lớn, thuộc tính dự đoán trong bảng dữ liệu càng mang nhiều thông tin và cho ý tƣởng liên kết với thuộc tính đích.

III.1.5. Thuật toán k-means nâng cao

Thuật toán k-means là thuật toán gộp nhóm theo khoảng cách để phân hoạch dữ liệu thành một số nhóm. Thuật toán k-means làm việc trên các thuộc tính số. ODM cài đặt phiên bản phân cấp của TT k-means. Tại một thời điểm chỉ phát triển thêm một mức (cây cân bằng) hoặc một node (cây lệch) và tại node có tổng khoảng cách lớn nhất tới tâm đƣợc phân tách tiếp cho đến khi kích thƣớc của cây đạt tới số

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle

nhóm cần phân hoạch. Cách tiếp cận tăng dần đến k-means tránh phải xây dựng nhiều mô hình k-means, cho các kết quả phân nhóm tốt hơn so với k–means.

III.1.6. Thuật toán O-Cluster

Thuật toán O-Culster là thuật toán riêng của Oracle tạo ra mô hình gộp nhóm phân cấp. Các nhóm kết quả định nghĩa vùng đậm đặc trong không gian thuộc tính. Một tham số gọi là độ nhạy cảm định nghĩa mức mật độ vạch ranh giới. O-Cluster cung cấp cơ chế rời rạc hoá dữ liệu tự động.

Đặc điểm K-means O-cluster

Phƣơng pháp gộp Số bản ghi

Số thuộc tính Số nhóm

Nhóm phân cấp

Dựa trên khoảng cách. Bất kỳ

Tốt với các bảng có ít thuộc tính Ngƣời dùng định nghĩa

Có.

Dựa trên lƣới.

Tốt nhất lớn hơn 100

Tốt với bảng có >10 thuộc tính Tự động xác định.

Bảng 6. So sánh K-means và O-cluster

III.1.7. Sử dụng các chức năng và lựa chọn thuật toán

Thuật toán Chức năng Thích hợp ứng dụng

ABN

Phân lớp - Dữ liệu có nhiều thuộc tính

- Trong suốt mô hình bằng các luật - Kiểm soát thời gian xây dựng mô hình. Naive Bayes Phân lớp Thời gian xây dựng mô hình nhanh nhất k-Means Gộp nhóm - Cần chỉ ra số các nhóm

- Chỉ khai phá dữ liệu số - Các bảng nhỏ (<100 rows) - Số các thuộc tính nhỏ <100 O-Cluster Phân nhóm - Tự động xác định số các nhóm.

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle - Thuộc tính số và định danh. - Có số thuộc tính >20.

- Có số ví dụ >1000.

III.2. Các bƣớc khai phá dữ liệu

1. Thu thập và tiền xử lý dữ liệu 2. Xây dụng mô hình.

3. Kiểm thử mô hình. 4. Tính toán sai lệch.

5. Áp dụng mô hình trên các dữ liệu mới. III.2.1. Xây dựng mô hình

Để xây dựng mô hình ODM cần biết các thông tin sau: Server nào đƣợc dùng để khai phá dữ liệu?

Dữ liệu cho khai phá ở đâu và tổ chức nhƣ thế nào?

Sẽ xây dựng theo loại mô hình nào? Sử dụng hàm, thuật toán nào? Mô hình đƣợc xây dựng đồng bộ hay không đồng bộ?

Các bƣớc cơ bản của việc xây dựng mô hình bao gồm: 1. Đặc tả vật lý dữ liệu vào nhƣ: Bảng, View...

2. Tạo một hàm khai phá, các khởi tạo đối tƣợng, đặc tả tham số vào cho thuật toán. 3. Tạo đặc tả logic dữ liệu liên kết với các khởi tạo hàm khai phá.

4. Tạo các thiết lập thuật toán .

5. Tạo nhiệm vụ xây và khởi tạo phƣơng thức thực hiện. III.2.2. Kiểm thử mô hình

Các mô hình phân lớp có thể đƣợc kiểm thử để đánh giá tính chính xác của mô hình bằng cách áp dụng cho bảng dữ liệu mới có cùng khuôn dạng nhƣ là bảng dữ liệu đã đƣợc xây dựng. Kết quả kiểm thử phân lớp là một ma trận hỗn hợp cho

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle phép ngƣời dùng hiểu đƣợc loại và số lỗi phân lớp.

III.2.3. Áp dụng - ghi điểm mô hình - Scoring

Áp dụng mô hình phân lớp nhƣ NB hoặc ABN để ghi điểm dữ liệu hoặc dự đoán với xác suất kết hợp. Việc ứng dụng mô hình gộp nhóm, với mỗi trƣờng hợp dự đoán sẽ định danh nhóm và xác suất trƣờng hợp thuộc vào nhóm đó. Các dữ liệu áp dụng cần có cùng format và trạng thái tiền xử lý giống nhƣ dữ liệu đã đƣợc xây dựng mô hình. Áp dụng mô hình gộp nhóm cho dữ liệu mới sẽ nhận biết nhóm dự đoán và xác suất trƣờng hợp đó thuộc nhóm nào.

III.3. Các thành phần của ODM

III.3.1. Data Mining Server DMS

DMS phía server là một thành phần trong CSDL để thực hiện các phép toán khai phá dữ liệu trong CSDL Oracle9i. DMS cung cấp các từ điển metadata lƣu trữ, truy vấn các đối tƣợng dữ liệu vào và đƣa ra kết quả của quá trình khai phá.

III.3.2. Oracle9i Data Mining API

ODM API là một thành phần của ODM cho phép lập trình Java để khai phá dữ liệu, cung cấp cách tiếp cận chuẩn JDM Java Data Mining.

III.3.3. Các đối tƣợng trong ODM

1. Physical Data Specification

Đối tƣợng Physical Data Specification mô tả đặc điểm vật lý của dữ liệu đƣợc sử dụng khai phá nhƣ: dữ liệu lƣu ở đâu, có dạng giao dịch hay không giao dịch ?, vai trò các cột dữ liệu... Đối tƣợng Object này đƣợc sử dụng trong các bƣớc: xây dựng, kiểm thử, ghi điểm...

Bảng DL dạng không giao dịch Bảng dữ liệu dạng giao dịch

ID Attribute_name Value

1 Tuổi 25

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle ID Tuổi Giới tính Thu nhập

1 25 Nam 2.000.000 2 50 Nữ 1.000.000 3 40 Nam 4.000.000 …

2. Mining Function Settings

Đối tƣợng Mining function settings (MFS) quản lý các tham số mức cao dùng cho xây dựng mô hình. ODM cho phép ngƣời dùng tự xác định thuật toán cụ thể, nếu ngƣời dùng không đƣa ra lựa chọn của mình thì ODM sẽ chọn một thuật toán dựa vào các thiết lập chức năng cụ thể. Mỗi MFS chứa:

Các tham số hàm khai phá. Đặc tả logic dữ liệu.

Đặc tả sử dụng dữ liệu.

3. Mining Algorithm Settings

Đối tƣợng Mining Algorithm Settings chứa các tham số liên quan đến thuật toán xây dựng mô hình cụ thể. Cho phép ngƣời dùng là chuyên gia có thể tinh chỉnh các xử lý thuật toán. Với thiết kế tách biệt thuật toán với hàm khai phá dữ liệu làm cho ngƣời dùng không phải là chuyên gia cũng sử dụng đƣợc ODM, còn các chuyên gia có thể kiểm soát và sử dụng hiệu quả hơn.

4. Logical Data Specification

Đối tƣợng Logical data specification (LDS) là tập các thuộc tính tiến trình khai phá mô tả logic dữ liệu đƣợc đƣa vào mô hình.

5. Mining Attributes

Mining attribute mô tả vùng dữ liệu đầu vào: là dạng số hay dạng phân loại categorical. Dạng phân loại nhận các giá trị rời rạc nhƣ: Cao, thấp, trung bình...

6. Data Usage Specification

Đối tƣợng Data usage specification là phƣơng thức sử dụng thuộc tính trong mô hình. Đặc tả phƣơng thức sử dụng thuộc tính chỉ ra thuộc tính đó là active -

1 Thu nhập 2.000.000

...

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle

đƣợc sử dụng, inactive bỏ qua không sử dụng hoặc supplementary là thuộc tính bổ trợ thƣờng đƣợc dùng khi đƣa ra kết quả.

7.Mining Model

Đối tƣợng Mining model là kết quả mô hình xây dựng. Mô hình khai phá phụ thuộc vào thuật toán đƣợc chọn.

8. Mining Results

Đối tƣợng Mining resultt chứa các sản phẩm cuối cùng của các bƣớc khai phá dữ liệu nhƣ: thời gian bắt đầu, kết thúc, tên mô hình sử dụng và vị trí lƣu giữ kết quả. Kết quả khai phá chứa chi tiết mô hình, tên hàm, thuật toán của mô hình.

9. Confusion Matrix

Confusion Matrix cung cấp tính chính xác của mô hình và các loại lỗi của mô hình khi ghi điểm dữ liệu. Đó là kết quả của bƣớc kiểm thử với mô hình phân lớp. Các chỉ số hàng ứng với giá trị thực sự và đƣợc dùng xây dựng mô hình, chỉ số cột tƣơng ứng với các giá trị dự đoán đƣợc áp dụng mô hình.

Ma trận này thể hiện mô hình đã dự đoán đúng 516 khách hàng mua và 725 khách hàng không mua. Mô hình dự đoán sai 10 ngƣời mua - thực sự không mua, sai 25 ngƣời không mua thực sự có mua. Nhƣ vậy tỷ lệ dự đoán đúng là 1241/1276; sai là 35/1276.

10. Mining Apply Output

Mining apply output chứa các item cho phép xem kết quả áp dụng mô hình.

III.4. Thực hiện các bƣớc khai phá dữ liệu trong ODM

III.4.1. Các bƣớc chuẩn bị

Cài đặt ODM, xác định URL của database mà ODM thƣờng trú.

Xác định dữ liệu đƣợc dùng xây dựng mô hình, dữ liệu phải trong Oracle9i.

Thực sự Dự đoán Mua Không mua Mua 516 25 Không mua 10 725

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle Làm sạch dữ liệu, lựa chọn dữ liệu.

Xác định hàm khai phá Xác định thuật toán sử dụng. III.4.2. Xây dựng mô hình

1. Kết nối tới DMS.

Tạo tiến trình cho DMS server để duy trì kết nối.

Xác định DB_URL, user_name, password của DMS server Tạo kết nối.

dms=new DataMiningServer("DB_URL", "user_name", "password");

2. Khởi tạo dữ liệu xây dựng mô hình:

Xác định vị trí truy cập dữ liệu.

LocationAccessData lad = new LocationAccessData ("DL" ,

"schema_name");

Đặc tả dữ liệu vật lý cho dữ liệu dạng giao dịch

PhysicalDataSpecification m_PhysicalDataSpecification=new

TransactionalDataSpecification("CASE_ID","ATTRIBUTES","VALUES" );

Đặc tả dữ liệu vật lý cho dữ liệu dạng không giao dịch

PhysicalDataSpecification m_PhysicalDataSpecification = new NonTransactionalDataSpecification(lad);

3. Khởi tạo chức năng khai phá Mining Function Settings

Xác định với DMS chức năng mô hình và thuật toán sử dụng : Ví dụ cho mô hình Phân lớp sử dụng thuật toán NB

ClassificationFunctionSettings m_ClassificationFunctionSettings =ClassificaitonFunctionSettings.create( dmsConnection, null, m_PhysicalDataSpecification, "class", AttributeType.categorical, DataPreparationStatus.getInstance("unprepared"));

NaiveBayesSettings algorithmSetting = new NaiveBayesSettings(0.01f 0.01f);

ClassificationFunctionSettings m_ClassificationFunctionSettings

=ClassificationFunctionSettings.create( cmsConnection,algorithmSetting,

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle

m_PhysicalDataSpecification, class, Attribute Type.categorical, DataPreparationStatus.getInstance(unprepared));

4. Xây dựng mô hình.

Quyết định mô hình sẽ đƣợc xây dựng đồng bộ hay dị bộ. Xây dựng mô hình đồng bộ thực thi ngay:

MiningModel.build(dmsConn, lad, m_PhysicalDataSpecification, "Sample_NB_MFS", "Sample_NB_Model");

Xây dựng mô hình không đồng bộ gồm ba bƣớc:

MiningBuildTask task = new MiningBuildTask(

m_PhysicalDataSpecification, "Sample__NB_MFS","Sample_NB_Model"); task.store(dmsConnection, "Sample_NB_Build_Task");

task.execute(dmsConnection);

III.4.3. Ghi điểm dữ liệu bằng mô hình

1. Chuẩn bị

Dữ liệu ghi điểm phải đƣợc lƣu trong CSDL Oracle 9i.

Dữ liệu ghi điểm phải tƣơng thích với dữ liệu đã xây dựng mô hình.

Làm sạch dữ liệu ghi điểm giống nhƣ làm sạch dữ liệu xây dựng mô hình..

2. Các bước chính ghi điểm

Kết nối tới DMS .

Tạo đối tƣợng PhysicalDataSpecification cho dữ liệu vào (dữ liệu ghi điểm). Tạo đối tƣợng LocationAccessData object cho kết quả ra.

Tạo đối tƣợng MiningApplyOutput cho kết quả ra . Ghi điểm dữ liệu.

3. Áp dụng mô hình

Áp dụng đồng bộ

apply (dmsConn,m_PhysicalDataSpecification, "Sample_NB_Model", m_MiningApplyOutput, ladOutput, "Sample_NB_APPLY_RESULT")

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle Áp dụng không đồng bộ

MiningApplyTask task = new MiningBuildTask ( m_PhysicalDataSpecification,

"Sample_NB_Model", m_MiningApplyOutput, ladOutput, "Sample_NB_APPLY_RESULT");

task.store(dmsConnection, "Sample_NB_APPLY_Task"); task.execute(dmsConnection);

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle

SỬ DỤNG ODM KHAI PHÁ DỮ LIỆU.

IV.1. Một số định hƣớng khai phá dữ liệu trong các CSDL

IV.1.1. Hệ thống CSDL ngành Thuế

Việc ứng dụng công nghệ thông tin vào thực tiễn đã tạo nên những bƣớc cải cách cách mạng trong công tác quản lý nhờ những hiệu quả to lớn mà nó mang lại. Các hệ thống tác nghiệp trong ngành Thuế chủ yếu là Hệ thống quản lý đối tƣợng nộp thuế (ĐTNT), quản lý thu thuế, quản lý ấn chỉ đã thiết lập đƣợc các quy trình quản lý ổn định và là công cụ không thể thiếu đƣợc với từng đơn vị Thuế trên phạm vi toàn quốc, trợ giúp cho các hoạt động quản lý toàn ngành. Với lƣợng số liệu tích luỹ khoảng 10.000.000 ĐTNT (thuế VAT) và lƣợng hoá đơn giao dịch hàng ngày lên tới 40.000.000 bản. Dữ liệu ngành Thuế chứa đựng các thông tin đa chiều, đa mức (theo Mục lục ngân sách, Thành phần kinh tế, Ngành nghề, cấp quản lý, Địa phƣơng…) tạo ra một bức tranh toàn diện, đầy đủ, phản ánh tƣơng đối chính xác về hoạt động kinh tế – xã hội ở Việt Nam.

Đã đến lúc cần có các biện pháp khai thác triệt để ở mức độ cao hơn nguồn dữ liệu quý báu đang có trong ngành Thuế. Việc khai thác cần định hƣớng phục vụ phân tích số liệu với mục tiêu hỗ trợ các nhà quản lý điều hành xem xét xác định các hƣớng đi chiến lƣợc toàn ngành. Thông tin cung cấp cho các nhà quản lý không những phải cho phép biết đƣợc tiến độ các công việc đang diễn ra mà còn biết điều gì sẽ xảy ra sau đó, có nghĩa là có khả năng phân tích hỗ trợ quyết định.

1. Số liệu ngành thuế

Tại Tổng cục thuế đang dần hình thành các Kho dữ liệu theo nhiều chủ đề nhƣ về Đối tƣợng nộp thuế, số thu, số nộp, hoá đơn ấn chỉ thể hiện các cách nhìn từ các phƣơng diện khác nhau lên toàn cảnh kinh tế – xã hội và có thể khai thác, tận dụng để cung cấp thông tin phân tích chất lƣợng hỗ trợ quyết định một cách toàn diện. Nhìn dƣới giác độ hệ thống thông tin, có thể hình dung dữ liệu ngành Thuế bao gồm 3 nhóm hệ thống thông tin chính nhƣ sau: hệ thống thông tin quản lý và nghiệp vụ thuế, hệ thống thông tin quản lý nội bộ và hệ thống thông tin trao đổi với

Một số thử nghiệm khai phá dữ liệu trong CSDL Oracle bên ngoài nhƣ sau [3] :

Số liệu ngành thuế là số liệu đƣợc thu thập thƣờng xuyên, đầy đủ và trung thực nhất (So sánh với các lĩnh vực kinh tế – xã hội khác). Số liệu này đƣợc thu thập trong quá trình quản lý thu thuế. Để có thể huy động đƣợc nguồn thu, tránh thất thoát ngành Thuế phải tổ chức đội ngũ cán bộ có chân rết đến từng địa bàn hành chính theo dõi các hoạt động kinh doanh của mọi đối tƣợng. Việc quản lý thuế đƣợc bắt đầu từ việc đăng ký nộp thuế, cấp mã số thuế và hàng tháng đối tƣợng nộp thuế kê khai thuế phải nộp, cán bộ cơ quan thuế hỗ trợ kiểm tra và tính thuế. Các hoạt động kinh doanh đƣợc theo dõi, kiểm tra và báo cáo hàng tháng trên các số liệu tờ khai thuế và thể hiện các chỉ tiêu doanh số: đầu vào, đầu ra; lãi và thu nhập của đối tƣợng. Có thể thấy mảng dữ liệu đƣợc tổ chức cùng với hệ thống MIS phần lớn sẽ đƣợc tổng hợp từ các CSDL tác nghiệp, với tổ chức phù hợp cho nhu cầu của

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Một số thử nghiệm khai phá dữ liệu trong cơ sở dữ liệu ORACLE (Trang 49)

Tải bản đầy đủ (PDF)

(97 trang)