设特征数为d(连续),样本总数为n,种类数为m
KNN | 贝叶斯 | 决策树 | |
训练 | 不需要训练 (模型即为训练的数据) 时间复杂度:O(1) | 需要 (用于计算分布参数) 时间复杂度O(n*d) | 需要 (用于生成决策树) 时间复杂度:O(d*n*log2n) |
预测 | 需要 (用于计算新样本与训练集中每一个样本的距离) 时间复杂度:O(d*n) | 需要 (根据贝叶斯公式反推后面的条件概率) 时间复杂度:O(m*d) | 需要 (根据分支去算) 时间复杂度:O(log2n) |
拟合 | 拟合度可调节 | 容易出现欠拟合 | 用以出现过拟合 |
超参数 | K,P | 无 | 剪枝参数 |
注:1、贝叶斯计算分布参数时可用高斯正态分布,多项式分布,和伯努利分布,其适用范围如下:
1)、GaussianNB适用特征为高斯分布的连续量。特征数据符合高斯正态分布
2)、MultinomialNB适用特征为2个以上离散量,。特征数据符合多项式分布
3)、BernoulliNB适用特征只有2个状态,特征数据符合伯努利分布
2、训练决策树时,是根据信息熵和基尼系数来生成决策树的
3、在你中有我,我中有你的情况下,决策树易出现过拟合
4、在预测时,贝叶斯和决策树计算量要小于KNN 的计算量
5、剪枝参数用于控制过拟合,但不能使决策树不过拟合,因为过拟合是决策树的天然属性,决策树的切法只能横竖切割。
剪枝参数有max_depth(用于限制树高),max_leaf_nodes(用于限制最大叶子节点数),min_samples_split(用于限制最小分割样本数),min_sample_leaf(用于限制最小叶子样本数)