Trong kỷ nguyên dữ liệu hiện nay, ngành y tế đang chứng kiến sự bùng nổ về khối lượng và sự đa dạng của thông tin. Việc khai thác và phân tích dữ liệu y tế không chỉ giúp cải thiện chẩn đoán, điều trị mà còn hỗ trợ dự báo xu hướng sức khỏe cộng đồng. Một trong những định dạng phổ biến để lưu trữ dữ liệu y tế là file CSV. Với cấu trúc đơn giản, dễ xử lý, CSV trở thành nguồn dữ liệu lý tưởng cho các nhà phân tích và kỹ sư dữ liệu. Bài viết này sẽ hướng dẫn chi tiết cách tải dữ liệu, xử lý và phân tích dữ liệu y tế từ file CSV bằng Python. Tất cả được trình bày theo từng bước rõ ràng, phù hợp cho cả người mới bắt đầu lẫn những ai đã có kinh nghiệm.
Mô tả bài toán phân tích dữ liệu y tế
Bài toán đặt ra là phân tích một tập dữ liệu y tế chứa thông tin về bệnh nhân, bao gồm các trường như tuổi, giới tính, chỉ số sinh tồn, kết quả xét nghiệm và chẩn đoán bệnh. Mục tiêu là làm sạch dữ liệu, khám phá các mẫu (patterns), và xây dựng báo cáo trực quan để hỗ trợ bác sĩ trong việc ra quyết định lâm sàng.
Một ví dụ cụ thể là dự đoán nguy cơ mắc bệnh tim dựa trên các yếu tố như huyết áp, cholesterol, nhịp tim và tiền sử bệnh lý. Phân tích này có thể giúp xác định các nhóm bệnh nhân nguy cơ cao để can thiệp sớm.
Link tải dữ liệu CSV y tế
Để thực hành, bạn có thể sử dụng bộ dữ liệu y tế công khai từ Kaggle:
👉 Heart Disease UCI Dataset – Kaggle
Bộ dữ liệu này bao gồm thông tin của hơn 300 bệnh nhân, với 14 thuộc tính liên quan đến nguy cơ mắc bệnh tim. Dữ liệu có định dạng CSV và sẵn sàng để tải về và xử lý.
Cài đặt môi trường và thư viện cần thiết
Để bắt đầu, bạn cần cài đặt Python và các thư viện phổ biến để xử lý và phân tích dữ liệu. Các bước cài đặt có thể thực hiện thông qua pip:
pip install pandas numpy matplotlib seaborn scikit-learn
-
pandas: xử lý dữ liệu dạng bảng.
-
numpy: hỗ trợ tính toán số học hiệu suất cao.
-
matplotlib và seaborn: trực quan hóa dữ liệu.
-
scikit-learn: xây dựng các mô hình học máy.
Sau khi cài đặt, bạn có thể kiểm tra bằng cách import các thư viện trong Python:
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import classification_report, confusion_matrix
Phân tích dữ liệu y tế từ file CSV
Đọc dữ liệu và khám phá sơ bộ
Đầu tiên, đọc file CSV bằng pandas:
data = pd.read_csv("heart.csv")
print(data.head())
print(data.info())
Bước này giúp bạn hiểu cấu trúc dữ liệu, loại dữ liệu của từng cột và phát hiện giá trị thiếu.
Làm sạch dữ liệu
Các giá trị thiếu hoặc bất thường cần được xử lý trước khi phân tích. Ví dụ, loại bỏ hàng chứa giá trị null:
data = data.dropna()
Hoặc thay thế giá trị thiếu bằng trung bình:
data.fillna(data.mean(), inplace=True)
Phân tích thống kê và trực quan hóa
Khám phá phân phối các biến:
sns.histplot(data['age'], bins=20, kde=True)
plt.title('Phân phối độ tuổi bệnh nhân')
plt.show()
Xem mối quan hệ giữa các thuộc tính:

