5. Bố cục của luận văn
2.8. CÁC CÔNG CỤ XÂY DỰNG MÔ HÌNH KPDL
2.8.1. Hệ quản trị CSDL SQL Server 2014
Hệ quản trị CSDL (Database Management System - DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một CSDL. Hệ quản trị CSDL MSSQL Server2014 có 4 dịch vụ lớn: Database Engine, Intergration Service, Reporting service, Analysis Services. Trong phiên bản MSSQL 2014 này đã có những cải tiến đáng kể như sau:
- DataBase Engine: được phát triển để thực thi tốt hơn với việc hỗ trợ cả dữ liệu có cấu trúc và dữ liệu phi cấu trúc (XML).
- Dịch vụ tích hợp (Integration Service) thiết kế lại, cho phép người dùng tích hợp dữ liệu và phân tích dữ liệu từ nhiều nguồn khác nhau. Hỗ trợ việc quản lý chất lượng dữ liệu và làm sạch dữ liệu.
- Dịch vụ phân tích dữ liệu (Analysis Service): cung cấp khung nhìn tích hợp và thống nhất về dữ liệu cho người dùng, hỗ trợ việc phân tích dữ liệu.
- Dịch vụ xây dựng quản lý báo cáo (Reporting Service) được dựa trên nền tảng quản trị doanh nghiệp thông minh và được quản lý qua dịch vụ web. Báo cáo có thể được xây dựng với ngôn ngữ truy vấn MDX. Việc xây dựng báo cáo dễ dàng thông qua các công cụ trên Business Intelligent, người dùng truy cập báo cáo dễ dàng và trích xuất ra nhiều định dạng khác nhau thông qua trình duyệt web.
MSSQL Server 2014 cung cấp công nghệ và khả năng mà các tổ chức hy vọng kiểm soát được các khó khăn thách thức đang ngày càng tăng đối với việc quản lý dữ liệu và cung cấp thông tin có giá trị kịp thời đến người dùng.
2.8.2. Công cụ xây dựng mô hình KPDL Business Intelligence
MSSQL Server Data Tools - Business Intelligence (BI): là một IDE của Microsoft cho phép xây dựng các giải pháp cho Business Inteligence: Analysis Services, Reporting Services, và Integration Services, 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 KPDL [16].
- BI cho phép triển khai các mô hình KPDL sau:
Decision Tree (DT)
Clustering (Phân cụm)
Naive Bayes (Phân lớp với Luật Bayes)
Time Series (Chuỗi thời gian)
Association (Luật kết hợp)
Neural Network (Mạng Neural)
Linear Regression (Hồi qui tuyến tính)
Logistics Regression (Hồi qui logistics)
Qui trình xây dựng mô hình KPDL với BI như Hình 2.1.
BI là môi trường chính để phát triển các giải pháp kinh doanh bao gồm Analysis Services, Integration Services và Reporting Services. Mỗi loại cung cấp các mẫu để tạo ra các đối tượng cần thiết cho các giải pháp kinh doanh thông minh, cung cấp một loạt các thiết kế và các công cụ để làm việc với các đối tượng.
Hình 2.1. Quy trình xây dựng mô hình KPDL với BI
Bắt đầu
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 Module Structure
Tạo các Mining Modules
Thực thi Mining Modules
Sử dụng Mining Models để dự đoán Kết thúc
2.9.KPDL VỚI MSSQL SERVER 2014 ANALYSIS SERVICES 2.9.1. Giới thiệu 2.9.1. Giới thiệu
SQL Server là hệ thống quản lý CSDL, sử dụng Transact-SQL để thao tác dữ liệu trên các máy khách và máy chủ. SQL-Server có khả năng quản lý một khối lượng CSDL rất lớn, cỡ vào khoảng hàng Tera-Byte và đồng thời phục vụ hàng ngàn user. Bên cạnh thành phần cơ bản nhất của SQL-Server là Database Engine có khả năng lưu trữ và xử lý dữ liệu ở các quy mô khác nhau như dạng bảng hay các kiểu kết nối thông dụng của Microsoft (ADO, OLE DB, OLDB) thì từ phiên bản SQL Server 2005 trở đi thì bộ SQL Server đã được tích hợp nhiều gói dịch vụ hỗ trợ việc tích hợp và khai thác khả năng tiềm tàng của một CSDL như SQL Integrating Services, SQL Server Analysis Services và SQL Server Reporting Services [20].
MSSQL Server 2014 Analysis Services (SSAS) đáp ứng nhu cầu xử lý phân tích dữ liệu OLAP và các ứng dụng KPDL. Analysis Services hỗ trợ OLAP bằng cách cho phép bạn thiết kế, tạo ra, và quản lý các cấu trúc đa chiều có chứa dữ liệu được tổng hợp từ các nguồn dữ liệu khác, chẳng hạn như CSDL quan hệ. Đối với các ứng dụng khai thác dữ liệu Analysis Services cho phép bạn thiết kế, tạo ra, và hình dung mô hình khai thác dữ liệu được xây dựng từ các nguồn dữ liệu khác bằng cách sử dụng một loạt các tiêu chuẩn các thuật toán khai thác dữ liệu.
SSAS cho phép các ứng dụng hoạt động theo chế độ Client/Server. Thành phần server được triển khai như một dịch vụ của MS Windows bao gồm một số thành phần thực hiện các chức năng:
- Phân tích câu lệnh nhận được từ client - Lưu trữ dữ liệu
- Quản lý metadata - Tạo các khối tích hợp - Quản lý giao dịch - Lập lịch truy vấn - Xử lý tính toán - Quản lý tài nguyên
SSAS hỗ trợ nhiều dịch vụ trên cùng một máy chủ, mỗi dịch vụ là một đối tượng riêng biệt. Thành phần client truyền thông với server bằng giao thức XML for Analysis (XML/A) thông qua cơ chế truy vấn và trả lời tương tự như web service. Câu lệnh truy vấn sử dụng ngôn ngữ SQL, MDX (Multidimensional Expressions), DMX (Data Mining Extensions).
Hình 2.2. Mô hình kiến trúc của SSAS
2.9.2. Môi trường phát triển ứng dụng
BI là môi trường phát triển ứng dụng SSAS. Môi trường này được tích hợp với MS Analysis Service. Phần lớn thời gian làm việc với SQL Server Data Mining là làm việc với BI. BI có hai chế độ hoạt động: Offline và Immediate.
Làm việc với chế độ Immediate, người dùng kết nối trực tiếp và liên tục đến Analysis Service server. Khi tạo mới hoặc thay đổi các đối tượng đã có, các hoạt động này đều được thay đổi trên server. Mặc dù chế độ làm việc này rất trực quan và dễ hiểu, tuy nhiên, nó cũng có nhiều hạn chế như các thao tác sai không thể phục hồi, các tác động không mong muốn từ các phiên làm việc khác, tính nhất quán giữa các ứng dụng sử dụng chung dữ liệu. Ngoài ra chế độ này chỉ bó hẹp trong một sơ sở dữ liệu nhất định.
Trong chế độ Offline, các thay đổi trong dự án chỉ được lưu trữ ở client. Nó chỉ thành hiện thực khi quyết định triển khai ứng dụng lên server. Chế độ làm việc này phù hợp với việc thiết kế và chạy thử các mô hình trên máy chủ kiểm tra. Khi các mô hình đã được kiểm tra xác nhận thì mới được triển khai trên máy chủ.
Microsoft cung cấp nhiều giao diện lập trình ứng dụng giúp lập trình viên dễ dàng phát triển ứng dụng. Bảng sau tóm tắt các SQL Server Mining API:
Bảng 2.1.Các công cụ lập trình ứng dụng Data Mining
STT Tên công cụ Tên viết tắt Mô tả
1 ActiveX Data
Objects ADO
Cung cấp truy cập đến các đối tượng dữ liệu bao gồm cả các đối tượng data mining từ các ngôn ngữ lập trình như Visual Basic
2
ActiveX Data Objects for .NET
ADOMD.NET
Cung cấp truy cập đến các đối tượng Analysis Service từ các ngôn ngữ như Visual Basic .NET, C# và J#.
STT Tên công cụ Tên viết tắt Mô tả 3 Server ActiveX Data Objects Server ADOMD
Cung cấp truy cập đến các đối tượng Analysis Service từ các hàm do người dùng định nghĩa trên trong server
4
Analysis Management Object
AMO
Giao diện quản lý các đối tượng Analysis Services cho phép thực hiện các hoạt động như tạo, xử lý… các đối tượng 5 Decision Support Object DSO
Giao diện quản lý các đối tượng Analysis Services được giữ lại từ SQL Server 2000. 6 Data Mining Extension DMX Mở rộng ngôn ngữ SQL để hỗ trợ data mining 7 Object Linking and Embedding for Databases for Data Mining OLE DB for DM
Định nghĩa các khái niệm và API chung cho data mining tương tự như SQL trong CSDL quan hệ
8 XML for
Analysis XMLA
Cung cấp giao thức và định dạng XML để truyền thông với Analysis Server
2.9.3. Các thuật toán KPDL trong MSSQL Server 2014
Microsoft đã nâng cấp và bổ sung nhiều thuật toán ứng dụng tích hợp với MSSQL Server 2014:
Bảng 2.2. Các thuật toán Data Mining trong MSSQL Server 2014
Nhiệm vụ Thuật toán Microsoft sử dụng
Dự đoán thuộc tính rời rạc
Decision Trees Algorithm Naive Bayes Algorithm Clustering Algorithm Neural Network Algorithm Logistic Regression Algorithm
Dự đoán thuộc tính liên tục
Decision Trees Algorithm Time Series Algorithm
Linear Regression Algorithm Dự đoán 1 trình tự Sequence Clustering Algorithm Phân loại Association Algorithm
Decision Trees Algorithm Gom cụm Clustering Algorithm
KẾT LUẬN CHƯƠNG 2
Chương 2 đã trình bày được đặc điểm tâm sinh lý của tuổi vị thành niên; nêu được khái niệm; đặc điểm lâm sàng của bệnh rối loạn trầm cảm, trình bày được các triệu chứng của bệnh RLTC, nêu được các yếu tố ảnh hưởng đến bệnh rối loạn trầm cảm và trình bày được các cộng cụ hỗ trợ xây dựng mô hình khai phá dữ liệu. Chương này đã giới thiệu cách thu thập và xử lý dữ liệu về bệnh trầm cảm của học sinh phổ thông. Đề tài đã thu thập và xử lý 4000 dòng dữ liệu từ Khoa tâm thần - bệnh viện đa khoa tỉnh Quảng Trị và một số phòng khám tư nhân, Phòng Y tế các trường THPT, THCS trên địa bàn tỉnh Quảng Trị để xây dựng cơ sở dữ liệu làm tiền giải quyết bài toán chẩn đoán bệnh RLTC.
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG CHẨN ĐOÁN BỆNH RỐI LOẠN
TRẦM CẢM DỰA TRÊN KHAI PHÁ DỮ LIỆU
Sau khi đã xây dựng CSDL trong chương 2, chương này trình bày kỹ thuật cây quyết định để khai phá dữ liệu và xây dựng mô hình chuẩn đoán bệnh RLTC. Sau đó, chương này sử dụng kỹ thuật phân cụm để đưa ra các đặc trưng cho từng cụm bệnh nhân của bệnh này. Cuối chương là phần cài đặt hệ thống thử nghiệm các tập luật đã khai phá được. Hệ thống này cho phép người dùng nhập dữ liệu về đặc điểm cá nhân cũng như các thông tin liên quan đến bệnh RLTC và đưa ra các dự báo về khả năng mắc chứng bệnh này.
3.1.XÂY DỰNG CSDL TRONG SQL SERVER 3.1.1. Mô tả dữ liệu 3.1.1. Mô tả dữ liệu
Dữ liệu được dùng để xây dựng mô hình gồm 28 thuộc tính như sau:
Bảng 3.1. Cấu trúc dữ liệu chẩn đoán bệnh RLTC
STT Thuộc tính Kiểu DL Giá trị của
thuộc tính Giải thích
1. ID Nominal 1…4000 Mã BN
2. GioiTinh Nominal Nam, Nu Giới tính của BN 3. Tuoi Nominal 12, 13, 14, 15,
16, 17, 18
Độ tuổi của BN
4. B_Mcainhau Nominal
chua bao gio <2lan_thang >3lan_thang
Tình trạng bố mẹ hoặc người thân cải nhau
5. B_Mdanhnhau Nominal
chua bao gio <2lan_thang >3lan_thang
Tình trạng bố mẹ hoặc người thân đánh nhau
STT Thuộc tính Kiểu DL Giá trị của thuộc tính Giải thích 6. KQHT Nominal Xuatsac, Gioi, Kha, TB, Yeu, Kem. Kết quả học tập của BN. 7. apluchtap Nominal KhongApLuc, ApLucIt ApLucVua, ApLucNhieu Áp lực về kết quả học tập của BN 8. gvnatno Nominal ChuaBaoGio, HiemKhi, ThinhThoang, ThuongXuyen Mức độ Thầy cô giáo ở trường trường xuyên nạt nộ, la mắng. 9. gvtrungphat Nominal ChuaBaoGio, HiemKhi, ThinhThoang, ThuongXuyen Mức độ giáo viên trừng phạt nếu vi phạm. 10. bitreuchoc Nominal ChuaBaoGio, HiemKhi, ThinhThoang, ThuongXuyen Mức độ bị bạn bè trêu chọc. 11. bidanhdap Nominal ChuaBaoGio, HiemKhi ThinhThoang, ThuongXuyen Mức độ bị bạn bè đánh đập.
12. f1khochiu Nominal <1ngay, 1-2ngay,
Số ngày BN thấy khó chịu.
STT Thuộc tính Kiểu DL Giá trị của thuộc tính Giải thích 3-4ngay, 5-7ngay 13. f2khongmuon an Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN không muốn ăn hoặc ăn không ngon miệng.
14. f5taptrungchu y Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN gặp khó khăn để tập trung chú ý vào những việc mình đang làm 15. f3buonchan Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN cảm thấy không hết buồn, mặc dù gia đình và bạn bè đã giúp đỡ. 16. f6suysup Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN cảm thấy suy sụp và không vui. 17. f7metmoi Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN thấy quá mệt mỏi không thể làm gì được.
18. f8hyvong Nominal <1ngay, 1-2ngay,
Số ngày BN cảm thấy tràn đầy hy
STT Thuộc tính Kiểu DL Giá trị của
thuộc tính Giải thích
3-4ngay, 5-7ngay
vọng vào tương lai.
19. f9cdthatbai Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN nghĩ cuộc đời từ trước đến nay toàn là thất bại. 20. f10sohai Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN cảm thấy sợ hãi. 21. f11ngukyg Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN ngủ không yên giấc.
22. f12vuive Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN cảm thấy vui vẻ/hạnh phúc. 23. f13nchuyenit Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN nói chuyện ít hơn bình thường. 24. f14codon Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN cảm thấy cô đơn.
STT Thuộc tính Kiểu DL Giá trị của thuộc tính Giải thích 25. f16yeucs Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN thấy yêu thích cuộc sống. 26. f17khoc Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN khóc nhiều. 27. f20klamviec Nominal <1ngay, 1-2ngay, 3-4ngay, 5-7ngay Số ngày BN đã không thể bắt đầu những việc bình thường. 28. Ketqua Nominal
Yes, No Kết quả chẩn đoán BN có mắc bệnh trầm cảm hay không?
3.1.2. Bài toán chẩn đoán bệnh RLTC
Để biết được một người có mắc phải bệnh RLTC hay không thì bệnh nhân phải đến bệnh viện hoặc các phòng khám tư để thăm khám lâm sàng, làm các xét nghiệm máu hoặc kiểm tra tuyến giáp và điền vào bảng câu hỏi để đánh giá tâm lý tại các cơ sở y tế có đầy đủ các trang thiết bị hỗ trợ. Tuy nhiên, vấn đề đặt ra là ta có thể chẩn đoán được kết quả tương tự như vậy nhưng không cần làm các xét nghiệm y khoa tốn kém thời gian và mất nhiều chi phí. Thay vào đó ta có thể dự đoán được bệnh thông qua các dữ liệu từ
thông tin cá nhân, yếu tố gia đình, yếu tố trường học, việc học tập, mối quan hệ bạn bè, biểu hiện về sức khoẻ trong 7 ngày qua như rối loạn giấc ngủ, mệt mỏi, ăn không ngon miệng, cảm thấy buồn, khó chịu, không tập trung công việc, suy sụp tinh thần, ít trò chuyện….. được hay không?
3.1.3. Lựa chọn giải thuật giải quyết bài toán.
Từ những dữ liệu đã được thu thập và lưu trữ để áp dụng cho bài toán chẩn đoán bệnh RLTC mà luận văn đang xây dựng, thì cần phải tìm kiếm những thông tin gì? Những thông tin đó giúp ích gì cho việc dự đoán?
Từ góc độ xây dựng mô hình dự đoán, hệ thống cần phải đáp ứng các câu hỏi được tạo ra một cách tự động và giải quyết được các thắc mắc của từng bệnh nhân. Các câu hỏi thường được tạo ra từ những thông tin từ bệnh nhân cung cấp như sau: Tuổi, giới tính, tình trạng bố mẹ hoặc người thân cải nhau, kết quả học tập, áp lực về kết quả học tập, mức độ thầy cô giáo ở trường nạt nộ la mắng, mức độ thường xuyên bệnh nhân cảm nhận các dấu hiệu/hành vi trong 7 ngày qua như rối loạn giấc ngủ, mệt mỏi, ăn không ngon miệng, cảm thấy buồn chán, khó chịu, không tập trung công việc, suy sụp tinh thần, mệt mỏi, vui vẻ, yêu cuộc sống, hy vọng vào tương lai, ít trò chuyện...thì kết quả bệnh nhân đó có mắc bệnh RLTC hay không? Dựa vào kết quả đó bệnh nhân có thể tham khảo để tiến hành làm tiếp các xét nghiệm khác hay không..
Kết quả của việc chẩn đoán sẽ được xác định từ những dữ liệu đầu vào mà những người sử dụng đã nhập vào. Hệ thống sẽ xem xét dựa trên mô hình mà đã được xây dựng để đưa ra những chẩn đoán chính xác. Như vậy, yêu cầu đặt ra ở đây là mô hình được phát sinh từ đâu. Đó chính là mục đích của việc KPDL từ những dữ liệu thu thập được mà chúng tôi muốn thực hiện trong đề tài này.
Có rất nhiều thuật toán xây dựng mô hình từ tập các dữ liệu đầu vào và phân lớp dữ liệu để đưa ra quyết định chẩn đoán. Ở đề tài này, chúng tôi không có tham vọng sẽ tìm hiểu hết tất cả các thuật toán nhưng sẽ nêu ra các
thuật toán thông dụng để từ đó áp dụng vào đề tài. Kết quả mong muốn là xây