诊所调查
本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 64 课,共 64 课。
一家诊所询问了 48 位患者的就诊情况:年龄、就诊类型、等待时间(分钟)和满意度,从 poor 到 excellent。所有数据都在 clinic.csv 中。
哪些因素会影响满意度?有两列是文本,因此先对它们进行编码。满意度有顺序,就诊类型没有:
这样,每一列都是数字,一张热力图就能显示所有内容之间的关系。经理还想按就诊类型分别生成报告,并找出满意度最低的年龄组。
挑战
困难程序会读取一种就诊类型。结果保留 2 位小数。
- 将满意度映射为 1 到 4,将
visit独热编码到encoded中(dtype=int),并保留其相关性。 - 对于该就诊类型,输出就诊次数、平均等待时间和平均满意度,以及其中不满意(2 或更低)的比例和总体比例。
- 按照 17、34、54、85 作为分箱边界,将年龄分为
18-34、35-54、55-85,并输出满意度最低的年龄组。 - 绘制矩阵:使用范围为 -1 到 1 的
coolwarm色图,添加颜色条,在两个坐标轴上显示列名,标题设为Clinic Survey。
换一家诊所并输入 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)写完代码后,Coddy 会描述你的热力图。
亲手试试
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
visit = input()
df = pd.read_csv("clinic.csv")
# 在下方编写你的代码
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
机器学习统计学中的所有课
自己练习: Python 在线编译器