Menu
CoddyTech

空气质量

本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 62 课,共 64 课。

一座城市想快速预测细颗粒物 PM2.5 的情况。街道传感器在 air.csv 中记录了 40 天的数据:

40 天内每日 PM2.5 的折线图,数值在约 16 到 61 之间波动,每天都高于标有 WHO 每日指导值的 15 虚线

每一行都记录了一天的风速、温度、湿度、交通情况和 pm25。其中一个指标比其他指标更能反映粉尘情况。

找出它,为它拟合一条直线,并说明你能在多大程度上信任它:它能解释多少、主要在哪些地方存在偏差,以及预测何时会脱离数据。

challenge icon

挑战

困难

程序会读取最佳特征在新一天的值。将结果四舍五入到小数点后 2 位。

  1. 忽略正负号,打印与 pm25 的 r 值相关性最强的特征,以及它带符号的 r 值。
  2. 拟合一条直线。打印直线方程、R 平方值,以及误差最大的行和该行的残差。
  3. 根据输入值进行预测,并在该值超出特征数据范围时发出警告。
  4. 绘制散点和红色直线,直线从最小值延伸到最大值:标题为 Air Quality,横轴为该特征,纵轴为 PM2.5。

对于另一个城市,输入 8:

Best feature: traffic_k (r = 0.86)
Line: pm25 = 1.11 * traffic_k + 13.67
R squared: 0.73
Largest miss: row 14 (residual 11.15)
Prediction at 8.0: 22.57
Warning: outside the data

一张标题为 Air Quality 的散点图,横轴为 traffic_k,纵轴为 PM2.5,30 个散点向右上方延伸,红色拟合直线穿过这些散点

完成代码后,Coddy 会描述你的图表。

亲手试试

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

value = float(input())
df = pd.read_csv("air.csv")

# 在下方编写你的代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

机器学习统计学中的所有课

自己练习: Python 在线编译器