相关性
本课属于 Coddy Machine Learning 学习旅程的“机器学习统计学”单元。第 30 课,共 64 课。
随目标一起变化的特征有助于模型预测目标。相关系数 r 用于衡量两列数据沿直线变化的紧密程度,取值范围为 -1 到 1:
一家商店 6 周的广告和销售额:np.corrcoef 返回一个 2×2 的表,列出每个数组与另一个数组的相关性,其中 r 位于 [0, 1]。列的 .corr 方法会直接返回相关系数:
ads = np.array([100, 200, 150, 300, 250, 50])
sales = np.array([430, 520, 560, 760, 610, 410])
print(np.round(np.corrcoef(ads, sales), 2))
shop = pd.DataFrame({"ads": ads, "sales": sales})
print(np.round(shop["ads"].corr(shop["sales"]), 2))这会打印:
[[1. 0.94]
[0.94 1. ]]
0.94在 0.94 时,广告更多的周显然销量也更高。
挑战
中等一家健身房用 gym.csv 记录了 20 位会员三个月的数据,列包括 visits、classes、minutes_per_visit、age 和 weight_change_kg。程序会读取两个列名。
- 按如下格式输出这两个名称及其
r,四舍五入到 2 位小数。 - 当
r大于 0.3 时,输出Direction:positive;小于 -0.3 时,输出negative;其他情况输出none。
对于一家游泳俱乐部的 laps 和 minutes:
laps and minutes: r = 0.95
Direction: positive亲手试试
import numpy as np
import pandas as pd
gym = pd.read_csv("gym.csv")
first = input()
second = input()
# 在下方编写你的代码
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
机器学习统计学中的所有课
自己练习: Python 在线编译器