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 ▪
Trang 1ĐẠ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… tháng… năm……
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
Đánh giá Khóa luận 1 Về cuốn
báo cáo:
15520706 15520924
TS Nguyễn Hà Giang
ThS Nguyễn Thị Thanh Trúc
Số trang _ Số chương
Số bảng số liệu _ Số hình vẽ
Trang 2Số tài liệu tham khảo _ Sản phẩm
Trang 3Phan Ngọc Quý :……… /10 Nguyễn Minh Trí :……… /10
Người nhận xét (Ký tên và ghi rõ họ tên)
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… tháng… năm……
Trang 4NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
HỆ THỐNG KHUYẾN NGHỊ DU LỊCH
Nhóm SV thực hiện: Cán bộ phản biện:
Phan Ngọc QuýNguyễn Minh Trí
Đánh giá Khóa luận 1 Về cuốn báo cáo:
………
Trang 6Người nhận xét
(Ký tên và ghi rõ họ tên)
ĐẠ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
ĐỀ CƯƠNG CHI TIẾT
Trang 7Thờ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:
Phan Ngọc Quý – 15520706 Nguyễn Minh Trí – 15520924
Nội dung đề tài:
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 8Phâ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ù
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
Trang 9Phầ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ìnhbà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
Trang 10Giai đoạn Thời gian Công việc
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
- Thu thập dữ liệu thành phố, điểm
du lịch từ các nguồn web
- Phân tích và cấu trúc lại dữ liệu thu thập được để xử lý thêm - Xây dựng mô hình để 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
- 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ệutranning 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 12dà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 saunà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
Trang 13thực hiện khoá luận Nhờ mọi người mà nhóm có nhiều góc nhìn khác nhau
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 Userprofiling 41 4.1.1 Modeling
User Preferences 41 4.1.2 Inputdata 43 4.2 Attraction
search 44 4.2.1 Attraction
database 44 4.2.2 City
Trang 14characteristics 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ẾTLUẬN 566.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
DANH MỤC HÌNH VẼ
Hinh 1: S đ phân khúc th trơ ồ ị ường Error! Bookmark not defined
Hinh 2: Công th c tính xác xu t sau 26 ứ ấHinh 3: Minh h a lu ng l c th rác 27 ọ ồ ọ ưHinh 4: Đ th bi u di n ràng bu c 36 ồ ị ể ễ ộHinh 5: Luồng xử lý của toàn hệ thống 39 Hinh6: Mô hình thu thập dữ liệu đầu vào 43 Hinh 7: Xếp hạng danh mục du lịch cho các thành phố dựa trên điểm 46 Hinh 8: Selection score & ranking c a các thành ph .48 Hinh 9ủ ố : Mànhình loading khi hệ thống đang phân tích lịch sử duyệt web 48 Hinh 10: Giao diện khuyến nghị thành công thông qua lịch sử duyệt web 49 Hinh 11: Ví dụ về danh sách các hoạt động khi nhấn chọn các menu tab 50 Hinh 12: Màn hinh
ch đ offline 51 Hinh 13: Màn hinh ế ộ
danh sách câu h i 52ỏ
DANH MỤC BẢNG
B ng 1a : 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
Trang 15B ng 2: Mô t thông tin m t đi m tham quan 45a a ộ ể
B ng 3a : Danh sách số lượng website được sử dụng trong tập dữ liệu đào tạo 53
B ng 4a : Báo cáo phân loại cho tập dữ liệu đào tạo 54
DANH MỤC TỪ VIẾT TẮT
Trang 16Thuật ngữ/ Từ viết tắt
Nghĩa đầy đủ
Trang 17Khó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ôngminh 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ìnhtrê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ếtluậ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 1818
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ườidù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ụngcá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ứutí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 hệ thống
• Tìm hiểu các thư viện, công nghệ hỗ trợ lập trình máy học
Trang 19Chươ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
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ắtcá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
Trang 2020
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
Hinh 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 tinrấ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ựcnà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 https://corporate.cms-horwathhtl.com/wp-content/uploads/sites/2/2018/05/MR_AP_REGIONAL
TOURISM-TRENDS.pdf
21 hoạch định du lịch dựa trên công nghệ AI như Anywhr và TripHobo có thể đề xuất các điểm đến và lên kế hoạch hành trình
Cách thức lập kế hoạch như vậy hoạt động rất đơn giản: bạn được hỏi một loạt
Trang 21các câu hỏi liên quan đến hồ sơ cá nhân, lối sống và sở thích của bạn, và người lập kếhoạch tạo ra một hành trình dựa trên thông tin bạn cung cấp và họ tin rằng bạn sẽ thích.
Độ chính xác và kết quả của một kế hoạch du lịch được đề xuất sẽ phụ thuộc vào câutrả lời mà bạn đưa ra và các thông tin lưu trữ trong cơ sở dữ liệu được tìm cho là phùhợp với bạn Do hạn chế này, các nhà hoạch định hiện tại có xu hướng tập trung vàomột nhóm khách du lịch duy nhất giúp họ dễ dàng đưa ra dự đoán chính xác Ví dụ,Anywhr định hướng dịch vụ của mình đối với khách du lịch trẻ tuổi bằng cách cungcấp các kế hoạch du lịch thiên về phiêu lưu, khám phá làm trọng tâm chính Điều nàylàm cho các dịch vụ Anywhr cung cấp ít hấp dẫn hơn đối với những khách du lịch bảothủ, 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áchtiế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 CNTTCognizant đề xuất trong một báo cáo2 nghiên cứu rằng các nhà hoạch định chuyến đinê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ích2củ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ịchmớ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
22 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
Trang 22Hệ 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.
23
- 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 2324
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ìnhNaive 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ó haiphầ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 trongmộ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àyphụ 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áctí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à:
25
Trang 24Hinh 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ậttoá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 thuthậ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ỏità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ứcdựa trên mã tin tức
26
Lọc thư rác
Trang 25Hinh 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ậnthườ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 Bayeshoạ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ămmay 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 quakiể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
27 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
Trang 26Khi 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ổitrở 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 27def splitDataset(dataset, splitRatio):
trainSize = int(len(dataset) * splitRatio)
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:
29
Phân tách dữ liệu theo lớp:
def separateByClass(dataset):
Trang 28def summarize(dataset):
summaries = [(mean(attribute), stdev(attribute)) for attribute in zip(*dataset)]
Trang 29Bước 3: Dự đoán
Bây giờ chúng tôi đã sẵn sàng để đưa ra dự đoán bằng cách sử dụng các bản tómtắt được chuẩn bị từ dữ liệu đào tạo của chúng tôi Việc đưa ra dự đoán liên quan đếnviệc tính xác suất mà một thể hiện dữ liệu đã cho thuộc về mỗi lớp, sau đó chọn lớp cóxác suất lớn nhất làm dự đoán Chúng ta cần thực hiện các nhiệm vụ sau:
def predict(summaries, inputVector):
probabilities = calculateClassProbabilities(summaries, inputVector)
bestLabel, bestProb = None, -1
Trang 30for classValue, probability in probabilities.items():
if bestLabel is None or probability > bestProb:
Trang 31filename = 'pima-indians-diabetes.data.csv'
splitRatio = 0.67
dataset = loadCsv(filename)
trainingSet, testSet = splitDataset(dataset, splitRatio)
print('Split {0} rows into train = {1} and test = {2}
rows'.format(len(dataset),len(trainingSet),len(testSet)))
#prepare model
summaries = summarizeByClass(trainingSet)
#test model
predictions = getPredictions(summaries, testSet)
accuracy = getAccuracy(testSet, predictions)
Bây giờ chúng ta đã thấy các bước liên quan đến Trình phân loại Naive Bayes, Python đi kèm với một thư viện, Sckit-learn, làm cho tất cả các bước được đề cập ở trên
dễ dàng thực hiện và sử dụng Hãy tiếp tục hướng dẫn Naive Bayes của chúng tôi và xem cách thực hiện điều này
Naive Bayes với thư viện Sckit-learn 3
Đối với nghiên cứu của chúng tôi, chúng tôi sẽ sử dụng bộ dữ liệu IRIS , đi kèm