Professional Documents
Culture Documents
đề án python nhóm 7
đề án python nhóm 7
HCM
KHOA: HỆ THỐNG THÔNG TIN VÀ VIẾN THÁM
……………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Lê Quang Thiện
LỜI CÁM ƠN
Nhóm 7 xin gửi lời cảm ơn sâu sắc đến Ths. Lê Quang Thiện đã hướng dẫn cho
chúng em hiểu thêm về ngôn ngữ Python cũng như hiểu nhiều hơn về big data
(công nghệ dữ liệu lớn). Giúp cho chúng em hiểu thêm được nhiều kiến thức mới
sau này ứng dụng vào ngành mà chúng em theo học. Với đồ án môn học này giúp
chúng em có thể tự tìm hiểu thêm những kiến thức sâu rộng hơn mà chúng em chưa
kịp tiếp cận và cũng thử sức mình với việc phân tích dữ liệu.
Nhân dịp tết đến xuân về em cung chúc thầy và gia đình có nhiều điều may mắn và
sức khỏe trong năm mới, thàng công ,tiền tài đầy nhà . Một lần nữa nhóm 7 xin
cám ơn thầy rất nhiều chúc thầy có nhiều sức khỏe và thành công trong công việc
giảng dạy.
Nhóm và sinh viên thực hiện
Nhóm 7
MỤC LỤC
LỜI CẢM ƠN
ĐỀ TÀI : PHÂN TÍCH DỮ LIỆU XU HƯỚNG TOÀN CẦU VỀ
RỐI LOẠN SỨC KHỎE TÂM THẦN
CHƯƠNG I: TỔNG QUAN...................................................................1
1.1. Tổng quan về công nghệ dữ liệu lớn.............................................1
1.1.1. Sự phát triển của công nghệ dữ liệu lớn....................................1
1.1.2. Một số ứng dụng tiêu biểu của công nghệ dữ liệu lớn...............5
1.2. Tổng quan về Python và phần mềm Google Colab trong phân tích
dữ liệu.....................................................................................................9
1.2.1 Python.........................................................................................9
Python phân tích dữ liệu: Ưu và nhược điểm.....................................11
Ưu điểm của việc sử dụng Python để phân tích dữ liệu....................11
Nhược điểm của việc sử dụng Python để phân tích dữ liệu:..............12
1.2.2. Phần mềm Google Colab trong phân tích dữ liệu...................12
1.3. Giới thiệu đề tài...........................................................................14
1.3.1. Lí do chọn đề tài......................................................................14
1.3.2. Mục tiêu nghiên cứu.................................................................14
1.3.3. Mô tả dữ liệu............................................................................15
CHƯƠNG II: MÔ TẢ MÔ HÌNH PHÂN LỚP DỮ LIỆU.............17
2.1. Phương pháp phân lớp dữ liệu.......................................................17
2.2. Các mô hình phân lớp dữ liệu........................................................18
2.3. Quá trình phân lớp dữ liệu.............................................................21
2.4. Tính hiệu quả của mô hình phân lớp dữ liệu.................................23
CHƯƠNG III : PHÂN TÍCH VÀ TRỰC QUAN HÓA DỮ LIỆU. 24
3.1. Xử lí dữ liệu.................................................................................24
3.1.1. Khai báo thư viện và upload dữ liệu........................................24
3.1.2. Kiểm tra kiểu dữ liệu và trùng lập...........................................25
3.1.2. Loại bỏ các hàng trùng lặp và kiểm tra giá trị null.................26
3.2. Phân tích và trực quan hóa dữ liệu..............................................27
CHƯƠNG IV : KẾT LUẬN.................................................................41
4.1. Những công việc đã thực hiện.......................................................41
4.1.1. Tóm tắt:....................................................................................41
4.1.2. Kết quả đạt được......................................................................41
4.2. Hướng phát triển và kiến nghị.......................................................42
4.2.1. Hướng phát triển......................................................................42
4.2.2. Kiến Nghị.................................................................................42
Tất cả các vấn đề trên đưa chúng ta đến với một lĩnh vực mới big data.
Big Data là các tập dữ liệu có khối lượng lớn và phức tạp. Độ lớn đến mức
các phần mềm xử lý dữ liệu truyền thống không có khả năng thu thập, quản lý và
xử lý dữ liệu trong một khoảng thời gian hợp lý.
Dữ liệu lớn - Big Data được sử dụng để mô tả khối lượng khổng lồ của cả dữ
liệu có cấu trúc và phi cấu trúc, lớn đến mức khó có thể xử lý bằng các kỹ thuật
truyền thống.
Khái niệm Big Data hiện nay tương đối quen thuộc với chúng ta. Nó đại diện
cho số lượng dữ liệu này càng tăng lên và các loại dữ liệu đa dạng khác nhau đang
được thu thập.
Khi ngày càng nhiều thông tin trên thế giới được trao đổi online và số hóa,
các nhà phân tích có thể bắt đầu sử dụng những thông tin đó làm dữ liệu. Những
1
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
thứ như mạng xã hội, sách trực tuyến, âm nhạc, video,... đã làm tăng đáng kể lượng
dữ liệu sẵn có để phân tích.
Mọi thứ hiện nay chúng ta thao tác online đều được lưu trữ và theo dõi như
dữ liệu.
Một điều quan trọng chúng ta cần lưu ý, đó là khái niệm Big Data không chỉ
là số lượng dữ liệu mà chúng ta đang tạo ra, nó còn bao gồm tất cả các dạng dữ liệu
khác nhau: Text, video, lượt khách hàng ra vào, số giao dịch,…
- Tính chất của Big Data
Khối lượng (Volume): Đúng như tên gọi, khối lượng của Big Data là rất lớn,
thậm chí là cực lớn. Với sự phát triển mạnh mẽ của internet, thiết bị di động, mạng
xã hội và công nghệ IoT (Internet of Things), khối lượng dữ liệu đang tạo ra tăng
đáng kể trong hàng ngày, hàng giờ.
Tốc độ (Velocity): Bên cạnh khối lượng dữ liệu lớn, tốc độ xử lý nhanh là
điều kiện thiết yếu. Các ứng dụng phổ biến trong lĩnh vực Internet, tài chính, ngân
hàng, y tế - chăm sóc sức khỏe,… phần lớn dữ liệu lớn được xử lý real-time (thời
gian thực). Công nghệ quản lý dữ liệu lớn ngày một tiên tiến cho phép chúng ta xử
lý ngay lập tức trước khi lưu trữ vào cơ sở dữ liệu.
Đa dạng (Variety): Trước đây, hầu hết dữ liệu có thể được thu thập gọn gàng
trong bảng, đó là dữ liệu có cấu trúc. Hiện nay, dữ liệu chủ yếu xuất hiện dưới dạng
phi cấu trúc như bài viết trên mạng xã hội, âm thanh, video,… Công nghệ Big Data
cho phép liên kết và phân tích đa dạng chủng loại dữ liệu với nhau.
Độ chính xác (Veracity): Với sự đa dạng và số lượng lớn, độ chính xác là
một trong những tính chất phức tạp nhất của Big Data. Tính chất này đề cập đến
việc khai phá chất lượng tập dữ liệu và làm sạch dữ liệu đó một cách hệ thống. Từ
2
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
đó làm tăng độ tin cậy và chính xác, giúp ích cho việc phân tích. Đây cũng là một
bước quan trọng của Big Data.
Giá trị thông tin (Value): Giá trị thông tin là tính chất quan trọng nhất của
công nghệ Big Data. Ví dụ: Một doanh nghiệp muốn ứng dụng Big Data cho bài
toán mô hình hoạt động kinh doanh của mình. Trước tiên, doanh nghiệp cần xác
định rõ những giá trị thông tin hữu ích Big Data có thể mang lại trong việc giải
quyết nhu cầu của doanh nghiệp.
Nghiên cứu về việc sử dụng hiệu quả các công nghệ thông tin và truyền
thông cho mục đích phát triển (hay còn gọi là ICT4D) cho thấy công nghệ dữ liệu
lớn có thể có nhiều đóng góp quan trọng nhưng cũng là thách thức đối với sự phát
triển của quốc tế. Những tiến bộ trong phân tích dữ liệu lớn giúp giảm chi phí cho
việc ra quyết định trong các lĩnh vực quan trọng như chăm sóc sức khoẻ, việc làm,
năng suất kinh tế, tội phạm, an ninh, thiên tai và quản lý tài nguyên. Tuy nhiên,
những thách thức đối với các nước đang phát triển như cơ sở hạ tầng công nghệ
3
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
không đầy đủ và sự khan hiếm về kinh tế và nguồn nhân lực sẽ làm nghiêm trọng
thêm các mặt trái của dữ liệu lớn như sự riêng tư hoặc các vấn đề khác.
\
Ở Việt Nam, nhiều lĩnh vực, đơn vị đã có ý thức từ rất sớm trong việc sử
dụng dữ liệu lớn (DLL) trong công tác quản lý nhà nước, trong quá trình sản xuất
và kinh doanh. Việt Nam đang sở hữu những lợi thế cho quá trình chuyển đổi số,
bắt đầu bằng xây dựng DLL. Lợi thế thứ nhất, có thể kể đến đó chính là tỷ lệ dân số
sở hữu điện thoại thông minh, máy tính tại Việt Nam tăng nhanh qua các năm, rất
thuận lợi cho việc thu thập dữ liệu. Lợi thế thứ hai, đó là các công ty tại Việt Nam
còn rất trẻ, chính vì thế, họ có thể bắt đầu xây dựng cơ sở hạ tầng mà không bị ảnh
hưởng từ hệ thống cũ tồn tại trước đó. Đây cũng là lợi thế giúp các công ty trẻ tại
Việt Nam có được sức bật nhanh chóng nếu được đầu tư một cách nghiêm túc ngay
từ đầu.
Trong thời gian qua, Việt Nam cũng đã có nhiều phương án để phát triển hạ
tầng DLL.
- Một là, trong phát triển hạ tầng hệ thống lưu trữ và máy chủ.
- Hai là, đối với phát triển hạ tầng các phần mềm quản lý, tích hợp dữ liệu,
phần mềm phân tích dữ liệu.
- Ba là, về xây dựng hạ tầng bảo mật.
4
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
1.1.2. Một số ứng dụng tiêu biểu của công nghệ dữ liệu lớn
Dữ liệu lớn có thể làm được gì và tại sao cần có dữ liệu lớn chắc chắn là
những câu hỏi được rất nhiều người quan tâm. Nhìn chung, lợi ích của dữ liệu lớn
bao gồm:
Giảm thiểu chi phí: Việc áp dụng công nghệ phân tích dữ liệu lớn vào mọi
quy trình của tổ chức không chỉ giúp doanh nghiệp loại bỏ lỗi một cách tự động
mà còn triển khai các giải pháp một cách nhanh chóng, hiệu quả và tiết kiệm chi
phí.
Tiết kiệm thời gian: phân tích toàn diện dữ liệu lớn đòi hỏi nhiều thời gian
và chi phí, xử lý thủ công có độ trễ nhất định. Dữ liệu lớn tiết kiệm rất nhiều thời
gian bằng cách cho phép thu thập và xử lý dữ liệu với tốc độ nhanh hơn và dễ
dàng hơn.
Tối ưu hóa sản phẩm: Thông qua dữ liệu lớn, các công ty có thể phân tích
mức giá có lợi nhất trong các tình huống kinh doanh khác nhau. Để làm hài lòng
khách hàng và tạo ra lợi nhuận, các công ty cần đổi mới sản phẩm theo xu hướng
thị trường. Dữ liệu lớn cho phép họ thực hiện những thay đổi này.
•Hỗ trợ quá trình ra quyết định của con người: Nhờ khả năng tận dụng và
xử lý lượng dữ liệu lớn, dữ liệu lớn có thể xác định nhu cầu và dự đoán xu hướng,
giúp đưa ra các quyết định đúng đắn và kịp thời.
Trong thực tế, ứng dụng Big Data (Dữ liệu lớn) vào nhiều lĩnh vực, giúp doanh
nghiệp ở mọi quy mô tạo nên biến chuyển ấn tượng, gia tăng tính hiệu quả, năng
suất và lợi thế cạnh tranh so với đối thủ trong kỷ nguyên chuyển đổi số.
5
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Big Data đã và đang được ứng dụng hiệu quả với các hoạt động: từ thu tiền
mặt đến quản lý tài chính. Từ đó, giúp giảm bớt rắc rối của khách hàng và gia
tăng doanh thu cho các ngân hàng.
Với Big Data, người dùng có thể xác định phương hướng điều trị, cải thiện
quá trình chăm sóc sức khỏe, giảm lãng phí tiền bạc và thời gian.
6
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Big Data có thể tạo lợi thế cạnh tranh cho doanh nghiệp bằng cách cung cấp
thông tin chuyên sâu và các bản báo cáo phân tích xu hướng tiêu dùng.
Big Data tạo ra các phương pháp tiếp cận dựa trên dữ liệu để dạy học sinh.
7
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Có thể lưu trữ, quản lý, phân tích các bộ dữ liệu lớn bao gồm hồ sơ
của sinh viên.
Duy trì bảo mật bằng cách sử dụng hệ thống quản lý big data có khả
năng trích xuất phân cấp.
Big Data giúp các bộ đề kiểm tra gần như không thể bị lộ
Big Data cung cấp dữ liệu về các hoạt động trong lớp và giúp đưa ra
quyết định cho giáo viên hay người điều hành tổ chức.
Big Data có thể đánh giá biểu cảm khuôn mặt và di chuyển của học
sinh trong lớp từ đó giáo viên có thể đánh giá được chất lượng giảng dạy bằng
máy ảnh độ phân giải cao, cảnh quay video và xử lý hình ảnh.
Digital Marketing là chìa khóa để doanh nghiệp tiếp cận gần nhất với khách
hàng. Quan trọng, với Digital Marketing, tất cả các doanh nghiệp ở mọi quy mô lớn
nhỏ... đều có thể tiến hành các hoạt động quảng cáo tiếp thị trên các nền tảng
truyền thông xã hội..
8
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
*Ứng dụng big data trong Lĩnh vực truyền thông & Giải trí
Các công ty truyền thông cần thúc đẩy chuyển đổi kỹ thuật số để phân phối
sản phẩm và nội dung của họ nhanh nhất có thể tại thị trường hiện tại. Đối với
những người ảnh hưởng trên các phương tiện truyền thông đại chúng, Big Data có
thể giúp tìm ra quan điểm hoặc lượt thích của một nghệ sĩ để đo lường mức độ phổ
biến trong lĩnh vực truyền thông số.
9
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
• Guido Van Rossum cho ra mắt phiên bản đầu tiên của ngôn ngữ Python
(phiên bản 0.9.0) vào năm 1991. Ngôn ngữ này đã bao gồm các tính năng hữu
ích như một số kiểu dữ liệu và hàm để xử lý lỗi.
• Python 1.0 đã được ra mắt vào năm 1994 với các hàm mới để dễ dàng xử lý
danh sách dữ liệu, chẳng hạn như ánh xạ, lọc và lược bỏ.
• Python 2.0 đã được ra mắt vào ngày 16 tháng 10 năm 2000, với các tính
năng hữu ích mới cho lập trình viên, chẳng hạn như hỗ trợ ký tự Unicode và
cách xử lý chi tiết một danh sách nhanh chóng hơn.
• Python 3.0 đã được ra mắt vào ngày 3 tháng 12 năm 2008. Phiên bản này
bao gồm các tính năng như hàm in và hỗ trợ nhiều hơn cho việc phân chia số và
xử lý lỗi.
Định nghĩa:
Python là ngôn ngữ lập trình được sáng tạo bởi Guido Van Rossum – một
chuyên gia lập trình người Hà Lan vào năm 1991. Người sáng lập muốn Python là
một ngôn ngữ dễ hiểu và tương đồng với tiếng anh. Nhờ vậy, nó rất thân thiện với
người dùng, không khó để người mới làm quen. Tất cả các câu lệnh, cú pháp đều
rất trực quan và rõ ràng. Kết quả từ khảo sát của Stack Overflow cho thấy Python là
ngôn ngữ lập trình được yêu thích nhất. Python là một phần mềm mã nguồn mở
(open source). Do đó, ai cũng có thể đóng góp để phát triển Python, giúp ngôn ngữ
này ngày càng trở nên phổ biến và mạnh mẽ hơn. Ngoài ra, Python có thể chạy trên
nhiều nền tảng hệ điều hành khác nhau như UNIX, MS – DOS, Mac OS, Windows
và Linux…
10
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
• Các nhà phát triển có thể dễ dàng đọc và hiểu một chương trình Python vì
ngôn ngữ này có cú pháp cơ bản giống tiếng Anh.
• Python giúp cải thiện năng suất làm việc của các nhà phát triển vì so với
những ngôn ngữ khác, họ có thể sử dụng ít dòng mã hơn để viết một chương
trình Python.
• Python có một thư viện tiêu chuẩn lớn, chứa nhiều dòng mã có thể tái sử
dụng cho hầu hết mọi tác vụ. Nhờ đó, các nhà phát triển sẽ không cần phải viết
mã từ đầu.
• Các nhà phát triển có thể dễ dàng sử dụng Python với các ngôn ngữ lập trình
phổ biến khác như Java, C và C++.
• Cộng đồng Python tích cực hoạt động bao gồm hàng triệu nhà phát triển
nhiệt tình hỗ trợ trên toàn thế giới. Nếu gặp phải vấn đề, bạn sẽ có thể nhận
được sự hỗ trợ nhanh chóng từ cộng đồng.
• Trên Internet có rất nhiều tài nguyên hữu ích nếu bạn muốn học Python. Ví
dụ: bạn có thể dễ dàng tìm thấy video, chỉ dẫn, tài liệu và hướng dẫn dành cho
nhà phát triển.
• Python có thể được sử dụng trên nhiều hệ điều hành máy tính khác nhau,
chẳng hạn như Windows, macOS, Linux và Unix.
– Dễ học: Python là một trong những ngôn ngữ lập trình dễ học nhất, do cú pháp rõ
ràng và dễ đọc. Nó cũng yêu cầu ít dòng mã hơn! Do đó, người học có thể nhanh
chóng học hỏi và bắt tay ngay vào việc thực hiện các dự án phân tích dữ liệu. Tốc
độ phát triển cũng là một lợi thế của Python. Theo đó, một nhà phát triển không
phải suy nghĩ quá nhiều trong khi viết và dễ dàng gỡ lỗi mã hơn.
– Linh hoạt và có thể mở rộng: Python có thể được sử dụng trong nhiều lĩnh vực
và dự án, hoạt động nhanh hơn do tính linh hoạt cao và có thể được sử dụng với bất
kỳ công cụ phát triển ứng dụng nhanh nào.
– Nhiều loại thư viện: Các thư viện này được sử dụng miễn phí có thể làm giảm
ngân sách phân tích dữ liệu. Do sự hỗ trợ mạnh mẽ của Python, chúng đang phát
triển và liên tục bổ sung các tính năng cần thiết để làm việc thoải mái với dữ liệu.
Xem thêm: Top 5 ứng dụng tuyệt vời của Python trong thực tế
Nhược điểm của việc sử dụng Python để phân tích dữ liệu:
– Giới hạn tốc độ: Python là một ngôn ngữ thông dịch, vì vậy bạn có thể thấy rằng
nó chậm hơn một số ngôn ngữ phổ biến khác. Tuy nhiên, điều này không phải là
một vấn đề trừ khi tốc độ là một tiêu điểm cho dự án.
– Tiêu thụ bộ nhớ: Bạn nên lưu ý rằng mức tiêu thụ bộ nhớ của Python rất cao. Vì
lý do đó, nó có thể không phải là lựa chọn tốt nhất cho các tác vụ đòi hỏi nhiều bộ
nhớ. Nó có thể có vấn đề khi một số lượng lớn các đối tượng đang hoạt động trong
RAM.
– Không có nguồn gốc từ môi trường di động: Python không có nguồn gốc từ
môi trường di động và nó được một số lập trình viên coi là ngôn ngữ yếu cho điện
toán di động. Android và iOS không hỗ trợ Python như một ngôn ngữ lập trình
chính thức.
Tuy nhiên, Python có thể dễ dàng được sử dụng cho các mục đích di động, nhưng
nó đòi hỏi một số nỗ lực bổ sung.
12
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Colaboratory hay còn gọi là Google Colab, là một sản phẩm từ Google Research,
nó cho phép thực thi Python trên nền tảng đám mây, đặc biệt phù hợp với Data
analysis, machine learning và giáo dục
Colab không yêu cầu cài đặt hay cấu hình máy tính, mọi thứ có thể chạy thông qua
trình duyệt, bạn có thể sử dụng tài nguyên máy tính từ CPU tốc độ cao và cả
GPU,TPU đều được cung cấp cho bạn
Sử dụng Google Colab có lợi ích ưu việt như: sẵn sáng chạy Python ở bất kì thiết bị
nào có kết nối Internet mà không cần cài đặt, chia sẻ và làm việc nhóm dễ dàng, sử
dụng miễn phí GPU cho các dự án về AI.
***Google Colab cung cấp một số tính năng có thể kể đến như:
Người dùng có thể tạo mục lục dựa trên các heading viết bằng ngôn ngữ
markdown qua đó bạn sẽ dễ dàng cấu trúc Notebook và làm việc của mình.
Bạn cũng có thể thu gọn các phần nội dung khi soạn thảo một cách thuận tiện
nhất.
Có thể thêm hình ảnh, biểu mẫu dễ dàng với markdown giúp bạn trình bày
báo cáo hoặc làm dashboard cực tiện lợi. Thậm chí người dùng cũng có thể
ẩn các dòng code để trông Notebook gọn gàng hơn với tính năng biểu mẫu.
Kết nối dễ dàng với Google Drive hay là Google Sheets để bắt tay vào phân
tích dữ liệu “trên mây” hoàn toàn.
Chạy Python trên Cloud hay Local Runtime cũng đều cho trải nghiệm tốt,
người dùng vẫn tận dụng được tính năng tuyệt vời của Google Colab khi
chạy với Python trên Local Runtime. Trong khi đó vẫn không bị Google tự
động xóa dữ liệu khi kết thúc phiên làm việc như khi chạy trên Cloud.
Tự động lưu lịch sử chỉnh sửa thành các phiên bản mới giúp bạn dễ dàng
khôi phục lại phiên bản gần nhất mỗi khi xảy ra lỗi.
Cho phép tìm kiếm và chèn các đoạn dữ liệu được soạn thảo sẵn trong các
Template vào Notebook. Tính năng này được đánh giá khá cao bởi bạn
không cần phải mở thêm nhiều file lưu trữ để tìm lại các đoạn code mẫu
mình đã biết khi cần.
Tạo dashboard viết bằng Python và có thể chia sẻ với team dễ dàng nếu cần
tương tự như Google Data Studio nhưng nó lại linh hoạt và mạnh mẽ hơn rất
nhiều.
13
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Rối loạn tâm thần là nhóm bệnh chỉ chung cho tình trạng rối loạn sức khỏe
tâm thần, ảnh hưởng đến tâm trạng, suy nghĩ, hành động của con người. Một số ví
dụ bệnh rối loạn tâm thần như: rối loạn lo âu, trầm cảm, rối loạn ăn uống, tâm thần
phân liệt, hành vi gây nghiện,...
Dù ở nhiều dạng khác nhau nhưng bệnh rối loạn tâm thần đều gây ra nhiều
vấn đề cho sức khỏe và cuộc sống hàng ngày của người bệnh làm tăng gánh nặng
cho xã hội .Đây là nguy cơ đối với cả đất nước và xã hội mà chúng ta cần quan tâm
và cần xã hội vào cuộc ngay lập tức.
Nhận thấy được tầm quan trọng của việc cải thiện sức khỏe tinh thần, tính
thiết yếu của việc phát hiện sớm những biểu hiện về tâm lý và các vấn đề liên quan
đến sức khỏe tinh thần, chúng em đã quyết định chọn đề tài này để tìm hiểu, nghiên
cứu trong bài báo cáo.
14
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
trình điều trị chính sát tăng khả năng điều trị thành công; đồng thời tìm cách khắc
phục, hạn chế những sai sót đểmang lại lợi ít cho người bệnh và xã hội.
1.3.3. Mô tả dữ liệu
1.3.3.1. Nguồn gốc dữ liệu
Bộ dữ liệu này chứa dữ liệu thông tin từ các quốc gia trên toàn cầu về tỷ lệ rối loạn
sức khỏe tâm thần bao gồm tâm thần phân liệt, rối loạn lưỡng cực, rối loạn ăn
uống, rối loạn lo âu, rối loạn sử dụng ma túy, trầm cảm và rối loạn sử dụng
rượu. Bằng cách cung cấp dữ liệu này ở định dạng dễ hình dung, bạn có thể hiểu rõ
hơn về cách những vấn đề này ảnh hưởng đến cuộc sống; cho phép hiểu sâu hơn về
các điều kiện này và các tác động. Thông qua sự phản ánh này, bạn có thể trả lời
một số câu hỏi quan trọng:
Các loại rối loạn sức khỏe tâm thần mà mọi người trên thế giới mắc phải là gì?
Có bao nhiêu người ở mỗi quốc gia bị các vấn đề về sức khỏe tâm thần?
Đàn ông hay phụ nữ dễ bị trầm cảm hơn?
Trầm cảm có liên quan đến tự tử không và tỷ lệ phần trăm là bao nhiêu?
Trầm cảm phổ biến hơn ở nhóm tuổi nào?
Từ việc khám phá các mẫu giữa tỷ lệ phổ biến thông qua trực quan hóa dữ liệu
chuyên sâu, bạn sẽ có thể hiểu rõ hơn về những vấn đề phức tạp này. Kiến thức
thu được từ bộ dữ liệu này có thể giúp mang lại các kỹ năng ra quyết định có
giá trị như tài trợ nghiên cứu, hoạch định chính sách hoặc kế hoạch can thiệp
phòng ngừa ở nhiều quốc gia khác nhau. Vì vậy, nếu bạn muốn tạo dữ liệu có ý
nghĩa, thì hãy bắt đầu với tỷ lệ rối loạn sức khỏe tâm thần phổ biến trên toàn
cầu này cùng với các video đi kèm để có thêm ngữ cảnh - Nâng cao hiểu biết
của bạn về Rối loạn Sức khỏe Tâm thần ngay hôm nay!
Data được lấy từ trang : Kaggle.com
1.3.3.2. Cấu trúc của dữ liệu:
Tên trường dữ liệu Kiểu dữ liệu
Entity Thực thể (tên quốc gia hoặc khu vực) object
Phân tích làm sạch dữ liệu và sử dụng python để phân tích dữ liệu .Thực hiện
nhóm dữ liệu theo năm hoặc quốc gia ,và thực hiện các phép tính cộng hoặc trung bình
cộng với các căng bệnh để timf năm người mắc bệnh cao nhất.
16
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
17
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
trị rời rạc (discrete value), có nghĩa là phân lớp thao tác với những đối tượng dữ
liệu mà có bộ giá trị là biết trước
Cây quyết định (DECISION TREE) là sơ đồ trong phân tích tài chính
thể hiện mối tương tác của những tỷ số tài chính, và một tỷ số ảnh hưởng đến
tỷ số khác như thế nào, cho phép nhà phân tích tài chính hoặc người kiểm tra
ngân hàng, xem xét mối quan hệ nguyên nhân và kết quả trong những tỷ số
khác nhau.
Cây quyết định xây dựng cây bằng cách đặt một loạt câu hỏi vào dữ
liệu để đi đến quyết định. Do đó người ta nói rằng Cây Quyết định bắt chước
quá trình quyết định của con người. Trong quá trình xây dựng cây, nó chia
toàn bộ dữ liệu thành các tập dữ liệu con cho đến khi đưa ra quyết định. Hãy
cùng tìm hiểu một vài thuật ngữ liên quan đến cây Quyết định để hiểu rõ hơn
về Cây quyết định.
Cây hồi quy (Regression tree) ước lượng các hàm giá có giá trị là số
thực thay vì được sử dụng cho các nhiệm vụ phân loại. (ví dụ: ước tính giá
một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)
Cây phân loại (Classification tree), nếu y là một biến phân loại như:
giới tính (nam hay nữ), kết quả của một trận đấu (thắng hay thua).
*Ưu điểm:
18
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
+ Cây quyết định dễ hiểu. Người ta có thể hiểu mô hình cây quyết
định sau khi được giải thích ngắn.
+ Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc
không cần thiết. Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần
tạo các biến phụ (dummy variable) và loại bỏ các giá trị rỗng.
+ Cây quyết định là một mô hình hộp trắng. Nếu có thể quan sát
một tình huống cho trước trong một mô hình, thì có thể dễ dàng giải thích
điều kiện đó bằng logic Boolean. Mạng nơ-ron là một ví dụ về mô hình hộp
đen, do lời giải thích cho kết quả quá phức tạp để có thể hiểu được.
+ Có thể thẩm định một mô hình bằng các kiểm tra thống kê. Điều
này làm cho ta có thể tin tưởng vào mô hình.
+ Cây quyết định có thể xử lý tốt một lượng dữ liệu lớn trong thời
gian ngắn. Có thể dùng máy tính cá nhân để phân tích các lượng dữ liệu lớn
trong một thời gian đủ ngắn để cho phép các nhà chiến lược đưa ra quyết
định dựa trên phân tích của cây quyết định.
=> Nhược điểm của cây quyết định - khó giải quyết được những vấn
đề có dữ liệu phụ thuộc thời gian liên tục - dễ xảy ra lỗi khi có quá nhiều lớp
chi phí tính toán để xây dựng mô hình cây quyết định CAO.
19
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Naive Bayes là một thuật toán phân lớp được mô hình hoá dựa trên định lý Bayes
trong xác suất thống kê:
*Trong đó:
P(y|X) gọi là posterior probability: xác suất của mục tiêu y với điều kiện có
đặc trưng X
P(X|y) gọi là likelihood: xác suất của đặc trưng X khi đã biết mục tiêu y
Trong mô hình Naive Bayes, có hai giả thiết được đặt ra:
- Các đặc trưng đưa vào mô hình là độc lập với nhau. Tức là sự thay đổi giá
trị của một đặc trưng không ảnh hưởng đến các đặc trưng còn lại.
20
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
- Các đặc trưng đưa vào mô hình có ảnh hưởng ngang nhau đối với đầu ra
mục tiêu.
Khi đó, kết quả mục tiêu y để P(y|X) đạt cực đại trở thành:
Chính vì hai giả thiết gần như không tồn tại trong thực tế trên, mô hình này
mới được gọi là naive (ngây thơ). Tuy nhiên, chính sự đơn giản của nó với việc dự
đoán rất nhanh kết quả đầu ra khiến nó được sử dụng rất nhiều trong thực tế trên
những bộ dữ liệu lớn, đem lại kết quả khả quan. Một vài ứng dụng của Naive Bayes
có thể kể đến như: lọc thư rác, phân loại văn bản, dự đoán sắc thái văn bản, ...
Và một số mô hình khác : phân lớp với máy vector hỗ trợ (SVM), phân lớp với
mạng neural (neural network), Phân lớp dựa trên tiến hoá gen (genetic algorithms), phân
lớp với lý thuyết tập thô, tập mờ (rough sets), phân lớp với lý thuyết tập mờ (fuzzy sets)
dưới dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron. Quá
trình này được mô tả như trong hình 1
22
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
nhận được, thì mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc
những dữ liệu mà giá trị của thuộc tính phân lớp là chưa biết.
Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết
định tới sự thành công của mô hình phân lớp. Do vậy chìa khóa của vấn đề phân
lớp dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có độ chính xác
cao và có khả năng mở rộng được. Trong đó khả năng mở rộng được của thuật toán
được đặc biệt trú trọng và phát triển .
23
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Mô hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với mỗi nhánh lá
là một luật của cây.
Dữ liệu đầu vào có thể là là dữ liệu missing, không cần chuẩn hóa hoặc tạo biến
giả
Có thể xác thực mô hình bằng cách sử dụng các kiểm tra thống kê
Có khả năng là việc với dữ liệu lớn
Kèm với đó, cây quyết định cũng có những nhược điểm cụ thể:
Mô hình cây quyết định phụ thuộc rất lớn vào dữ liệu. Thậm chí, với một sự thay
đổi nhỏ trong bộ dữ liệu, cấu trúc mô hình cây quyết định có thể thay đổi hoàn
toàn.
Cây quyết định hay gặp vấn đề overfitting
Phân lớp với Naïve Bayesian:
Mô hình Naive Bayes là mô hình phân lớp đơn giản dễ cài đặt, có tốc độ xử
lý nhanh. Tuy nhiên có nhược điểm lớn là yêu cầu các đặc trưng đầu vào phải độc lập,
mà điều này khó xảy ra trong thực tế làm giảm chất lượng của mô hình. Thuật toán
này thường được sử dụng trong phân tích sắc thái, lọc thư rác, recommendation
systems, ...
24
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
upload dữ liệu
dataframe = pd.read_csv("heal.csv", index_col='index', low_memory=False)
dataframe
25
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
- Thư viện google.colab cung cấp các phương thức để upload file dữ liệu lên bộ
nhớ tạm của Google colab
- Thư viện numpy, pandas hỗ trợ quá trình xử lý và mô hình hóa dữ liệu thành
Datafarme
26
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
3.1.2. Loại bỏ các hàng trùng lặp và kiểm tra giá trị null:
dataframe.drop_duplicates(keep='first', inplace=True)
dataframe[dataframe.isna().any(axis=1)==True]
27
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Sau khi thực hiện xóa dữ liệu trùng thì data số dòng của data là 93347 hàng x10
cột trong khi ban đầu là 108553 hàng × 10 cột.
28
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
req_df.isna().any(axis=0).sum()
req_df.dropna(axis=0, inplace=True)
29
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
data_check_table
30
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Chuyển đổi kiểu dữ liệu của đối tượng theo nhu cầu:
def convert_str_to_float(x):
if type(x)!=float:
if x[0] in ['0','1','2','3','4','5','6','7','8','9']:
return float(x)
return float(0)
return x
for i in req_df.columns[2:]:
req_df[i]=req_df[i].apply(convert_str_to_float)
for i in req_df.columns[2:]:
print(i)
31
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
for i in nation_group_issue_avg.columns[1:]:
print(i)
32
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Tạo biểu đồ :
import matplotlib.pyplot as plt
import random
for i in nation_group_issue_avg.columns[1:]:
top_10_nation_group_issue_avg = nation_group_issue_avg.sort_values(by=i,
ascending=False).head(10)
fig, ax = plt.subplots(figsize=(8,8))
33
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
ax.bar(top_10_nation_group_issue_avg['Entity'],top_10_nation_group_issue_avg[i]
, width=0.35, label=i, color=bar_colors)
ax.set_ylabel('avg_mental_issue')
ax.set_title(f"Top 10 average mental issue visualization for '{i}' by nations ")
plt.xticks(rotation=90)
ax.legend()
plt.show()
34
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
35
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
36
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
37
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
38
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
39
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
40
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
Nhận xét: Qua việc phân dữ liệu ở trên cho thấy được sự phát triển của xã
hội đi kèm với những mối lo lắng, khiến cho lớp người trẻ ngày càng chịu
nhiều hơn các bệnh về tâm lý và tinh thần. Thế cho nên cần phải chú trọng
hơn vào chăm sóc sức khỏe tinh thần cho mọi người nói chung.
41
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
42
ĐỒ ÁN PHÂN TÍCH DỮ LIỆU NHÓM 7
2.https://luatminhkhue.vn/cay-quyet-dinh-decision-tree-la-gi.aspx
Dữ liệu của bài được lấy từ kaggle:
3.https://www.kaggle.com/datasets/thedevastator/uncover-global-trends-in-mental-
health-disorder
43