Việc này giúp cho các bác sĩ và nhân viên y tế có thể đưa ra những phương pháp điều trị phù hợp, giảm thiểu tối đa các rủi ro và nâng cao chất lượng chăm sóc sức khỏe cho bệnh nhân.Chúng
TỔNG QUAN
Lý do hình thành đồ án
Đồ án được thực hiện với mục đích nghiên cứu và ứng dụng phần mềm SAS JMP để thực hiện khai phá dữ liệu nhằm dự đoán bệnh tim mạch tại bệnh viện Vinmec. Bệnh tim mạch là một trong những nguyên nhân hàng đầu gây tử vong trên thế giới và ở Việt Nam Việc phát hiện sớm và điều trị kịp thời bệnh tim mạch có thể cứu sống nhiều người và giảm thiểu chi phí y tế Tuy nhiên, việc chẩn đoán bệnh tim mạch không phải là đơn giản, bởi nó phụ thuộc vào nhiều yếu tố như tuổi, giới tính, huyết áp, cholesterol, tiền sử gia đình, hút thuốc, tiểu đường, béo phì, vận động thể chất, stress và các triệu chứng khác Do đó, việc sử dụng phần mềm SAS JMP để khai phá dữ liệu và xây dựng các mô hình dự đoán bệnh tim mạch là rất cần thiết và hữu ích
Phần mềm SAS JMP là một công cụ thống kê và phân tích dữ liệu mạnh mẽ, linh hoạt và dễ sử dụng Nó cho phép người dùng nhập, xử lý, khám phá, trực quan hóa và mô hình hóa dữ liệu từ nhiều nguồn khác nhau Nó cũng cung cấp nhiều kỹ thuật thống kê tiên tiến như hồi quy tuyến tính và phi tuyến, phân loại và hồi quy cây, phân tích thành phần chính, phân tích nhân tố, phân tích cụm, phân tích đa biến, v.v…. Bằng cách sử dụng SAS JMP, người dùng có thể khai thác được những thông tin quý giá từ dữ liệu và tạo ra các báo cáo trực quan và sinh động Đồ án này sẽ sử dụng bộ dữ liệu về bệnh tim mạch của bệnh viện Vinmec để minh họa các bước khai phá dữ liệu và xây dựng các mô hình dự đoán bệnh tim mạch bằng SAS JMP Bộ dữ liệu gồm có 918 quan sát với 12 biến, trong đó biến đích là có hay không bị bệnh tim mạch (1 hoặc 0), còn lại là các biến giải thích liên quan đến các yếu tố nguy cơ của bệnh tim mạch Đồ án này sẽ trình bày các nội dung chính sau: giới thiệu về bệnh tim mạch và SAS JMP; nhập và kiểm tra chất lượng dữ liệu; khám phá và trực quan hóa dữ liệu; xây dựng và lựa chọn các mô hình dự đoán; kiểm tra và đánh giá hiệu quả của các mô hình; kết luận và kiến nghị.
Mục tiêu đồ án
- Tìm hiểu về ứng dụng SAS JMP và các tính năng hỗ trợ khai phá dữ liệu và dự đoán bệnh tim mạch.
- Thu thập và tiền xử lý dữ liệu về các bệnh nhân mắc bệnh tim mạch tại bệnh viện Vinmec.
- Phân tích thống kê và trực quan hóa dữ liệu để khám phá các mối quan hệ và xu hướng liên quan đến bệnh tim mạch.
- Đề xuất các giải pháp và khuyến nghị để phòng ngừa và điều trị bệnh tim mạch hiệu quả hơn.
Dự kiến kết quả đạt được
- Hiểu được cách sử dụng các công cụ, các chức năng trên SAS JMP để khai thác dữ liệu.
- Trình bày kết quả phân tích và khai phá dữ liệu bằng các biểu đồ, bảng số liệu và báo cáo trực quan trên phần mềm SAS JMP.
CƠ SỞ LÝ THUYẾT
Giới thiệu về khai phá dữ liệu
Khai phá dữ liệu (Data mining) là quá trình khám phá thông tin từ các tập dữ liệu lớn bằng cách sử dụng các phân tích toán học để tìm ra các mẫu và xu hướng trong dữ liệu mà không thể tìm thấy bằng phương pháp truyền thống.[CITATION Owe22 \l 1033 ]
Những mẫu và xu hướng này có thể được thu thập và xác định dưới dạng mô hình khai thác dữ liệu Các mô hình khai thác này có thể được áp dụng cho các tình huống cụ thể, chẳng hạn như:
- Dự báo: Ước tính doanh số, dự đoán tải máy chủ hoặc thời gian ngừng hoạt động của máy chủ.
- Rủi ro và xác suất: Chọn khách hàng tốt nhất để gửi thư mục tiêu, xác định điểm hòa vốn có thể xảy ra cho các tình huống rủi ro, chỉ định xác suất cho chẩn đoán hoặc các kết quả khác.
- Đề xuất: Xác định sản phẩm nào có khả năng được bán cùng nhau, tạo đề xuất.
- Trình tự tìm kiếm: Phân tích các lựa chọn của khách hàng trong giỏ hàng, dự đoán các sự kiện có thể xảy ra tiếp theo.
- Nhóm: Phân chia khách hàng hoặc sự kiện thành các cụm có liên quan, phân tích và dự đoán mối quan hệ giữa chúng.
Cũng có thể hiểu, Data Mining – khai phá dữ liệu là quá trình phân loại, sắp xếp các tập hợp dữ liệu lớn để xác định các mẫu và thiết lập các mối liên hệ nhằm giải quyết các vấn đề nhờ phân tích dữ liệu Các MCU khai phá dữ liệu cho phép các doanh nghiệp có thể dự đoán được xu hướng tương lai.
Quá trình khai phá dữ liệu là một quá trình phức tạp bao gồm kho dữ liệu chuyên sâu cũng như các công nghệ tính toán Hơn nữa, Data Mining không chỉ giới hạn trong việc trích xuất dữ liệu mà còn được sử dụng để chuyển đổi, làm sạch, tích hợp dữ liệu và phân tích mẫu.
Có nhiều tham số quan trọng khác nhau trong Data Mining, chẳng hạn như quy tắc kết hợp, phân loại, phân cụm và dự báo Một số tính năng chính của Data Mining:
- Dự đoán các mẫu dựa trên xu hướng trong dữ liệu.
- Tính toán dự đoán kết quả
- Tạo thông tin phản hồi để phân tích
- Tập trung vào cơ sở dữ liệu lớn hơn.
- Phân cụm dữ liệu trực quan
Khai phá dữ liệu có nhiều ứng dụng trong các lĩnh vực khác nhau như kinh doanh, y tế, khoa học dữ liệu, v.v Nó giúp tìm ra các mô hình dự đoán và giải thích mối quan hệ giữa các biến, từ đó giúp các doanh nghiệp hoạt động hiệu quả hơn, đưa ra quyết định đúng đắn và tối ưu hóa quy trình sản xuất, cũng như phát hiện ra các bệnh và đưa ra các phương pháp điều trị hiệu quả.
3.1.2 Vai trò của khai phá dữ liệu trong kinh doanh
Khai phá dữ liệu (Data Mining) đóng vai trò rất quan trọng trong kinh doanh bởi vì nó giúp các doanh nghiệp phát hiện ra các mẫu, xu hướng và thông tin giá trị từ tập dữ liệu của mình Cụ thể, khai phá dữ liệu trong kinh doanh có các vai trò sau:
- Phát hiện mô hình và xu hướng: Khai phá dữ liệu giúp tìm ra các mô hình và xu hướng tiềm ẩn trong dữ liệu Nó có thể giúp các doanh nghiệp hiểu rõ hơn về khách hàng, sản phẩm và thị trường, giúp họ đưa ra các quyết định chiến lược và kinh doanh chính xác hơn.
- Dự đoán và phân loại: Khai phá dữ liệu cũng giúp các doanh nghiệp dự đoán các xu hướng tương lai và phân loại khách hàng, sản phẩm hoặc dịch vụ vào nhóm tương ứng Điều này giúp cho việc đưa ra các quyết định về sản xuất, quảng cáo và tiếp thị một cách thông minh và hiệu quả.
- Tối ưu hóa quy trình: Khai phá dữ liệu cũng có thể giúp tối ưu hóa quy trình sản xuất, đặc biệt là trong các ngành công nghiệp sản xuất Nó giúp các doanh nghiệp hiểu rõ hơn về các vấn đề liên quan đến sản xuất và quản lý, giúp họ tìm ra các điểm yếu và đưa ra các cải tiến cho quy trình sản xuất.
- Phát hiện gian lận và rủi ro: Khai phá dữ liệu cũng có thể giúp các doanh nghiệp phát hiện các gian lận và rủi ro trong hoạt động kinh doanh Nó giúp các doanh nghiệp tìm ra các mẫu bất thường trong dữ liệu và phát hiện các hành vi lừa đảo hoặc nguy cơ rủi ro khác.
Tóm lại, khai phá dữ liệu là một công cụ quan trọng giúp các doanh nghiệp hiểu rõ hơn về dữ liệu của họ và đưa ra các quyết định kinh doanh thông minh và hiệu quả Nó giúp các doanh nghiệp cải thiện hiệu quả hoạt động, tối ưu hóa quy trình và nâng cao khả năng cạnh tranh trong thị trường.
3.1.3 Quy trình khai phá dữ liệu
Các quy trình khai phá dữ liệu thường có thể bao gồm các bước sau đây: [ CITATION gee23 \l 1033 ]
- Hiểu về tình hình kinh doanh (Business Understanding): Xác định vấn đề và mục tiêu cho dự án khai thác dữ liệu.
- Hiểu về dữ liệu (Data Understanding): Thu thập và khám phá dữ liệu để hiểu được tính chất và đặc điểm của nó
- Chuẩn bị dữ liệu (Data Preparation): Làm sạch, biến đổi và tiền xử lý dữ liệu để chuẩn bị cho việc phân tích
- Mô hình hóa (Modeling): Áp dụng nhiều kỹ thuật và thuật toán cho dữ liệu để trích xuất thông tin và nhận được những hiểu biết hữu ích
- Đánh giá (Evaluation): Đánh giá chất lượng và tính hữu dụng của các mô hình và mẫu tìm được
- Triển khai (Deployment): Sử dụng các mẫu và mô hình tìm được để giải quyết vấn đề kinh doanh và đưa ra quyết định.
Quá trình khai thác tri thức không chỉ là một quá trình tuần tự từ bước đầu tiên đến bước cuối cùng mà là một quá trình lặp và có quay trở lại các bước đã qua.
Kho dữ liệu
2.2.1 Kiến trúc luồng dữ liệu
Kiến trúc luồng dữ liệu (Data Flow Architecture) là một khái niệm trong khoa học dữ liệu, đề cập đến cách thức dữ liệu được di chuyển và xử lý qua các thành phần của hệ thống Nó được sử dụng để mô tả cấu trúc tổng thể của hệ thống và phân rã chúng thành các thành phần nhỏ hơn để dễ quản lý và phát triển Kiến trúc luồng dữ liệu bao gồm các thành phần sau:
- Nguồn dữ liệu: Đây là nơi dữ liệu được tạo ra hoặc nhập vào hệ thống, ví dụ như các bảng cơ sở dữ liệu, tập tin hoặc thiết bị đo lường.
- Xử lý dữ liệu: Các thành phần này được sử dụng để xử lý dữ liệu, ví dụ như các thuật toán khai phá dữ liệu, các kịch bản xử lý dữ liệu, hoặc các tiến trình thống kê.
- Lưu trữ dữ liệu: Đây là nơi dữ liệu được lưu trữ, ví dụ như cơ sở dữ liệu, kho dữ liệu hoặc các tập tin lưu trữ.
- Điều khiển luồng dữ liệu: Các thành phần này được sử dụng để điều khiển luồng dữ liệu qua các thành phần khác nhau của hệ thống, ví dụ như các kịch bản dữ liệu, các trình quản lý luồng dữ liệu, hoặc các hệ thống quản lý quy trình kinh doanh.
- Đích dữ liệu: Đây là nơi dữ liệu được đưa ra sau khi được xử lý và lưu trữ, ví dụ như các báo cáo, ứng dụng, hay các hệ thống khác.
Trong kiến trúc luồng dữ liệu, toàn bộ hệ thống phần mềm được coi là một chuỗi các phép biến đổi trên các phần liên tiếp hoặc tập hợp dữ liệu đầu vào, trong đó dữ liệu và hoạt động độc lập với nhau Theo cách tiếp cận này, dữ liệu được đưa vào hệ thống và sau đó lần lượt chảy qua các mô-đun cho đến khi chúng được gán cho một số đích cuối cùng (đầu ra hoặc kho lưu trữ dữ liệu).
Các kết nối giữa các thành phần hoặc mô-đun có thể được triển khai dưới dạng luồng I/O, bộ đệm I/O, đường ống hoặc các loại kết nối khác Dữ liệu có thể được di chuyển trong cấu trúc liên kết đồ thị có chu kỳ, trong cấu trúc tuyến tính không có chu kỳ hoặc trong cấu trúc kiểu cây Mục tiêu chính của phương pháp này là để đạt được những phẩm chất của tái sử dụng và sửa đổi Nó phù hợp cho các ứng dụng liên quan đến một loạt các phép biến đổi hoặc tính toán dữ liệu độc lập được xác định rõ ràng trên đầu vào và đầu ra được xác định theo thứ tự, chẳng hạn như trình biên dịch và ứng dụng xử lý dữ liệu kinh doanh Có ba loại trình tự thực thi giữa các mô-đun:
- Chế độ đường ống và bộ lọc hoặc đường ống không tuần tự
- Kiểm soát quá trình a Chuỗi tuần tự
- Chuỗi tuần tự là một mô hình xử lý dữ liệu cổ điển, trong đó một hệ thống con chuyển đổi dữ liệu chỉ có thể bắt đầu quá trình của nó sau khi hệ thống con trước đó hoàn thành thông qua
- Luồng dữ liệu mang toàn bộ một lô dữ liệu từ hệ thống con này sang hệ thống con khác
- Giao tiếp giữa các mô-đun được thực hiện thông qua các tệp trung gian tạm thời có thể bị xóa bởi các hệ thống con liên tiếp
- Nó được áp dụng cho những ứng dụng mà dữ liệu được xử lý theo lô và mỗi hệ thống con đọc các tệp đầu vào có liên quan và ghi các tệp đầu ra
- Ứng dụng điển hình của kiến trúc này bao gồm xử lý dữ liệu kinh doanh như ngân hàng và thanh toán tiện ích.
Hình 2 1: Mô hình chuỗi tuần tự Ưu điểm
- Cung cấp sự phân chia đơn giản hơn trên các hệ thống con
- Mỗi hệ thống con có thể là một chương trình độc lập làm việc trên dữ liệu đầu vào và tạo ra dữ liệu đầu ra.
- Cung cấp độ trễ cao và thông lượng thấp
- Không cung cấp giao diện đồng thời và tương tác
- Kiểm soát bên ngoài là cần thiết để thực hiện. b Chế độ đường ống và bộ lọc
Theo cách tiếp cận này, luồng dữ liệu được điều khiển bởi dữ liệu và toàn bộ hệ thống được phân tách thành các thành phần của nguồn dữ liệu, bộ lọc, đường ống và phần chứa dữ liệu
Bộ lọc là một bộ chuyển đổi luồng dữ liệu độc lập hoặc bộ chuyển đổi luồng Nó biến đổi dữ liệu của luồng dữ liệu đầu vào, xử lý nó và ghi luồng dữ liệu đã chuyển đổi qua một đường ống để bộ lọc tiếp theo xử lý
Nó hoạt động ở chế độ gia tăng, trong đó nó bắt đầu hoạt động ngay khi dữ liệu đến qua đường ống được kết nối Có hai loại bộ lọc là bộ lọc chủ động và bộ lọc thụ động.
Bộ lọc chủ động : Bộ lọc chủ động cho phép các đường ống được kết nối kéo dữ liệu vào và đẩy dữ liệu đã chuyển đổi ra Nó hoạt động với đường ống thụ động, cung cấp cơ chế đọc/ghi để kéo và đẩy Chế độ này được sử dụng trong cơ chế lọc và ống UNIX.
Bộ lọc thụ động: Bộ lọc thụ động cho phép các đường ống được kết nối đẩy dữ liệu vào và kéo dữ liệu ra Nó hoạt động với đường ống đang hoạt động, lấy dữ liệu từ bộ lọc và đẩy dữ liệu vào bộ lọc tiếp theo Nó phải cung cấp cơ chế đọc/ghi.
Hình 2 1 Mô hình chế độ đường ống và bộ lọc Ưu điểm
- Cung cấp đồng thời và thông lượng cao để xử lý dữ liệu quá mức.
- Cung cấp khả năng tái sử dụng và đơn giản hóa việc bảo trì hệ thống Cung cấp khả năng sửa đổi và khớp nối thấp giữa các bộ lọc
- Cung cấp sự đơn giản bằng cách cung cấp sự phân chia rõ ràng giữa hai bộ lọc bất kỳ được kết nối bằng đường ống
- Cung cấp tính linh hoạt bằng cách hỗ trợ cả thực thi tuần tự và song song.
- Không thích hợp cho các tương tác năng động
- Mẫu số chung thấp là cần thiết để truyền dữ liệu ở định dạng ASCII
- Không cung cấp cách để các bộ lọc tương tác hợp tác để giải quyết vấn đề.
- Khó cấu hình kiến trúc này một cách linh hoạt.
Các phương pháp trong khai phá dữ liệu
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 Quá trình gồm hai bước:
- Học (giai đoạn huấn luyện): xây dựng bộ Phân lớp (Classifier) bằng việc phân tích/học tập huấn luyện
- Phân lớp (classification): Phân lớp dữ liệu/đối tượng mới nếu độ chính xác của bộ Phân lớp được đánh giá là có thể chấp nhận được (Acceptable)
Phân lớp là một kỹ thuật được sử dụng rộng rãi trong lĩnh vực khai phá dữ liệu, nơi khả năng mở rộng và hiệu quả là những vấn đề trước mắt trong các thuật toán phân loại cho cơ sở dữ liệu lớn Phân lớp là một kỹ thuật học có giám sát trong khai phá dữ liệu trong đó dữ liệu được dành cho bộ phân lớp xây dựng với các quy tắc phân lớp Sau đó, nếu dữ liệu kiểm tra được cung cấp cho bộ phân lớp, nó sẽ dự đoán các giá trị cho các thuộc tính chưa biết Phân lớp bao gồm dự đoán một kết quả nhất định dựa trên một đầu vào nhất định Để dự đoán kết quả, thuật toán xử lý một tập huấn luyện chứa một tập hợp các thuộc tính và kết quả tương ứng thường được gọi là thuộc tính dự đoán Thuật toán cố gắng khám phá các mối quan hệ giữa các thuộc tính để có thể dự đoán kết quả Để dự đoán mọi thứ một cách chính xác, xây dựng thuộc tính là cần thiết để giải quyết các vấn đề
Phân lớp sử dụng một quyết định để phân lớp dữ liệu Mỗi quyết định được thiết lập trên một truy vấn liên quan đến một trong các biến đầu vào Dựa trên các xác nhận, cá thể dữ liệu được phân lớp.
Kỹ thuật khai thác dữ liệu phân lớp liên quan đến việc phân tích các thuộc tính khác nhau liên quan đến các loại dữ liệu khác nhau Một khi tổ chức xác định các đặc điểm chính của các loại dữ liệu này, tổ chức có thể phân loại hoặc phân loại dữ liệu liên quan Làm như vậy là rất quan trọng để xác định, ví dụ, các tổ chức thông tin nhận dạng cá nhân có thể muốn bảo vệ hoặc biên soạn lại khỏi các tài liệu.
Phân loại là một trong những kỹ thuật được sử dụng phổ biến nhất khi phân loại các tập dữ liệu lớn Phương pháp phân tích dữ liệu này bao gồm các thuật toán để học có giám sát được điều chỉnh cho phù hợp với chất lượng dữ liệu.
Các thuật toán khai phá dữ liệu để phân lớp
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á đó
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 Quá trình này được lặp lại một cách đệ quy cho mỗi tập con dẫn xuất Quá trình đệ quy hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần tử của tập con dẫn xuất Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định để có thể cải thiện tỉ lệ phân loại
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng để phân lớp các đối tượng dựa vào dãy các luật (Series Of Rules) Các thuộc tính của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu dữ liệu khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết (unseen data).
Cây quyết định được coi là thuật toán khai thác dữ liệu mới nhất Chúng giúp phân tích phần nào của cơ sở dữ liệu thực sự hữu ích hoặc phần nào chứa giải pháp cho vấn đề của bạn Nó là một công cụ hỗ trợ sử dụng biểu đồ hoặc mô hình quyết định và những hậu quả có thể xảy ra Điều đó bao gồm kết quả của các sự kiện may rủi, chi phí tài nguyên và tiện ích Từ góc độ quyết định, cây quyết định là số lượng câu hỏi ít nhất phải được thừa nhận để đánh giá khả năng đưa ra quyết định chính xác Bằng cách xem xét các yếu tố dự đoán hoặc giá trị cho mỗi lần phân tách trong cây, bạn có thể rút ra một số ý tưởng hoặc tìm câu trả lời cho các câu hỏi bạn đã đặt ra Cây quyết định cho phép bạn tiếp cận chướng ngại vật trong một hành vi có cấu trúc và có hệ thống. Đặc điểm của cây quyết định: là một cây có cấu trúc, trong đó:
- Root (Gốc): Là nút trên cùng của cây
- Node nội (trong): nút trung gian trên một thuộc tính đơn (hình Oval)
- Nhánh: Biểu diễn các kết quả của kiểm tra trên nút
- Node lá: Biểu diễn lớp hay sự phân phối lớp (hình vuông hoặc chữ nhật)
Hình 2 3 Đặc điểm của cây ra quyết định
Ví dụ để giải thích về cây quyết định để giải quyết bài toán của David, người ta đã đưa ra một mô hình cây quyết định.
Hình 2 4 Ví dụ về Cây ra quyết định
- Nhóm người chơi golf khi trời nắng
- Nhóm chơi khi trời nhiều mây
- Nhóm chơi khi trời mưa
- Nếu trời nhiều mây, người ta luôn luôn chơi golf
- Và có một số người ham mê đến mức chơi golf cả khi trời mưa.
Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con theo độ ẩm Ta thấy rằng khách hàng không muốn chơi golf nếu độ ẩm lên quá 70%
Cuối cùng, ta chia nhóm trời mưa thành hai nhóm Thấy rằng khách hàng sẽ không chơi golf nếu trời nhiều gió.
Và đây là lời giải ngắn gọn cho bài toán mô tả bởi cây phân loại
- David cho phần lớn nhân viên nghỉ vào những ngày trời nắng và ẩm, hoặc những ngày mưa gió Vì hầu như sẽ chẳng có ai chơi golf trong những ngày đó.
- Vào những hôm khác, khi nhiều người sẽ đến chơi golf, anh ta có thể thuê thêm nhân viên thời vụ để phụ giúp công việc
Cây quyết định giúp ta biến một 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.
Naive Bayes là một thuật toán phân loại đơn giản, sử dụng dữ liệu lịch sử để dự đoán việc phân loại dữ liệu mới Nó tính toán xác suất mà một sự kiện sẽ xảy ra cho rằng một sự kiện khác đã xảy ra Chúng cho phép chúng tôi dự đoán khả năng xảy ra một sự kiện dựa trên các điều kiện mà chúng tôi biết đối với các sự kiện được đề cập.
Một số ví dụ thực tế về phân loại Naive Bayes là:
- Để lọc một email là thư rác hoặc không phải là thư rác
- Xếp hạng một bài báo về công nghệ, chính trị hoặc thể thao
- Được sử dụng cho phần mềm nhận dạng khuôn mặt
Hình 2 5 Mô tả thuật toán Naive Bayes
Phân lớp với K phần tử láng giềng gần nhất
K-Nearest Neighbors algorithm (K-NN) là phương pháp để phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp (Query point) và tất cả các đối tượng trong Training Data Một đối tượng được phân lớp dựa vào K láng giềng của nó.
- K là số nguyên dương được xác định trước khi thực hiện thuật toán
- Người ta thường dùng khoảng cách Euclidean để tính khoảng cách giữa các đối tượng.
Thuật toán K-NN được mô tả như sau:
Hình 2 6 Mô tả thuật toán K-Nearest Neighbors
- Xác định giá trị tham số K (số láng giềng gần nhất)
- Tính khoảng cách giữa đối tượng cần phân lớp (Query Point) với tất cả các đối tượng trong training data (thường sử dụng khoảng các Euclidean)
- Sắp xếp khoảng cách theo thứ tự tăng dần và xác định K láng giềng gần nhất với Query Point Lấy tất cả các lớp của K láng giềng gần nhất đã xác định
- Dựa vào phần lớn lớp của láng giềng gần nhất để xác định lớp cho Query Point
- Training Data được mô tả bởi dấu (+) và dấu (-)
- Đối tượng cần được xác định lớp cho nó (Query point) là hình tròn đỏ
Nhiệm vụ của chúng ta là ước lượng (hay dự đoán) lớp của Query point dựa vào việc lựa chọn số láng giềng gần nhất với nó Nói cách khác chúng ta muốn biết liệu Query Point sẽ được phân vào lớp (+) hay lớp (-).
Phân lớp dữ liệu với mạng Neural
Mạng Neuron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin ANN giống như bộ não con người:
- Được học bởi kinh nghiệm (thông qua huấn luyện)
- Có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức)
- Sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data).
Hình 2 7 Mạng neural feed-forward đa tầng
Giới thiệu về phần mềm sử dụng
2.4.1 Tổng quan về phần mềm SAS JMP Pro 14
Hình 2 16 Phần mềm SAS JMP Pro14
SAS JMP là một phần mềm thống kê được phát triển bởi SAS Institute Nó cung cấp cho người dùng một loạt các công cụ để thực hiện các phân tích thống kê và khám phá dữ liệu Phần mềm này có thể được sử dụng để xử lý dữ liệu, phân tích định tính và định lượng, vẽ biểu đồ, tạo báo cáo và dashboard.
SAS JMP cung cấp nhiều tính năng và công cụ phân tích để giúp người dùng hiểu và khai thác dữ liệu của họ Ví dụ, phần mềm này cung cấp các công cụ cho phân tích phương sai (ANOVA), phân tích hồi quy, phân tích nhân tố, phân tích chuỗi thời gian, phân tích quan hệ tương quan và phân tích phân cụm.
Ngoài ra, SAS JMP còn có tính năng trực quan hóa dữ liệu với nhiều loại biểu đồ, từ đó giúp người dùng trực quan hóa và hiểu dữ liệu của mình dễ dàng hơn Phần mềm này cũng có tính năng Profiler, cho phép người dùng tạo các báo cáo tương tác trên web.
- Giao diện thân thiện, dễ sử dụng: JMP Pro được thiết kế với giao diện trực quan, giúp người dùng dễ dàng thực hiện các tính toán thống kê và biểu đồ hóa dữ liệu một cách nhanh chóng và dễ dàng Có hướng dẫn khá chi tiết, cụ thể khi người dùng click vào cửa sổ “Help” trên thanh công cụ.
- Phân tích đa dạng: JMP Pro hỗ trợ nhiều loại phân tích thống kê và khai thác dữ liệu khác nhau, bao gồm phân tích biến thống kê, phân tích chuỗi thời gian, phân tích đa biến, phân tích tương quan và phân tích dữ liệu địa lý.
- Tính năng đồ họa đa dạng: JMP Pro cung cấp nhiều loại biểu đồ, bao gồm biểu đồ đường, biểu đồ cột, biểu đồ phân tán, biểu đồ thủy lực, biểu đồ tuyến tính và nhiều loại biểu đồ khác Nhờ đó, người dùng có thể dễ dàng trực quan hóa dữ liệu và tìm ra các mối quan hệ giữa các biến.
- Tính năng thống kê mô tả và phân tích: JMP Pro cung cấp các tính năng thống kê mô tả và phân tích, giúp người dùng hiểu rõ hơn về tính chất của dữ liệu và tìm ra các thông tin quan trọng trong tập dữ liệu.
Mặc dù JMP có nhiều ưu điểm, nhưng bất kỳ phần mềm nào cũng có một số nhược điểm:
- Giá cả: JMP là một phần mềm đắt tiền, có giá khá cao so với các phần mềm tương tự khác trên thị trường.
- Học tập đòi hỏi thời gian: Để sử dụng JMP hiệu quả, người dùng phải học cách sử dụng giao diện và các tính năng của nó Điều này có thể đòi hỏi thời gian và cần có sự cam kết từ người dùng.
- Yêu cầu kinh nghiệm: Đòi hỏi người dùng phải có kiến thức, kinh nghiệm mới có thể sử dụng và khai thác được nhiều tính năng
- Không hỗ trợ tốt trên các nền tảng khác nhau: JMP là một phần mềm chỉ chạy trên Windows và MacOS, và không có phiên bản chính thức cho các hệ điều hành khác như Linux.
- Thời gian chạy mô hình chậm: Việc chạy các mô hình thống kê phức tạp trên JMP có thể mất nhiều thời gian Điều này có thể làm giảm hiệu suất và hiệu quả của người dùng.
- Khả năng tương thích với các phần mềm khác: JMP không tương thích với tất cả các phần mềm khác, đặc biệt là các phần mềm đang được sử dụng phổ biến như Python hoặc R Do đó, nó có thể gây khó khăn cho người dùng muốn tích hợp JMP vào quy trình làm việc của họ.
- Mức phổ biến trung bình: Vì đây là một phần mềm với mức độ phổ biến không cao nên cộng đồng người dùng nên khi xảy ra lỗi hay thắc mắc, ta thường phải đi tìm kiếm nhiều hơn để ra câu trả lời.
- Hạn chế kiểu dữ liệu: Phần mềm không thể nhận ra loại dữ liệu khi đó là giá trị số.
2.4.2 Cách sử dụng phần mềm
2.4.2.1 Hướng dẫn cài đặt phần mềm JMP® Pro
Bước 1: Truy cập địa chỉ trang web dưới đây để download phần mềm về máy: https://getintopc.com/softwares/analysis/sas-jmp-statistical-discovery- pro-2020-free-download/
Hình 2 18 Vị trí file download
Bước 2: Trước khi giải nén tệp, bật chế độ máy bay trên laptop và tắt hết các lớp bảo vệ của Virus & threat protection
Hình 2 19 Bật chế độ máy bay
Hình 2 20 Tắt các lớp bảo vệ Virus
Bước 3: Tiến hành giải nén tệp tin Vào tệp đã giải nén chạy file exe
Hình 2 21 Chạy file cài đặt
Bước 4: Màn hình cài đặt SAS JMP sẽ hiện lên Nhấn “Next”
Hình 2 22 Màn hình cài đặt
Bước 5: Để chọn vị trí lưu trữ chọn Browse… Sau đó nhấn Next để tiếp tục
Hình 2 23 Chọn vị trí lưu
Bước 6: Tick vào các ô như dưới đây Chọn Next để tiếp tục
Hình 2 24 Lựa chọn cài đặt
Bước 7: Chọn Install để tiến hành cài đặt
Bước 8: Tick vào ô Creat desktop shortcut để tạo một item bên ngoài màn hình máy tính Cuối cùng chọn Finish kết thúc quá trình cài đặt
Hình 2 26 Hoàn tất cài đặt
Bước 9: Sau khi hoàn tất cài đặt, tìm biểu tượng của phần mềm SAS
JMP Click chuột phải chọn Run as administrator
Hình 2 27 Khởi động phần mềm
Bạn có thể chọn Rigister now để sử app ngay lập tức Hoặc nếu là người mới bắt đầu học, bạn nên chọn Wait to register để phần mềm hiển thị bản hướng dẫn sử dụng cho bạn
Hình 2 28 Giao diện chính JMP 2.4.2.2 Giới thiệu về cách sử dụng phần mềm
Với SAS JMP, bạn sẽ có một bộ sưu tập các công cụ thống kê hữu ích nhất, được giám tuyển bởi các nhà toán học và thống kê trong phát triển Người dùng có thể tìm thấy những gì họ cần để phân tích dữ liệu của họ, mà không bị choáng ngợp bởi các lựa chọn và không cần lập trình Hơn nữa, thông qua dữ liệu, số liệu thống kê và đồ họa được liên kết động, SAS JMP mang đến cho các cuộc điều tra của bạn sống động trong các ô 3-D hoặc đồ thị hoạt hình, tạo ra những hiểu biết mới có giá trị giúp đơn giản hóa các giải thích của bạn.
Hình 2 29 Thanh công cụ phần mềm JMP a File
Hình 2 30 Công cụ File Đây là nơi để mở các tệp dữ liệu mà người dùng muốn chạy (có thể mở file mới, file đã từng mở trong mục recent file,…) và lưu lại kết quả sau khi hoàn thành công việc khai phá dữ liệu trên phần mềm
Phần mềm SAS JMP cho phép mở trực tiếp các file với đa dạng nhiều kiểu định dạng khác nhau.
Hình 2 31 Các file JMP có thể mở b Tables
Hình 2 32 Tab Tables trên thanh công cụ JMP
ỨNG DỤNG PHẦN MỀM SAS JMP
Mô tả bài toán
Heart Disease Dataset – Bộ dữ liệu dự đoán suy tim là bộ dữ liệu chứa các thông tin liên quan đến bệnh nhân Tập dữ liệu này dựa trên các yếu tố y tế để phân loại, dự đoán các bệnh nhân có bị bệnh tim hay không
Nhóm chúng em quyết định sử dụng bộ dữ liệu này để thực hiện các thuật toán như phân lớp, gom cụm, nhằm khai thác và phân tích dữ liệu, từ đó dựa trên các quy luật tìm ra được những bệnh nhân mang những đặc điểm nào sẽ mắc bệnh tim mạch hoặc có nguy cơ mắc bệnh tim mạch cao.
Bên cạnh đó, nhóm còn sử dụng các thuật toán để xây dựng mô hình mạng neurol và trực quan hóa dữ liệu một cách chính xác và hiệu quả Việc xây dựng mô hình mạng neurol có thể được sử dụng để phân loại bệnh nhân dựa trên các đặc trưng của họ như tuổi, giới tính, lượng creatinine trong máu, lượng natri và kali trong máu, tỷ lệ creatinine kinase và các chỉ số hóa học trong máu khác Còn việc trực quan hóa các mối quan hệ này sẽ giúp nhà khoa học dữ liệu và bác sĩ dễ dàng hiểu và giải thích dữ liệu, từ đó đưa ra quyết định thông minh và hiệu quả hơn.
Dựa trên các kết quả phân tích và độ tin cậy của bộ dữ liệu, bệnh viện Vinmec có thể phát triển ứng dụng y tế như: hệ thống hỗ trợ quyết định và hệ thống theo dõi bệnh nhân Ví dụ, các ứng dụng này có thể giúp bác sĩ xác định nguy cơ mắc bệnh tim của một bệnh nhân và đưa ra phác đồ điều trị phù hợp Ngoài ra còn có thể sử dụng bộ dữ liệu này để nghiên cứu và đào tạo các mô hình học máy và các phương pháp khai thác dữ liệu trong lĩnh vực y tế
Riêng về thuật toán kết hợp, để thực hiện được thuật toán này và đảm bảo rằng việc phân tích có chất lượng và ý nghĩa, nhóm sử dụng thêm một dataset là
Mô tả và phân tích bộ dữ liệu
3.2.1 Mô tả bộ dữ liệu Để có thể thực hiện đầy đủ các thuật toán, nhóm sử dụng 2 bộ dữ liệu là
"Heart_Disease" và “Netflix_Movie_Dataset”.
Bộ dữ liệu "Heart_Disease" là một bộ dữ liệu chứa thông tin liên quan đến bệnh tim Bộ dữ liệu này gồm có 12 thuộc tính (hay còn gọi là biến) và 918 mẫu (hay còn gọi là instances) Bộ dữ liệu này được sử dụng để phân tích các yếu tố liên quan đến bệnh tim và giúp các nhà nghiên cứu và chuyên gia y tế có thể đưa ra các quyết định và khuyến nghị về cách phòng chống và điều trị bệnh tim Các phương pháp phân tích dữ liệu như cây ra quyết định, phân tích thành phần chính và phân tích hồi quy được sử dụng để khai thác thông tin từ bộ dữ liệu này và tìm hiểu các mối liên hệ giữa các thuộc tính và bệnh tim Dưới đây là hình ảnh dữ liệu gốc và bảng chủ thích về các biến trong bộ dữ liệu.
Hình 3 1 Dữ liệu gốc của Heart Disease Bảng 3 1 Bảng thuộc tính của bộ Heart Disease
ST Tên dữ liệu Tên tiếng Việt Tập giá trị
1 Age Độ tuổi của người được xét nghiệm (số).
2 Sex Giới tính của người được xét nghiệm (M – Nam hoặc F – Nữ).
3 ChestPainType Mô tả loại đau ngực (TA, ATA,
4 Resting BP Huyết áp của người được xét nghiệm khi đang nghỉ ngơi (số).
5 Cholesterol Chỉ số cholesterol trong huyết thanh của người được xét nghiệm (số).
6 FastingBS Chỉ số đường huyết nhanh của người được xét nghiệm (1: nếu Đường huyết nhanh > 120 mg/dl, 0: nếu không phải).
7 RestingECG Kết quả điện tâm đồ của người được xét nghiệm nghi đang nghỉ ngơi (Normal – bình thường, ST – có dấu hiệu suy tim)
8 MaxHR Tần số tim tối đa đạt được của người được xét nghiệm khi tập luyện (Giá trị số có giá trị từ 60 đến 202).
Chỉ số đau thắt ngực khi tập luyện của người được xét nghiệm (N – Không đau, Y – Đau).
10 Oldpeak Độ suy giảm ST khi tập luyện của người được xét nghiệm.
11 ST_Slope Gia tốc ST của người được xét nghiệm khi tập luyện (Up: dốc lên, Flat: bằng phẳng, Down: dốc xuống).
12 HeartDisease Kết luận về tình trạng bệnh tim của người được xét nghiệm (0 – Không
Number bị bệnh tim, 1 – Bị bệnh tim).
Dựa trên các thuộc tính của bộ dữ liệu “Heart_Disease” nhóm chúng em thấy được rằng, các thuộc tính của bộ dữ liệu không đáp ứng được các điều kiện để áp dụng thuật toán kết hợp trên SAS JMP Vậy nên để thực hiện thuật toán này, nhóm sẽ sử dụng bộ dữ liệu “Netflix_Movie_Dataset”.
Bộ dữ liệu “Netflix_Movie_Dataset” là một bộ dữ liệu chứa thông tin liên quan đến đánh giá của người dùng trên các bộ phim mà họ đã xem trên ứng dụng Netflix. Netflix dựa trên bộ dataset này, để hiểu được nhu cầu của người dùng và đề xuất cho họ những bộ phim phù hợp Bộ dữ liệu này gồm 2 file là:
- Netflix_Dataset_Rating gồm 3 thuộc tính và hơn 17 triệu mẫu (hay còn gọi là instances)
Hình 3 2 Netflix_Dataset_Rating dữ liệu gốc Bảng 3 2 Bảng thuộc tính của bộ Netflix_Dataset_Rating
T Tên dữ liệu Tên tiếng Việt Tập giá trị
1 User_ID Mã tài khoản người dùng trong ứng dụng Netflix.
2 Rating Đánh giá từ 1 sao đến 5 sao của người dùng với bộ phim.
3 Movie_ID Mã số của bộ phim trên Netflix Number
- Netflix_Dataset_Movie có 3 thuộc tính và 17770 mẫu
Hình 3 3 Netflix_Dataset_Movie dữ liệu gốc Bảng 3 3 Bảng 3 4 Bảng thuộc tính của bộ Netflix_Dataset_Movie
T Tên dữ liệu Tên tiếng Việt Tập giá trị
1 Movie_ID Mã số của bộ phim trên Netflix Number
2 Year Năm ra mắt bộ phim Number
3 Name Tên của bộ phim trên Netflix Text
3.2.2 Tiền xử lý dữ liệu
Trước tiên để sử dụng phần mềm, chúng ta cần làm rõ hai khái niệm “biến liên tục” và “biến rời rạc”
- Biến liên tục là các biến có giá trị có thể là bất kỳ số nào trong khoảng liên tục, như thời gian hoặc chiều cao
- Biến rời rạc là các biến chỉ có thể có giá trị được giới hạn trong các giá trị cụ thể, như số nguyên hoặc tên người dùng
Ví dụ, nếu ta đang muốn tính toán tổng số lượng nước mà một người uống trong một ngày, ta sẽ cần một biến liên tục để lưu trữ số lượng nước Nhưng nếu ta muốn lưu trữ thông tin về giới tính của người dùng, ta sẽ sử dụng một biến rời rạc để lưu trữ các giá trị "Nam" hoặc "Nữ"
Việc phân biệt giữa biến liên tục và biến rời rạc rất quan trọng, bởi vì các loại biến khác nhau sẽ yêu cầu các phương pháp và công cụ xử lý dữ liệu khác nhau để đảm bảo tính chính xác và hiệu quả của ứng dụng.
Trong quá trình sử dụng phần mềm SAS JMP để phân tích dữ liệu, chúng em nhận thấy rằng để sử dụng thuật toán cây ra quyết định, thuộc tính quyết định phải là biến rời rạc Trong bộ dữ liệu gốc, thuộc tính ra quyết định "Heart_Disease" có hai giá trị [0,1], nhưng khi nhập vào phần mềm, phần mềm hiểu nhầm thành "biến liên tục". Điều này gây khó khăn cho phần mềm tìm cutpoint để thực hiện phân loại, do đó chúng em đã chuyển thuộc tính quyết định từ [0,1] sang [Yes, No] bằng cách sử dụng Excel ở cột mới “HeartDisease_New”.
Bên cạnh đó, chúng em cũng thực hiện chuyển đổi thuộc tính "Sex" từ [M, F] sang [0,1] để thực hiện thuật toán phân cụm K means.
Hình 3 4 Tiền xử lý dữ liệu
Bộ dataset “Netflix_Movie” Để bộ dữ liệu này có ý nghĩa, nhóm phải tiến hành tiền xử lý dữ liệu trước khi đưa dữ liệu vào áp dụng thuật toán kết hợp
Tính năng Join trong công cụ Tables của JMP cho phép kết hợp giữa các bảng dữ liệu Đây là một tính năng rất hữu ích trong việc kết hợp các bảng dữ liệu để tạo ra các bảng dữ liệu mới chứa các thông tin từ các bảng khác nhau Để sử dụng tính năng này tiền xử lý dữ liệu, ta thực hiện các bước:
Bước 1: Mở cả hai table muốn join với nhau lên màn hình của JMP
Hình 3 5 Mở các bảng cần join
Bước 2: Tại table “Netflix_Dataset_Rating”, chọn “Tables” “Join”
Hình 3 6 Chọn tính năng Join
Bước 3: Tiến hành kết bảng
- Tại Join “Netflix_Dataset_Rating” chọn “Netflix_Dataset_Movie”
Hiển thị các bảng cần kết dưới Source Columns
- Chọn thuộc tính kết của 2 table Ấn Match Xuất hiện các thuộc tính trong Match Columns.
- Chọn các thuộc tính sẽ có trong bảng mới chọn Select Xuất hiện kết quả trong Output Columns.
- Ấn OK để tiến hành Join bảng.
Hình 3 7 Các thao tác để Join bảng
Kết quả: Table mới để sử dụng thuật toán kết hợp gồm các thuộc tính sau
Hình 3 8 Kết quả sau khi Join bảng
Quá trình chạy thuật toán
3.3.1 Thuật toán phân lớp Để tiến hành thuật toán Cây ra quyết định, ta tiến thành thực hiện theo các bước tuần tự như dưới đây
Bước 1: Chọn vào “Analyze” “Predictive Modeling” “Partition”.
Bước 2: Sau khi chọn, hộp thoại “Partition” sẽ hiện ra Ta lựa chọn các biến ở phần “Select Columns” phù hợp lần lượt bỏ vào các thuộc tính như hình dưới để tiến hành chạy thuật toán Ấn “OK”
Hình 3 10 Lựa chọn thuộc tính trong hộp thoại “Partition”
- “required”: Bắt buộc phải có.
- “optional numeric”: Chỉ có thể chọn dữ liệu dạng numeric.
- “Y, Response”: Biến phản hồi hoặc các biến mà bạn muốn phân tích.
- “X, Factor”: Các biến dự báo.
- “Weight”: Cột có giá trị số chỉ định trọng số cho mỗi hàng trong phân tích.
- “Freq”: Cột có giá trị số chỉ định tần suất cho mỗi hàng trong phân tích.
- “Validation”: Một cột số chứa nhiều nhất ba giá trị khác nhau.
- “By”: Một cột hoặc các cột có các cấp xác định các phân tích riêng biệt. Đối với mỗi cấp của cột, các hàng tương ứng được phân tích bằng cách sử dụng các biến khác mà bạn chỉ định Các kết quả xuất hiện trong các báo cáo riêng biệt Nếu nhiều hơn một biến Theo được chỉ định, một báo cáo riêng biệt sẽ được tạo cho từng kết hợp có thể có của các cấp của biến “By”.
- “Method”: Cho phép bạn chọn phương pháp phân vùng (Bootstrap Forest,
Boosted Tree, K Nearest Neighbors hoặc Naive Bayes).
- “Validation Portion”: Phần dữ liệu sẽ được sử dụng làm tập hợp xác thực.
- “Informative Missing”: Nếu được chọn, hãy bật phân loại giá trị bị thiếu cho các yếu tố dự đoán phân loại và xử lý thông tin các giá trị bị thiếu cho các yếu tố dự đoán liên tục.
- “Ordinal Restricts Order”: Nếu được chọn, hãy hạn chế việc xem xét các phần chia nhỏ để bảo toàn thứ tự.
Bước 3: Nhận được kết quả như hình
Hình 3 11 Kết quả phân tích phân lớp
- “Split”: Tách dữ liệu thành các cấp độ (chia thêm nhánh cho cây).
- “Prune”: Loại bỏ phân tách dữ liệu đi một cấp (quay lại bước trước khi chọn “Split”).
- “Rsquare”: Giá trị hiện tại của R2.
- “Number of Split”: Số lần tách hiện tại trong cây quyết định. Để có thể dễ dàng phân tích kết quả hơn, chọn chế độ “Color Points”.
Hình 3 12 Chọn chức năng Color Points
Bước 4: Bấm “Split” 6 lần để ra được cây ra quyết định cấp 6 hoặc có thể chọn tổ hợp “Shift + Split” sẽ xuất hiện một thông báo và nhập số cấp bạn muốn vào.
Hình 3 13 Kết quả cây ra quyết định cấp 6
- “Count”: Số lần quan sát huấn luyện được đặc trưng bởi nút.
- “G^2”: Một thống kê phù hợp được sử dụng cho các câu trả lời phân loại
(thay vì tổng các bình phương được sử dụng cho các câu trả lời liên tục). Giá trị thấp hơn cho thấy phù hợp hơn.
- “Candidate”: Đối với mỗi cột, báo cáo Ứng viên cung cấp thông tin chi tiết về mức phân chia tối ưu cho cột đó Sự phân chia tối ưu cho tất cả các điều khoản được đánh dấu bằng dấu hoa thị.
- “Term”: Hiển thị các cột ứng cử viên.
- “Candidate G^2”: Tỷ lệ khả năng chi-bình phương để phân chia tốt nhất.
Việc tách trên dự đoán có G^2 lớn nhất sẽ tối đa hóa việc giảm G^2 trong mô hình.
- “LogWorth”: Thống kê LogWorth, được định nghĩa là -log10 (p-value) Sự phân chia tối ưu là cách tối đa hóa LogWorth.
- “Cut Point”: Giá trị của dự đoán xác định sự phân tách Đối với một thuật ngữ phân loại, các cấp trong phần tách ngoài cùng bên trái được liệt kê. Để có thể nhìn dữ liệu một cách cụ thể nhất: đặt chuột vào dãy màu dưới tên thuộc tính của từng lá và bấm chuột trái vào chọn “Cell Labeling” “Show percents” để hiện thì phần trăm của dữ liệu đã chọn ở “Y, Response”.
Bước 5: Để biết được màu sắc thể hiện cho giá trị nào thì chọn “Set Colors”
(mỗi giá trị thuộc tính tương ứng với một màu, dựa vào đó chúng ta có thể đọc được sự phân bố của các chấm màu biểu đồ trên cùng mỗi khi chọn “Split” để phân tách thêm 1 cấp cho cây ra quyết định).
Hình 3 14 Chức năng Set Color
Bước 6: Để lấy được hình ảnh cây ra quyết định Kéo chọn toàn bộ hình cây ra quyết định Click chuột phải “Edit” “Copy Picture” Dán vào nơi bạn muốn
Hình 3 15 Copy Cây ra quyết định
- Dưới đây là hình ảnh Cây ra quyết định được sao chép từ JMP
Hình 3 16 Kết quả cây ra quyết định
* Ngoài ra chúng ta có thể xem cây ra quyết định nhỏ để tiện theo dõi nếu cây ra quyết định quá lớn bằng cách đặt chuột vào thanh “Partition for severity” và nhấp chuột phải chọn “Small tree view” và nhận được kết quả
3.3.2 Thuật toán phân cụm (K Means) Để tiến hành thuật toán Phân cụm K Means, ta tiến thành thực hiện theo các bước tuần tự như dưới đây.
Bước 1: Chọn vào “Analyze” “Clustering” “K Means Cluster”.
Bước 2: Xuất hiện hộp thoại “K Means Cluster”
- Chọn các thuộc tính “Age”, “Sex_After”, “Cholestrol”, “MaxHR”,
“RestingBP” từ “Select Columns” sang biến “Y, Columns”
Việc chọn các thuộc tình này nhằm tìm hiểu các cụm có đặc tính nào thì dễ mắc bệnh tim hoặc có nguy cơ có bệnh tim cao.
Hình 3 19 Chọn thuộc tính cho thuật toán phân cụm
* Chú thích: “Columns Scaled Individually”: Các cột được chia tỷ lệ riêng lẻ
Bước 3: Sau đó sẽ xuất hiện một giao diện như hình, chọn số cụm là 5 và giới hạn số lượng cụm là 10 và chạy.
Hình 3 20 Chọn số cụm và giới hạn số lượng
- Method: Các phương pháp phân nhóm.
- Number of Clusters: Số cụm.
- Range of Cluster: Giới hạn cho số lượng cụm sẽ hình thành.
- Single Step: Cho phép bạn thực hiện từng bước lặp lại quy trình phân nhóm tại một thời điểm.
- Use within-cluster std deviations: Cân khoảng cách bằng cách sử dụng độ lệch chuẩn ước tính của từng biến cho các quan sát trong mỗi cụm.
- Shift distances using sampling rates: Dịch chuyển khoảng cách bằng cách sử dụng tốc độ lấy mẫu.
Bước 4: Sau khi chạy thuật toán phân cụm K Means được kết quả như hình
- Ở bảng “Cluster Comparison”,ta có thể xem giá trị “CCC” của cụm nào lớn nhất thì dùng cụm đó.
Ở đây ta thấy được “K Means Cluster” = 9 có chỉ số CCC cao nhất, xấp xỉ 17 Nên đây sẽ là lựa chon tốt nhất.
Hình 3 21 Xem giá trị CCC của thuật toán phân cụm
“Cluster Comparison”: báo cáo so sánh cụm
“CCC”: số cụm phụ hợp nhất.
- Dựa trên Cluster Summary ta thấy được rằng, để phân được 9 cụm, thuật toán có 22 bước phân tích Trong đó:
Cụm 1 đếm (Count) được số lượng mẫu nhiều nhất với 168 mẫu.
Hình 3 22 Số lượng mẫu trong các cụm
Bước 5: Xét độ tương quan
Tại “K Means Ncluster” = 9, cụm có chỉ số CCC cao nhất, ta thấy được:
Một Cluster 1 của “K Means Ncluster” = 9 tương quan với 3 cluster của
“K Means Ncluster” = 8 “K Means Ncluster” = 9 là lựa chọn tốt nhất để tiến hành phân tích.
Hình 3 23 Xét tương quan giữa các Cluster
Bước 6: Kéo đến phân cụm “K Means Cluster=9”, đặt chuột phải vào thanh
“K Means Cluster” và chọn “Biplot”, “Parallel Coordinate Plot” và
“Scatterplot Matrix” và nhận được kết quả.
Hình 3 24 Scatterplot Matrix 3.3.3 Thuật toán kết hợp Để tiến hành thuật toán Cây ra quyết định, ta tiến thành thực hiện theo các bước tuần tự như dưới đây.
Bước 1: Chọn vào “Analyze” “Screnning” “Association Analysis”.
Hình 3 25 Sử dụng “Association Analysis”
Bước 2: Chọn các thuộc tính từ “Select Columns” sang “Cast Selected Columns”
- Chọn thuộc tính “Name” là “Item”.
- Chọn thuộc tính “User ID” là “ID”.
- Chọn “Maximum Rule Size” là 10.
Hình 3 26 Chọn các thuộc tính cho thuật toán kết hợp
- “Minimum Support”: độ hỗ trợ thấp nhất
- “Minimum Confidence”: độ tin cậy thấp nhất
- “Minimum Lift”: độ tương quan thấp nhất
- “Maximum Antecedents”: Số lượng tối đa “Item set”
- “Maximum Rule Size”: Số lượng tối đa của luật.
Bước 3: Nhận được kết quả như hình và tiếp tục bấm chuột phải vào
“Association Analysis” chọn “Transaction Listing”.
Hình 3 27 Kết quả chi tiết của Rules
*Nhận xét: Đo sự trùng lặp các thuộc tính “Name” với nhau và loại bỏ các giá trị có độ tin cậy dưới 0.8 và nhận từ 0.8 trở lên
Ví dụ: ở dòng đầu tiên ở cột “Condition” là “Pirates of the Caribbean: The
Curse of the Black Pearl”, “The Silence of The Lambs”, còn ở cột “Consequent” là
“The Sixth Sense”, cột “Confidence” là 86% và “Lift” là 1.208. Điều này có nghĩa là nếu người dùng xem 2 bộ phim Pirates of the Caribbean: The Curse of the Black Pearl”, “The Silence of The Lambs” thì khả năng cao đến 86% là họ sẽ xem “The Sixth Sense”.
Hình 3 28 Kết quả chi tiết của Frequent Item Sets
*Nhận xét: Frequent Item Sets: Dựa theo độ hỗ trợ ban đầu chúng ta chọn là
0.45 thì sẽ được lọc bỏ đi các “Item Set” dưới 0.45 độ tin cậy và thu được các “Item
Set” có độ hỗ trợ 0.45 trở lên
Cụ thể hơn ở “Item Set” {Lord of the Rings: The Fellowship of the Ring, Pirates of the Caribbean: The Curse of the Black Pearl: Bonus Material} có nghĩa là cả
2 thuộc tính con đều có 64% tỷ lệ xuất hiện cùng một “Transaction ID”.
- Item set: tập hợp có điều kiện hoặc hệ quả cho các quy tắc kết hợp
- N Items: Số lượng các item có trong item set
Bước 4: Kết quả nhận được, kết quả này thể hiện một tài khoản tương ứng với một “User ID” đã xem những tập hợp bộ phim nào
Hình 3 29 Transaction Listing 3.3.4 Thuật toán Neural Network Để tiến hành thuật toán mạng Neural, ta tiến thành thực hiện theo các bước tuần tự như dưới đây.
Bước 1: Chọn “Analyze” “Predictive Modeling” “Neural”.
Bước 2: Sau khi chọn , sẽ hiển thị một hộp thoại “Neural”
- Chọn toàn bộ các thuộc tính từ “Select Columns” trừ “Heart_Disease” và “HeartDisease_New” vào biến “X, Factor”.
- Chọn “HeartDisease_New” vào biến “Y, Reponse”.
- Chọn “OK” để chạy thuật toán.
Hình 3 31 Chọn thuộc tính trong Neural
Bước 3: Sau khi chạy thuật toán, hiển thị “Model Launch” để có thể chỉnh sửa các thông số Chọn “Go” để thuật toán chạy.
Hình 3 32 Chỉnh sửa thông số
Bước 4: Kết quả của thuật toán chạy ra
Hình 3 33 Kết quả thuật toán Neural
Dưới đây là kết quả phân tích được thể hiện dưới dạng “Diagram” Nếu người dùng không muốn xem dưới dạng “Diagram” nữa, có thể đổi sang “Profiler” theo hướng dẫn sau: Lướt xuống mục “Diagram” chọn “Profiler” và “Categorical
Hình 3 34 Mục Diagram của Neural
Hình 3 35 Đổi sang chế độ xem Profiler và Categorical Profiler
Với hình thức xem “Profiler” này, người dùng JMP hoàn toàn có thể nhập vào số liệu (Age, Sex, ChestainType, MaxHR, …) để xem kết quả phân tích từ thuật toánNeural Với tính năng nay, người dùng hoàn toàn có thể nhập vào tình trạng của một bệnh nhân và từ đó, dự đoán được xem người này có mắc bệnh tim mạch hoặc có nguy cơ bị bệnh tim mạch cao hay không.
Ví dụ: Theo như một Profiler dưới đây ta nhập vào các thông số như sau:
Theo kết quả phân tích ta thấy được rằng, khả năng mắc bệnh tim của người này là YES~0.34 và NO~0.66 Ta có thể đưa ra kết luận rằng, khả năng mắc bệnh tim của người này là thấp.
Hình 3 36 Chế độ xem Profiler và Categorical Profiler
Hình 3 37 Chế độ xem Profiler và Categorical Profiler
Hai loại Profiler trên đều cho thấy đối với từng yếu tố (phần mềm sẽ hiển thị giá trị mặc định là giá trị trung bình) thì sẽ dẫn đến phần trăm người đó có bị bệnh tim hay không)
Kết luận của mỗi thuật toán
3.4.1 Kết luận thuật toán phân lớp
Từ bộ dữ liệu gốc với 918 mẫu, ta thu được 508 bệnh nhân mắc bệnh tim và 410 người không mắc bệnh tim, trong đó:
- Khi gia tốc ST của người đang tập luyện có trạng thái dốc xuống và bằng phẳng, ta thu được 523/918 mẫu với 430 bệnh nhân mắc bệnh tim và 93 người không mắc bệnh tim, trong đó:
Nếu tần số tim tối đa nhỏ hơn 151, ta thu được 436/523 mẫu với 383 bệnh nhân mắc bệnh tim và 53 người không mắc bệnh tim, trong đó:
Nếu giới tính của bệnh nhân là nam, ta thu được 382/436 mẫu với 350 bệnh nhân mắc bệnh tim và 32 người không mắc bệnh tim.
Nếu giới tính của bệnh nhân là nữ, ta thu được 54/436 mẫu với 33 bệnh nhân mắc bệnh tim và 21 người không mắc bệnh tim.
Nếu tần số tim tối đa lớn hơn hoặc bằng 151, ta thu được 87/525 mẫu với
47 bệnh nhân mắc bệnh tim và 40 người không mắc bệnh tim.
- Khi gia tốc ST của người đang tập luyện có trạng thái dốc lên, ta thu được 395/918 mẫu với 78 bệnh nhân mắc bệnh tim và 317 người không mắc bệnh tim, trong đó:
Nếu hàm lượng Cholesterol bé hơn 85, ta thu được 46/395 mẫu với 33 bệnh nhân mắc bệnh tim và 13 người không mắc bệnh tim, trong đó:
Nếu chỉ số đường huyết nhanh (>120 mg/dl), ta thu được 23/46 mẫu với toàn bộ 23 bệnh nhân mắc bệnh tim.
Nếu chỉ số đường huyết không nhanh, ta thu được 23/46 mẫu với 10 bệnh nhân mắc bệnh tim và 13 người không mắc bệnh tim.
Nếu hàm lượng Cholesterol lớn hơn hoặc bằng 85, ta thu được 349/395 mẫu với 45 bệnh nhân mắc bệnh tim và 304 người không mắc bệnh tim, trong đó:
Nếu loại đau ngực của người được xét nghiệm là TA và ASY, ta thu được 118/349 mẫu với 37 bệnh nhân mắc bệnh tim và 81 người không mắc bệnh tim.
Nếu loại đau ngực của người được xét nghiệm là ATA và NAP, ta thu được 223/349 mẫu với 8 bệnh nhân mắc bệnh tim và 223 người không mắc bệnh tim.
Từ kết quả trên, ta thấy được
- Khi gia tốc ST của người đang tập luyện có trạng thái bằng phẳng hoặc dốc xuống thì tỉ lệ mắc bệnh tim là rất cao, trong đó khi tần số tim tối đa bé hơn
151 thì đa phần đối tượng bị mắc bệnh tim là giới tính nam
- Ngược lại, khi gia tốc ST có trạng thái dốc lên thì tỉ lệ người mắc bệnh tim là khá thấp, trong đó chủ yếu là ở các đối tượng có hàm lượng Cholesterol thấp (< 85) và có chỉ số đường huyết nhanh.
3.4.2 Kết luận thuật toán phân cụm
Bằng cách kết hợp thông tin từ bảng “Cluster Summary” và “Cluster Means”,chúng ta có thể tính được số lượng mẫu trong mỗi cụm, giá trị trung bình và các khoảng giá trị tương ứng với từng thuộc tính Tuy nhiên, để hiển thị rõ hơn về phân bố giá trị của từng thuộc tính, nhóm em đã quyết định sử dụng "Scatterplot Matrix" kết hợp với hai bảng trên Kết quả, từ việc thực hiện các bước tính toán, nhóm đã xác định được 9 cụm
Cụm 1: Đàn ông từ 52 đến 68 tuổi có lượng Cholesterol từ 130 đến 350, tần số tim tối đa nằm trong khoảng từ 135 đến 185 bpm.
Hình 3 42 Thuật toán kết hợp – Cluster 1
Cụm 2: Phụ nữ từ 45 đến 65 tuổi có lượng Cholesterol từ 220 đến 370, tần số tim tối đa nằm trong khoảng từ 100 đến 140 bpm.
Hình 3 43 Thuật toán kết hợp – Cluster 2
- Cụm 3: Đàn ông có tuổi rải rác từ 35 đến 65 tuổi có lượng Cholesterol rất thấp với trung bình là 5, tần số tim tối đa nằm trong khoảng từ 100 đến 180 bpm.
Hình 3 44 Thuật toán kết hợp – Cluster 3
- Cụm 4: Đàn ông có tuổi tập trung từ 35 đến 50 tuổi có lượng Cholesterol từ
150 đến 400 (có một vài cá thể có lượng cholesterol rất cao đạt trên 500), tần số tim tối đa nằm trong khoảng từ 80 đến 150 bpm
Hình 3 45 Thuật toán kết hợp – Cluster 4
- Cụm 5: Phụ nữ có tuổi tập trung từ 30 đến 45 tuổi có lượng Cholesterol từ
160 đến 300, tần số tim tối đa nằm trong khoảng từ 120 đến 190 bpm.
Hình 3 46 Thuật toán kết hợp – Cluster 5
- Cụm 6: Đàn ông có tuổi tập trung từ 55 đến ngoài 70 tuổi có lượng Cholesterol từ 140 đến 400, tần số tim tối đa nằm trong khoảng từ 90 đến 130 bpm.
Hình 3 47 Thuật toán kết hợp – Cluster 6
- Cụm 7: Phụ nữ có tuổi tập trung từ 50 đến 70 tuổi có lượng Cholesterol từ
160 đến ngoài 550, tần số tim tối đa nằm trong khoảng từ 130 đến 180 bpm.
Hình 3 48 Thuật toán kết hợp – Cluster 7
- Cụm 8: Đàn ông có tuổi tập trung từ 30 đến 50 tuổi có lượng Cholesterol từ
110 đến ngoài 400, tần số tim tối đa nằm trong khoảng từ 145 đến 200 bpm.
Hình 3 49 Thuật toán kết hợp – Cluster 8
- Cụm 9: Đàn ông có tuổi tập trung từ 50 đến ngoài 70 tuổi có lượng Cholesterol từ 0 đến ngoài 100, tần số tim tối đa nằm trong khoảng từ 60 đến
Hình 3 50 Thuật toán kết hợp – Cluster 9 3.4.3
3.4.4 Kết luận thuật toán kết hợp
Hình 3 51 Kết quả các Rules của luật kết hợp
Dựa trên các Rules được phân tích, ta đưa ra được các kết luận như sau:
- Những người xem bộ phim “Cướp biển vùng Caribe” và “Sự im lặng của bầy cừu” sẽ xem phim “Giác quan thứ 6”
- Những người xem bộ phim “Nét đẹp Mỹ” và “Sự im lặng của bầy cừu” sẽ xem phim “Giác quan thứ 6”
- Những người xem bộ phim “Nét đẹp Mỹ” và “Giác quan thứ 6” sẽ xem phim
“Sự im lặng của bầy cừu”
- Những người xem bộ phim “Cướp biển vùng Caribe” và “Chằn tinh Shrek 2” cũng sẽ xem phim “Truy tìm Nemo”.
3.4.5 Kết luận thuật toán Neural Network
Vì đây là một thuật toán nhằm đưa ra dự đoán trên các thông số nên nhóm sẽ thực hiện nhập một loạt các chỉ số của một trường hợp nhất định Ở thuật toán này, nhóm em sẽ đưa ra một trường hợp như sau: “Một bệnh nhân nam 60 tuổi, không có triệu chứng đau ngực, huyết áp nghỉ 130, Cholesterol 100, có đường huyết nhanh, kết quả điện tâm đồ nghỉ ở mức bình thường, có bị đau ngực khi tập luyện, độ suy giảm ST khi tập luyện là 3, gia tốc ST khi tập luyện có trạng thái bằng phẳng”
Sau khi nhập các thông số cụ thể, mô hình dự đoán đưa ra kết luận người này có
P(HeartDiease_New = YES) là 0.9539, đồng nghĩa rằng người này có tỉ lệ 95.39% mắc bệnh tim (một tỉ lệ rất cao), người này nên được thực hiện các biện pháp xét nghiệm và chữa trị kịp thời.
Hình 3 52 Profiler của một bệnh nhân 3.4.6 Kết luận tính năng Graph Builder
Từ biểu đồ Mosaic trực quan hóa dữ liệu của tính năng Graph Builder, ta có thể nhận thấy được rằng:
- Đàn ông bị đau ngực khi tập luyện, có loại đau ngực ASY và đàn ông không bị đau ngực khi tập luyện, có loại đau ngực ASY thường tỉ lệ mắc bệnh tim rất cao
- Ngược lại, các đối tượng khác chiếm số lượng mắc bệnh tim mạch không cao,nổi bật là ở các đối tượng phụ nữ và đàn ông không có dấu hiệu đau ngực(NAP).