Phạm vi chức năng: ▪ Khả năng thu thập dữ liệu các điểm tham quan từ nguồn dữ liệu đáng tin cậy Trip Advisor ▪ Phân tích, thiết kế dữ liệu các điểm tham quan đã thu thập được để xây dựn
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
PHAN NGỌC QUÝ NGUYỄN MINH TRÍ
KHÓA LUẬN TỐT NGHIỆP
HỆ THỐNG KHUYẾN NGHỊ DU LỊCH TRAVEL RECOMMENDER SYSTEM
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
TP HỒ CHÍ MINH, 2020
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
PHAN NGỌC QUÝ – 15520706 NGUYỄN MINH TRÍ - 15520924
KHÓA LUẬN TỐT NGHIỆP
HỆ THỐNG KHUYẾN NGHỊ DU LỊCH TRAVEL RECOMMENDER SYSTEM
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYỄN HÀ GIANG THS NGUYỄN THỊ THANH TRÚC
TP HỒ CHÍ MINH, 2020
Trang 3DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
……… ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin
1 ……… – Chủ tịch
2 ……… – Thư ký
3 ……… – Ủy viên
4 ……… – Ủy viên
Trang 4ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
1 Về cuốn báo cáo:
Số tài liệu tham khảo _ Sản phẩm
• Một số nhận xét về hình thức cuốn báo cáo:
Trang 5………
………
……… Điểm từng sinh viên:
Phan Ngọc Quý :……… /10
Nguyễn Minh Trí :……… /10
Trang 6ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
15520706
15520924 Đánh giá Khóa luận
1 Về cuốn báo cáo:
Số bảng số liệu _ Số hình vẽ _
Số tài liệu tham khảo _ Sản phẩm _
• Một số nhận xét về hình thức cuốn báo cáo:
Trang 7………
………
……… Điểm từng sinh viên:
Phan Ngọc Quý :……… /10
Nguyễn Minh Trí :……… /10
Trang 8ĐỀ CƯƠNG CHI TIẾT
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập - Tự Do - Hạnh Phúc
TP HCM, ngày 15 tháng 06 năm 2020
TÊN ĐỀ TÀI:
Hệ thống khuyến nghị du lịch
Travel recommender system
Cán bộ hướng dẫn: TS Nguyễn Hà giang - ThS Nguyễn Thị Thanh Trúc
Thời gian thực hiện: Từ ngày 13/04/2020 đến ngày 13/08/2020
Sinh viên thực hiện:
Phạm vi:
Phạm vi địa lý: Dữ liệu về địa điểm du lịch được khuyến nghị sẽ giới hạn trong khu vực
Châu Á
Trang 9Phạm vi chức năng:
▪ Khả năng thu thập dữ liệu các điểm tham quan từ nguồn dữ liệu đáng tin cậy ( Trip Advisor)
▪ Phân tích, thiết kế dữ liệu các điểm tham quan đã thu thập được để xây dựng thành
cơ sở dữ liệu của hệ thống
▪ Sử dụng Web API để thu thập thông tin từ lịch sử tìm kiếm của người dùng
▪ Xây dựng mô hình để phân tích, so sánh sự tương đồng giữa dữ liệu tìm kiếm của người dùng so với các danh mục điểm du lịch của hệ thống
▪ Xây dựng thuật toán tìm kiếm để tìm và xếp hạng các thành phố, điểm du lịch phù hợp
▪ Xây dựng GUI sử dụng cho máy tính để bàn và máy tính cá nhân
▪ Xây dựng hệ thống khuyến nghị sử dụng ngôn ngữ Python
▪ Trip Advisor Web API để thu thập dữ liệu các thành phố, điểm du lịch
▪ Orange3 và Excel để phân tích dữ liệu
▪ PyKE (Python Knowledge Engine) cho lập trình logic
▪ TKinker để phát triển GUI
Kế hoạch thực hiện:
Trang 10Phần lớn thời gian là làm việc nhóm tại nhà, mỗi tuần liên lạc với giáo viên một lần để trình bày kết quả, nghe nhận xét từ giáo viên và các nhóm khác và đưa ra kế hoạch tiếp theo
Bắt đầu vào 13/4/2020 và kết thúc vào giữa tháng 8 năm 2020
Giai đoạn 1:
Khảo sát, nghiên
cứu
13/4 /2020 – 3/5/2020
- Lựa chọn đề tài
- Phát biểu bài toán
- Xác định yêu cầu, phạm vi, bộ tính năng cho hệ thống
- Khám phá và xác định thành phố,địa điểm du lịch cho việc thu thập dữ liệu
- Tìm hiểu các công nghệ, công cụ
- Thu thập dữ liệu thành phố, điểm
- Tiến hành khảo sát để xác định các yếu tố sẽ ảnh hưởng đến sở thích của người dùng và xây dựng
mô hình
- Thu thập, xử lý tệp dữ liệu tranning hệ thống
Giai đoạn 3: Phát
triển ứng dụng
Tháng 6/2020 – 12/7/2020
- Xây dựng mô hình nâng cao để dự đoán sở thích du lịch của người dùng dựa trên thói quen duyệt web hoặc từ kết quả khảo sát
- Phát triển thuật toán tìm kiếm thành phố, điểm đủ lịch phù hợp với sở thích của người dùng từ dữ liệu đã có
Trang 11- Phát triển giao diện người dùng và
hệ thống backend
- Thực hiện tích hợp backend &
công cụ quy tắc (rule engine) với API
Trang 12LỜI CÁM ƠN
Khoá luận tốt nghiệp là môn học lớn nhất và cũng là môn học cuối cùng trong chương trình đại học Đây là môn học có nhiều thử thách, đòi hỏi người học phải dành nhiều thời gian, công sức để nghiên cứu, tìm tòi và xây dựng Đồng thời, đây cũng là cơ hội để sinh viên thực hành những gì đã học trong suốt những năm đại học
và học hỏi thêm nhiều kiến thức, kinh nghiệm và kỹ năng mới phục vụ cho công việc sau này Cho nên đây được xem là thử thách cuối cùng trước khi người sinh viên rời khỏi môi trường học tập để bước sang môi trường công việc thực tiễn
Để có thể đi đến đoạn cuối của hành trình đại học là cả sự nỗ lực, cố gắng và kiên trì Đồng hành cùng sinh viên vượt qua thử thách này là sự có mặt và giúp đỡ của những người thầy, người cô tận tâm trong công việc
Nhóm xin chân thành cảm ơn thầy Nguyễn Hà Giang và cô Nguyễn Thị Thanh Trúc đã tận tình giúp đỡ nhóm em hoàn thành khoá luận tốt nghiệp Chính nhờ những
sự góp ý, động viên của thầy cô đã giúp khoá luận của nhóm được hoàn thiện và chuyên nghiệp nhiều hơn Bên cạnh đó, nhóm đã học hỏi được rất nhiều kiến thức, kinh nghiệm và bài học thú vị trong quá trình làm khoá luận, đó sẽ là những hành trang hữu ích cho nhóm sau này
Nhóm cũng xin chân thành cảm ơn các anh chị, bạn bè đã giúp đỡ nhóm trong quá trình thực hiện khoá luận Nhờ mọi người mà nhóm có nhiều góc nhìn khác nhau
về đề tài đang làm, từ đó giúp hoàn thiện khoá luận của nhóm
Chúng em cũng xin cảm ơn các thầy cô ở trường Đại học Công Nghệ Thông Tin nói chung và các thầy cô ở khoa Công Nghệ Phần Mềm nói riêng đã giúp đỡ chúng
em đến ngày hôm nay
Một lần nữa, nhóm xin chân thành cảm ơn thầy cô và mọi người
Trang 13MỤC LỤC
CHƯƠNG 1 PHÁT BIỂU BÀI TOÁN 21
1.1 Đặt vấn đề 21
1.2 Giải quyết vấn đề 22
1.3 Nghiên cứu tổng quan 23
CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG 25
2.1 Thuật toán phân loại Naive Bayesian 25
CHƯƠNG 3 TỔNG QUAN HỆ THỐNG 39
3.1 Core predictive pipline 39
3.2 Backup predictive pipline 40
3.3 Attraction search 40
CHƯƠNG 4 HIỆN THỰC HỆ THỐNG 41
4.1 User profiling 41
4.1.1 Modeling User Preferences 41
4.1.2 Input data 43
4.2 Attraction search 44
4.2.1 Attraction database 44
4.2.2 City characteristics 45
4.2.3 Matching city search 46
4.3 Giao diện hệ thống 48
4.3.1 Màn hình chờ phân tích lịch sử duyệt web 48
4.3.2 Màn hình kết quả khuyết nghị 49
CHƯƠNG 5 KẾT QUẢ THỰC NGHIỆM 53
CHƯƠNG 6 KẾT LUẬN 56
Trang 146.1 Tổng kết 56 6.2 Khó khăn và thuận lợi 56 6.3 Hướng phát triển 57
Trang 15DANH MỤC HÌNH VẼ
Hình 1: Sơ đồ phân khúc thị trường Error! Bookmark not defined
Hình 2: Công thức tính xác xuất sau 26
Hình 3: Minh họa luồng lọc thư rác 27
Hình 4: Đồ thị biểu diễn ràng buộc 36
Hình 5: Luồng xử lý của toàn hệ thống 39
Hình 6: Mô hình thu thập dữ liệu đầu vào 43
Hình 7: Xếp hạng danh mục du lịch cho các thành phố dựa trên điểm 46
Hình 8: Selection score & ranking của các thành phố 48
Hình 9: Màn hình loading khi hệ thống đang phân tích lịch sử duyệt web 48
Hình 10: Giao diện khuyến nghị thành công thông qua lịch sử duyệt web 49
Hình 11: Ví dụ về danh sách các hoạt động khi nhấn chọn các menu tab 50
Hình 12: Màn hình chế độ offline 51
Hình 13: Màn hình danh sách câu hỏi 52
Trang 16DANH MỤC BẢNG
Bảng 1: Danh sách các thể loại điểm đến du lịch với các chủ đề phụ có liên quan 42 Bảng 2: Mô tả thông tin một điểm tham quan 45 Bảng 3: Danh sách số lượng website được sử dụng trong tập dữ liệu đào tạo 53 Bảng 4: Báo cáo phân loại cho tập dữ liệu đào tạo 54
Trang 1717
DANH MỤC TỪ VIẾT TẮT
Trang 18Khóa luận này hướng tới việc hiện thực lại hệ thống khuyến nghị du lịch thông minh dựa trên việc thu thập lịch sử tìm kiếm web của người dùng để phân tích sở thích du lịch của họ Kết hợp nghiên cứu các vấn đề liên quan đến bài toán để có cái nhìn rõ hơn về cách hoạt động của hệ thống khuyến nghị Từ đó, tiến hành huấn luyện
mô hình trên dữ liệu thực, thu kết quả và tiến hành thực hiện các độ đo, đánh giá và đưa ra kết luận
Sau quá trình thực hiện nghiên cứu đề tài này, nhóm em đã thu được các kết quả sau:
• Các kiến thức về một hệ thống khuyến nghị, lên ý tưởng và xây dựng thuật toán logic hỗ trợ đưa ra các khuyến nghị
• Kiến thức về các khía cạnh liên quan đến bài toán trong quá trình nghiên cứu, phân tích dữ liệu, mô hình xử lý ngôn ngữ tự nhiên
• Kinh nghiệm lập trình máy học
• Kinh nghiệm nghiên cứu các tài liệu, bài báo, kỹ năng trình bày nội dung
Trang 1919
TÓM TẮT KHÓA LUẬN
1 Mục tiêu đề tài
• Hệ thống khuyến nghị du lịch hỗ trợ người dùng chọn địa điểm cho các chuyến
du lịch, địa điểm du lịch sẽ được đề xuất dựa trên sở thích, nhu cầu của người dùng Cở sở để đánh giá sở thích và nhu cầu người dùng của hệ thống này chính là thói quen, lịch sử tìm kiếm web của họ Tuy nhiên, trong trường hợp không có kết nối internet hoặc lịch sử tìm kiếm web không đầy đủ, dự án sẽ
sử dụng cách tiếp cận, đánh giá dựa trên bảng câu hỏi khảo sát
• Thực nghiệm và đánh giá kết quả đạt được
2 Phạm vi đề tài
• Thu thập dữ liệu các điểm du lịch từ Trip Advisor thông qua script gọi API và phân tích nội dung của nó vào cơ sở dữ liệu hợp lý
• Phạm vi dữ liệu điểm đến: Châu Á
• Ngôn ngữ: Tiếng Anh
3 Nội dung thực hiện
• Nghiên cứu thị trường, lên ý tưởng cho hệ thống khuyến nghị du lịch, nghiên cứu tính khả thi của hệ thống
• Xây dựng công cụ thu thập lịch sử duyệt web của người dùng để tạo lập, dự đoán hồ sơ du lịch họ yêu thích
• Xây dựng công cụ khai thác văn bản web, phân tích xử lý ngôn ngữ tự nhiên
• Viết kịch bản thu thập dữ liệu, phân tích nội dung, xây dựng cở sở dữ liệu cho
Trang 2020
• Chương 1- Phát biểu bài toán: đặt vấn đề, khảo sát thị trường để lên ý tưởng bài toán, đưa ra hướng giải quyết, nghiên cứu tổng quan
• Chương 2 – Các công nghệ sử dụng để xây dựng hệ thống
• Chương 3 - Tổng quan hệ thống: Mô hình hoạt động của toàn hệ thống, tóm tắt các tính năng và quy trình làm việc của từng hệ thống phụ bên trong
• Chương 4 - Hiện thực hệ thống: trình bài chi tiết cụ thể về việc triển khải hiện thực hệ thống khuyến nghị
• Chương 5 – Kết quả thực nghiệm: đánh giá kết quả và hiệu suất của hệ thống khuyến nghị đã thực hiện
• Chương 6 – Kết luận và hướng phát triển: tổng kết các kết quả đạt được và nếu các khía cạnh có thể mở rộng đề tài
Trang 2121
CHƯƠNG 1 PHÁT BIỂU BÀI TOÁN
Ở chương này, từ các báo cáo, nghiên cứu thị trường lĩnh vực du lịch, để đặt
ra bài toán, đưa ra hướng giải quyết vấn đề và sẽ đi tìm hiểu tổng quan về bài toán
1.1 Đặt vấn đề
Horwath HTL1 – công ty chuyên nghiên cứu thị trường và cung cấp các dự án, dịch vụ du lịch có trụ sở ở nhiều quốc gia trên toàn thế giới đã báo cáo rằng trong năm 2017, khu vực châu Á - Thái Bình Dương đã đón tiếp 324 triệu khách du lịch, gần bằng một phần tư tổng số khách du lịch của thế giới Tăng trưởng ở khu vực này
dự kiến sẽ tiếp tục tăng 6% mỗi năm, mặc dù hiện tại đã dừng việc di chuyển, du lịch giữa các quốc gia do Đại dịch coronavirus
Hình 1: Sơ đồ phân khúc thị trường Cũng được đề cập trong báo cáo là tác động của số hóa và công nghệ thông tin rất có ảnh 1hưởng đến sự phát triển du lịch, đáng chú ý là AI và Machine Learning được đề cập đặc biệt là một trong những công cụ sẽ thúc đẩy tăng trưởng trong lĩnh vực này Thật vậy, trong những năm gần đây đã có sự gia tăng phổ biến của các nhà
1 TOURISM-TRENDS.pdf
Trang 22du lịch bảo thủ, hoặc cho những người tìm kiếm một kỳ nghỉ thoải mái hơn Để thiết
kế một cách tiếp cận toàn diện và năng động hơn cho việc lập kế hoạch chuyến đi, tập đoàn CNTT Cognizant đề xuất trong một báo cáo2 nghiên cứu rằng các nhà hoạch định chuyến đi nên sử dụng ‘digital footprints’ của người dùng để hình thành sự hiểu biết tốt hơn về sở thích2 của họ và từ đó đưa ra các khuyến nghị chính xác hơn
Do đó, nhóm chúng em tin rằng có thể phát triển một hệ thống khuyến nghị
du lịch sử dụng các dạng dữ liệu người dùng khác bên cạnh bảng câu hỏi để đưa ra các đề xuất du lịch nhanh chóng, chính xác hơn theo sở thích của người dùng
1.2 Giải quyết vấn đề
Để giải quyết vấn đề trên, nhóm chúng em đề xuất một hệ thống khuyến nghị
du lịch mới, sử dụng lịch sử tìm kiếm trên internet của người dùng để tạo thành một
hồ sơ cá nhân về tính cách và sở thích của họ Dữ liệu này sau đó có thể được xử lý, phân tích để thực hiện đề xuất một hành trình du lịch chính xác và cá nhân hóa cao
2
https://www.cognizant.com/InsightsWhitepapers/travel-planning-2020-the-journey-toward-market-prosperity-codex1046.pdf
Trang 2323
Chúng em tin rằng thói quen duyệt Internet chứa một kho thông tin về một người Các trang web họ truy cập, nội dung họ theo dõi, tất cả kết hợp với nhau để vẽ nên một bức tranh có độ chính xác cao về những gì họ thích và không thích, làm cho
nó trở thành một yếu tố quan trọng trong việc phân tích hồ sơ người dùng
1.3 Nghiên cứu tổng quan
Hệ thống khuyến nghị du lịch là một hệ thống giúp đưa ra nhưng gợi ý về các
kế hoạch chuyến đi hoặc địa điểm du lịch được cho là phù hợp với người dùng, có yếu tố ảnh hưởng lớn đến quyết định thực hiện chuyến du lịch sắp tới của họ Ở một
số hệ thống khuyến nghị du lịch hiện hành, kết quả dự đoán cho người dùng có thể được dựa vào các yếu tố sau đây:
- Dựa vào lịch sử các chuyến đi thành công của người dùng trước đó để đưa
ra các khuyến nghị chuyến đi có liên quan
- Khuyến nghị các điểm đến du lịch phổ biến, thịnh hành được phần lớn
người dùng lựa chọn
Dựa trên đó, hệ thống khuyến nghị du lịch nhóm chúng em phát triển sẽ đạt các mục tiêu sau đây:
- Khả năng thu thập hồ sơ người dùng, dự đoán loại hình du lịch họ yêu
thích: Hệ thống sẽ tự động thu thập dữ liệu duyệt web của người dùng, lọc
ra các từ khóa có liên quan du lịch từ đó phân tích để đưa ra dự đoán loại hình du lịch mà người dùng yêu thích Trong trường hợp không tìm thấy lịch sử duyệt web hoặc lịch sử duyệt web của người dùng không có liên quan đến các từ khóa du lịch hoặc là người dùng không có kết nối internet thì sẽ sử dụng bảng câu hỏi thay thế
- Khả năng khuyến nghị thành phố / điểm đến du lich và các địa điểm tham
quan bên trong thành phố / điểm đến đó: Từ loại hình du lịch đã được dự
đoán, hệ thống sẽ truy cập vào cơ sỡ dự liệu, dùng thuật toán xử lý đưa ra một thành phố / điểm đến cũng như một danh sách các điểm tham quan phù hợp
Trang 2424
- Giới hạn dữ liệu địa điểm tham quan: Các điểm đến tham quan được hệ
thống khuyến nghị trong phạm vi Châu Á
- Hệ thống được sử dụng trên máy tính để bàn hoặc máy tính cá nhân
Trang 2525
CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG
Ở chương này trình bài các nghiên cứu về công nghệ, kỹ thuật được sử dụng
để xây dựng hệ thống
2.1 Thuật toán phân loại Naive Bayesian
Phân loại và dự đoán là hai khía cạnh quan trọng nhất của Machine Learning
và Naive Bayes là một thuật toán đơn giản nhưng mạnh mẽ đáng ngạc nhiên cho mô hình dự đoán
Naive Bayes là một trong những thuật toán đơn giản nhất nhưng mạnh nhất
để phân loại dựa trên Định lý Bayes với giả định độc lập giữa các yếu tố dự đoán Mô hình Naive Bayes rất dễ xây dựng và đặc biệt hữu ích cho các tập dữ liệu rất lớn Có hai phần của thuật toán này:
• Naive
• Bayes
Trình phân loại Naive Bayes giả định rằng sự hiện diện của một tính năng trong một lớp không liên quan đến bất kỳ tính năng nào khác Ngay cả khi các tính năng này phụ thuộc vào nhau hoặc phụ thuộc vào sự tồn tại của các tính năng khác, tất cả các tính chất này đều góp phần độc lập vào xác suất rằng một loại trái cây cụ thể là táo hoặc cam hoặc chuối, và đó là lý do tại sao nó được gọi là "Naive"
Định lý Bayes là gì?
Trong thống kê và lý thuyết xác suất, định lý của Bayes mô tả xác suất của một sự kiện, dựa trên kiến thức trước về các điều kiện có thể liên quan đến sự kiện
Nó phục vụ như một cách để tìm ra xác suất có điều kiện
Cho một giả thuyết ( H) và bằng chứng ( E) , Bayes' Định lý khẳng định rằng mối quan hệ giữa xác suất của các giả thuyết trước khi nhận được bằng chứng, P
(H) , và xác suất của giả thuyết sau khi có bằng chứng, P (H | E) , là:
Trang 2626
Hình 1: Công thức tính xác xuất sau
Vì lý do này, P (H) được gọi là xác suất trước , trong khi P (H | E) được gọi
là xác suất sau Yếu tố liên quan đến hai, P (H | E) / P (E) , được gọi là tỷ lệ khả
năng Sử dụng các thuật ngữ này, định lý của Bayes có thể được định nghĩa lại là:
"Xác suất sau bằng với xác suất trước nhân với tỷ lệ khả năng."
Ứng dụng của Naive Bayes
Nguồn cấp dữ liệu RSS
Trường hợp sử dụng công nghiệp đầu tiên của chúng tôi là Phân loại tin
tức hoặc chúng tôi có thể sử dụng thuật ngữ 'phân loại văn bản' để mở rộng phổ của
thuật toán này Tin tức trên web đang phát triển nhanh chóng trong đó mỗi trang web tin tức có bố cục và phân loại khác nhau để phân nhóm tin tức Các công ty sử dụng trình thu thập dữ liệu web để trích xuất văn bản hữu ích từ các trang HTML của các bài báo để xây dựng RSS toàn văn
Nội dung của mỗi bài viết tin tức được token hóa (phân loại) Để đạt được
kết quả phân loại tốt hơn, chúng tôi loại bỏ các từ ít quan trọng hơn, tức là dừng lại, khỏi tài liệu Chúng tôi áp dụng trình phân loại Bayes ngây thơ để phân loại nội dung tin tức dựa trên mã tin tức
Trang 2727
Lọc thư rác
Hình 2: Minh họa luồng lọc thư rác
Phân loại Naive Bayes là một kỹ thuật thống kê phổ biến của lọc e-mail Họ thường sử dụng một túi các từ / tính năng để xác định e-mail spam, một cách tiếp cận thường được sử dụng trong phân loại văn bản Các trình phân loại của Naive Bayes hoạt động bằng cách tương quan việc sử dụng mã thông báo (thường là từ hoặc đôi khi là những thứ khác), với email và thư rác không phải thư rác và sau đó, sử dụng định lý Bayes, tính xác suất email có hoặc không phải là thư rác
Các từ đặc biệt có xác suất cụ thể xảy ra trong email spam và email hợp pháp Chẳng hạn, hầu hết người dùng email sẽ thường xuyên gặp từ "Xổ số" và "Rút thăm may mắn" trong email spam, nhưng sẽ hiếm khi thấy nó trong các email khác Mỗi
từ trong email đóng góp vào xác suất spam của email hoặc chỉ những từ thú vị nhất
Đóng góp này được gọi là xác suất sau và được tính bằng định lý củaBayes Sau đó,
xác suất spam của email được tính trên tất cả các từ trong email và nếu tổng số vượt
quá một ngưỡng nhất định (giả sử là 95%), bộ lọc sẽ đánh dấu email là thư rác
Chẩn đoán y khoa
Ngày nay, các bệnh viện hiện đại được trang bị tốt với các thiết bị theo dõi và thu thập dữ liệu khác, dẫn đến lượng dữ liệu khổng lồ liên tục được thu thập thông qua kiểm tra sức khỏe và điều trị y tế Một trong những ưu điểm chính của phương
Trang 2828
pháp Naive Bayes thu hút các bác sĩ là "tất cả các thông tin có sẵn được sử dụng để giải thích quyết định." Giải thích này dường như là "tự nhiên" để chẩn đoán và tiên lượng y tế, tức là gần với cách các bác sĩ chẩn đoán bệnh nhân
Khi xử lý dữ liệu y tế, phân loại Naive Bayes tính đến bằng chứng từ nhiều thuộc tính để đưa ra dự đoán cuối cùng và đưa ra những giải thích minh bạch về các quyết định của nó và do đó nó được coi là một trong những phân loại hữu ích nhất để
hỗ trợ các quyết định của bác sĩ
Thực hiện từng bước của Naive Bayes
Ở đây chúng tôi có một bộ dữ liệu bao gồm 768 quan sát của phụ nữ từ 21 tuổi trở lên Bộ dữ liệu mô tả các phép đo tức thời được lấy từ bệnh nhân, như tuổi tác, máu, và số lần họ đã mang thai Mỗi hồ sơ có một giá trị nhóm cho biết liệu bệnh
nhân có bị bệnh tiểu đường trong vòng 5 năm hay không Các giá trị là 1 cho bệnh nhân tiểu đường và 0 cho người không mắc bệnh tiểu đường
Bây giờ, hãy tiếp tục hướng dẫn Naive Bayes của chúng tôi và hiểu tất cả các
bước, từng bước một Tôi đã chia toàn bộ quá trình thành các bước sau:
Trang 2929
import math
import csv
def loadCsv(filename):
lines = csv.reader(open(
def splitDataset(dataset, splitRatio):
trainSize = int(len(dataset) * splitRatio)
Tóm tắt dữ liệu huấn luyện được thu thập liên quan đến giá trị trung bình và
độ lệch chuẩn cho từng thuộc tính, theo giá trị lớp Chúng được yêu cầu khi đưa ra
dự đoán để tính xác suất của các giá trị thuộc tính cụ thể thuộc về từng giá trị lớp
Chúng ta có thể chia việc chuẩn bị dữ liệu tóm tắt này thành các nhiệm vụ phụ sau: