Menu
CoddyTech

复习:A/B 测试

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

challenge icon

挑战

中等

一家商店向 30 位访客展示了页面 A 或 B。哪个更好,还是只是运气?ab.csv 中有 version、seconds 和 pages;程序会读取一个 column。

  1. 打印两个平均值。
  2. 通过置换检验(先合并 A 的数据,不进行其他抽样)和 t 检验,检验 B 的平均值减去 A 的平均值。
  3. 只有当 B 的值更高,且置换检验的 p 值低于 0.05 时,才发布 B(yes、up by)。
  4. 绘制 A 和 B 的箱线图:x 轴标签为 Version,y 轴标签为列名,标题如下。

平均值四舍五入到小数点后 2 位,p 值四舍五入到小数点后 3 位。另一家商店的数据,seconds:

Mean seconds: A 61.25, B 63.83
Ship version B: no, seconds changed by 2.58 (p = 0.675, t-test 0.672)

然后 Coddy 会介绍这张图,图表如下所示:

图表标题为 A/B Test: seconds,x 轴标签为 Version,y 轴标签为 seconds;有两个高度大致相同的箱线图,分别名为 A 和 B,中位数接近 65,A 有两个离群点,分别位于 38 和 86

亲手试试

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats

visits = pd.read_csv("ab.csv")
column = input()
# 不要修改下面的代码行
rng = np.random.default_rng(3)
shuffles = 1000

# 在下面编写你的代码

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

自己练习: Python 在线编译器