机器学习中的交叉验证、线性回归与提升算法
1. 交叉验证与参数调优
在机器学习中,决策树模型可能会出现过拟合数据的情况。为了判断预测是否过拟合,我们可以使用交叉验证的方法。其中,k - 折交叉验证是一种常用的技术,它可以帮助我们选择最适合训练数据的参数值。
1.1 k - 折交叉验证原理
在 k - 折交叉验证中,我们将训练集划分为 k 个近似相等大小的子集(每个子集是一组示例)。对于每个子集,我们使用其他子集的数据进行训练,并确定该子集上预测的误差。例如,如果有 10 个子集,我们使用 90% 的数据进行训练,然后在剩余 10% 的数据上进行测试。这样做 10 次,使得每个示例都作为测试集使用一次,作为训练集使用 9 次。
1.2 代码实现
以下是实现 k - 折交叉验证的代码:
from learnProblem import Data_set, Data_from_file, Evaluate
from learnNoInputs import Predict
from learnDT import DT_learner
import matplotlib.pyplot as plt
import random
class K_fold_dataset(object):
def __init__(self, training_set, num_folds):
self.data = training_set.train.copy()
self.target = training_set.target
超级会员免费看
订阅专栏 解锁全文
3458

被折叠的 条评论
为什么被折叠?



