本文已参与「新人创作礼」活动
1.交叉验证
交叉验证:测试模型泛化能力 解释:得到的拟合程度->模型的真实水平->分类能力 变换各种方式测试模型->泛化能力
交叉验证的种类:
简单的训练集和测试集切分 | 标准K折 | 分层K折 | 留一法交叉验证 | 随机排列交叉验证 | |
---|---|---|---|---|---|
实现方式 | 直接划分 | 将数据分成n段,训练K次,每次训练取一段作为测试测试数据,n-1段作为训练数据 | 将数据分成K段,训练K次,每次训练取一段作为测试测试数据,K-1段作为训练数据 | 测试集只有一个样本,其余作为训练集,对所有样本进行训练 | 随机划分多次 |
效果 | 测试集覆盖范围较少(一般为20%),这种情况有漏洞 | 测试样本全覆盖,但仍然受到取样的影响 | 每折里不同类别的分布与整体分布一样,充分训练,充分测试,受取样的影响较小 | 减少取样带来的偏差,模型的边界会尽可能平滑,样本数过多训练和测试的时间会很大 | 增大了取样的随机性,减少了取样带来的偏差 |
2.贝叶斯实现垃圾邮件分类
流程: (1)算概率表(条件概率):正常邮件中每个词出现的概率P(词|正)和垃圾邮件中每个词出现的概率P(词|垃)。 (2)贝叶斯推导:将一封新邮件拆分为词的集合
3.sklearn中贝叶斯分类器使用场景
GaussianNB | MultinomialNB | BernoulliNB | |
---|---|---|---|
满足条件 | 满足高斯分布 | 满足多项式分布 | 满足二项分布 |
对比 | 样本特征的分布大部分是连续值 | 样本特征的大部分是多元离散值 | 样本特征是二元离散值或者很稀疏的多元离散值 |
4.KNN、贝叶斯、决策树三种分类算法的异同
KNN | 贝叶斯 | 决策树 | |
---|---|---|---|
操作 | 和每个样本点比较 | 计算概率 | 根据基尼系数或信息熵建立决策树树 |
拟合程度 | 可调(K值) | 易欠拟合 | 易过拟合 |
超参数 | K,P | 无参数 | 剪枝参数 |
优点 | 训练快(实际上根本不用训练) | 不过拟合(结果由概率决定) | 预测快(预测时相当于if-else) |
缺点 | 预测慢(要比较所有的数据) | 易欠拟合 | 易过拟合 |
5.使用鸢尾花花瓣长和花瓣宽实现决策树的训练过程
1)选特征:计算每一个特征(花瓣长和花瓣宽)对应的信息熵或基尼系数
(1)选取一个特征,进行等分或样本点进行分割
(2)针对每个分割点计算基尼系数
(3)选取最小的基尼系数和分割点作为这个特征的分支条件,分割点决定结点的分隔值,重复迭代
2)截止条件:限定树的深度