Menu
CoddyTech

Khảo sát tại phòng khám

Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 64 trên 64.

Một phòng khám đã hỏi 48 bệnh nhân về lần khám của họ: tuổi, loại lần khám, số phút chờ và mức độ hài lòng, từ poor đến excellent. Tất cả đều nằm trong clinic.csv.

Điều gì ảnh hưởng đến mức độ hài lòng? Hai cột chứa văn bản nên hãy mã hóa chúng trước. Mức độ hài lòng có thứ tự, còn loại lần khám thì không:

Một hàng dữ liệu của bệnh nhân trước và sau khi mã hóa: tuổi 58, lần khám tái khám, thời gian chờ 30, mức độ hài lòng tốt trở thành tuổi 58, thời gian chờ 30, mức độ hài lòng 3, rồi 0, 1, 0 trong ba cột lần khám, tương ứng với khám định kỳ, tái khám và khám khẩn cấp

Vậy thì mọi cột đều là số, và một biểu đồ nhiệt thể hiện mối liên hệ giữa mọi thứ. Người quản lý cũng muốn có báo cáo theo từng loại lượt khám và tìm nhóm tuổi ít hài lòng nhất.

challenge icon

Thử thách

Khó

Chương trình đọc loại lượt khám. Làm tròn đến 2 chữ số thập phân.

  1. Ánh xạ mức độ hài lòng thành các giá trị từ 1 đến 4, mã hóa one-hot visit thành encoded (dtype=int), giữ lại các mối tương quan.
  2. Với loại lượt khám đó: số lượt khám, thời gian chờ trung bình và mức độ hài lòng trung bình, cùng tỷ lệ không hài lòng (2 trở xuống) trong nhóm và trên toàn bộ dữ liệu.
  3. Chia nhóm tuổi tại các mốc 17, 34, 54, 85 thành 18-34, 35-54, 55-85; in ra nhóm ít hài lòng nhất.
  4. Vẽ ma trận: dùng coolwarm từ -1 đến 1, kèm thanh màu, tên cột trên cả hai trục và tiêu đề Clinic Survey.

Với một phòng khám khác và urgent:

urgent: 16 visits, mean wait 30.44, mean satisfaction 2.44
Unhappy after urgent: 0.56 (overall 0.33)
Least satisfied: 35-54 (2.6)

Bản đồ nhiệt có tiêu đề Clinic Survey, kèm thanh màu từ -1 đến 1 và sáu tên cột trên cả hai trục: age, wait_min, satisfaction, visit_checkup, visit_follow-up, visit_urgent; đường chéo màu đỏ, wait_min và satisfaction tạo thành một cặp màu xanh đậm

Sau các dòng code của bạn, Coddy sẽ mô tả bản đồ nhiệt.

Tự làm thử

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

visit = input()
df = pd.read_csv("clinic.csv")

# Viết code của bạn bên dưới
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Thống kê cho machine learning

Tự luyện tập: Trình biên dịch Python online