19、编写 k - 近邻(k - NN)算法,并根据规则(左图 k = 1,中图 k = 5,右图 k = 10,空间中所有点根据给定规则着色,红色和蓝色类别标签分别为 +1 和 -1),使用位于 knn_data.csv 中的数据集进行数据处理和可视化,重现类似结果。
需编写 k - NN 算法代码,使用 knn_data.csv 数据集,按照规则(左图 k = 1,中图 k = 5,右图 k = 10,空间中所有点根据给定规则着色,红色和蓝色类别标签分别为 +1 和 -1)来重现结果。
20、下载poly_features模块和bullseye_data.csv数据集,将poly_features模块放入ova_fixed_basis包装器中,安装该模块后运行包装器。
从相应网站下载 poly_features
模块和 bullseye_data.csv
数据集,将 poly_features
模块放入 ova_fixed_basis
包装器中,安装该模块后运行包装器。
21、对位于2eggs_data.csv中的数据集进行k折交叉验证。首先将该数据集随机分成k = 3个大小相等的子集(保留2个子集作为训练集,1个子集作为测试集)。使用多项式基特征,M的取值范围为M = 2, 5, 9, 14, 20, 27, 35, 44(或同样地,D的取值范围为D = 1, 2, …, 8),并绘制一个图表,展示每个D对应的训练误差和测试误差,以及拟合数据的最佳(即平均测试误差最低)模型。
本题实现步骤如下:
- 加载位于
2eggs_data.csv
的数据集; - 将数据集随机分成 k = 3 个大小相等的子集,每次保留 2 个子集作为训练集,1 个子集作为测试集;
- 对于 D 取值范围 D = 1, 2, …, 8(对应 M 取值范围 M = 2, 5, 9, 14, 20, 27, 35, 44),使用多项式基特征训练模型并计算训练误差和测试误差;
- 绘制图表展示每个 D 对应的训练误差和测试误差;
- 找出平均测试误差最低的 D 值,得到最佳模型并拟合数据。
此外,可复用之前练习中的代码,如计算多项式特征、绘制曲线等函数。需注意,由于数据随机划分,结果可能会有所不同。
22、在本练习中,你需要编写K - 均值算法来完成以下任务。a) 将你的K - 均值代码放在函数[C, W] = your_K_means (X, K) (式9.25)中,该函数位于包装器kmeans_demo内(此包装器以及相关数据集kmeans_demo_data.csv可从指定网站下载)。这里C和W是算法输出的质心矩阵和分配矩阵,而X和K分别是数据矩阵和所需质心的数量。生成相关绘图所需的所有额外代码已在包装器中提供。b) 使用初始化质心矩阵C = [[0, 0], [-0.5, 0.5]],以K = 2个质心运行包装器。c) 使用初始化质心矩阵C = [[0, 0], [0, 0.5]],以K = 2个质心运行包装器。
本题要求编写K-均值算法代码完成以下任务:
1. 将K-均值代码放在指定函数并置于包装器 `kmeans_demo` 内;
2. 用初始化质心矩阵 `C = [[0, 0], [-0.5, 0.5]]`,`K = 2` 运行包装器;
3. 用初始化质心矩阵 `C = [[0, 0], [0, 0.5]]`,`K = 2` 运行包装器。
23、在本练习中,你将通过编写主成分分析(PCA)代码来重现特定结果。a) 实现使用奇异值分解的PCA方法,将代码放在函数 [C, W] = your_PCA (X, K) 中,这里C和W是算法输出的生成集和权重矩阵,而X和K分别是数据矩阵和所需基元素的数量。同时,有一个包装器PCA_demo以及相关数据集PCA_demo_data.csv,将该函数放在此包装器内。包装器中已经提供了生成相关绘图所需的所有额外代码。运行包装器以确保你正确编写了PCA代码。b) 使用a部分的包装器和数据,实现PCA交替方向解法,再次将此代码放在前面提到的your_PCA函数中。
下面是给定的【文本内容】:需要按照要求完成以下操作:
1. 实现基于奇异值分解的PCA方法,将代码置于 `[C, W] = your_PCA(X, K)` 函数中,该函数在 `PCA_demo` 包装器内,并获取数据集 `PCA_demo_data.csv`。运行包装器验证代码正确性。
2. 利用 a 部分的包装器和数据,实现 PCA 的交替方向解法,代码也放在 `your_PCA` 函数中。
</markdown>
##24、编写一个交替最小化算法,并将生成的代码放在函数[C, W] = matrix_complete (X, K) 中,该函数位于包装器recommender_demo内(此包装器和相关数据集recommender_demo_data.csv可从指定网站下载)。这里,C和W是算法输出的生成集和权重矩阵,而X和K分别是数据矩阵和所需基元的数量。运行包装器,以确保你正确编写了矩阵补全算法的代码。
- 按照要求编写交替最小化算法代码,放入指定函数
- 将函数置于包装器 `recommender_demo` 内
- 从