开始使用免费开始使用

调整窗口大小

您想亲自验证心律失常数据集的最优窗口大小为 50。您已获得名为 arrhpandas 数据框,并希望使用截至时间 t_now 的数据子集。您的测试数据为 X_testy_test。您将尝试多个窗口大小,范围从 10 到 100,对每个窗口拟合一个朴素贝叶斯分类器,在测试数据上评估其 F1 分数,然后选择表现最佳的窗口大小。您也可以使用 numpy(已作为 np 导入),并且函数 f1_score() 已经导入。最后,已为您初始化一个名为 accuracies 的空列表,用于存储各窗口的准确度。

本练习是课程的一部分

用 Python 设计机器学习工作流

查看课程

练习说明

  • 使用 .loc() 方法,定义一个在 t_now 处停止、大小为 w_size 的滑动窗口的索引。
  • 从该滑动窗口构造 X,方法是移除 class 列。将该列单独存为 y
  • Xy 拟合一个朴素贝叶斯分类器,并用它对测试数据 X_test 的标签进行预测。
  • 计算每个窗口大小对应预测的 F1 分数,并找出表现最好的窗口大小。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Loop over window sizes
for w_size in wrange:

    # Define sliding window
    sliding = arrh.____[____:t_now]

    # Extract X and y from the sliding window
    X, y = sliding.____('class', ____), sliding[____]
    
    # Fit the classifier and store the F1 score
    preds = GaussianNB().fit(____, ____).____(X_test)
    accuracies.append(____(____, ____))

# Estimate the best performing window size
optimal_window = ____[np.____(accuracies)]
编辑并运行代码