开始使用免费开始使用

特征变换

您正与银行经理讨论信用数据集。她提出,最安全的贷款申请通常会请求中等范围的授信金额。数值过低或过高都意味着高风险。这表明该变量与类别之间可能存在非线性关系。您想要检验这个假设。您将对该特征进行一次非线性变换。随后,您将使用已预加载的 SelectKBest()chi2() 指标来评估哪个特征更有助于预测类别。

数据以 pandas DataFrame 的形式提供,名为 credit,类别变量位于 class 列。您还已预加载 pandaspdnumpynp

本练习是课程的一部分

用 Python 设计机器学习工作流

查看课程

练习说明

  • 定义一个函数:将数值向量中的每个值与该向量平均值的绝对差作为变换结果。
  • 将此变换应用到数据集的 credit_amount 列,并将结果存入名为 diff 的新列。
  • 创建一个 SelectKBest() 特征选择器,使用 chi2() 指标在 credit_amountdiff 两列中选出 1 列。
  • 查看结果。

交互式实操练习

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

# Function computing absolute difference from column mean
def abs_diff(x):
    return ____(x-____)

# Apply it to the credit amount and store to new column
credit['diff'] = ____

# Create a feature selector with chi2 that picks one feature
sk = ____(chi2, ____)

# Use the selector to pick between credit_amount and diff
sk.fit(____, credit['class'])

# Inspect the results
sk.____()
编辑并运行代码