多项式特征构建与梯度下降实验

多项式特征与梯度下降实验分析

42、使用一般的D次多项式对输入进行变换。编写一个函数 F = poly_features (X, D) 作为包装器来实现此特征变换。这里X是输入数据,D是多项式特征的次数,F是输入对应的D次特征变换(注意代码应能够将输入变换为任意所需的D次)。

从概念上,可根据多项式特征的定义构建代码,对于二维输入数据,D次多项式特征包含所有幂次之和小于等于D的项。示例Python代码框架如下:

import numpy as np

def poly_features(X, D):
    # 获取输入数据的样本数和特征数
    n_samples, n_features = X.shape
    # 初始化特征矩阵
    F = []
    # 遍历每个样本
    for i in range(n_samples):
        sample_features = []
        # 生成所有幂次之和小于等于D的项
        for d in range(D + 1):
            for j in range(d + 1):
                term = (X[i, 0]**(d - j)) * (X[i, 1]**j)
                sample_features.append(term)
        F.append(sample_features)
    # 将特征列表转换为数组
    F = np.array(F)
    return F

43、尝试在包装器中调整多项式次数 D 并多次运行。除了 D = 2 之外,是否有其他 D 值似乎能很好地拟合数据?

未发现除 D = 2 外其他能很好拟合数据的 D 值

44、对位于2eggs_data.csv中的数据集进行留出法交叉验证。首先将该数据集随机分成k = 3个大小相等的子集,保留2个子集作为训练集,1个子集作为测试集。使用多项式基特征,M的取值范围为M = 2, 5, 9, 14, 20, 27, 35, 44(或者等效地,D的取值范围为D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值