机器学习算法

1. KNN算法(K近邻算法):N个最近相邻的样本;

2. 线性回归:

均方误差MSE、均方根误差RMSE、平均绝对值误差MAE;

3. 逻辑回归:

准确率(预测正确的样本数量/样本总数)、

精确率(Precision 预测为正样本中的真实正样本数/预测为正样本的样本数-"抓的所有人中真正坏人占抓住的所有人的比例")、

召回率(recall 预测为正样本中的真实正样本数/真实正样本数-"所有坏人中被抓住的坏人")、

F1-Score(2精确率召回率/(精确率+召回率));

面试题:精确率原理是什么?:其来源于混淆矩阵:FP、FN、TP、TN(P-Positive正例、N-Negative反例、F-False假的、T-True真的)FP伪正例、FN伪反例、TP真正例、TN真反例:第一位是预测对错、第二位是预测结果:如 FP是预测错了的 正例 -伪正例,实际上是反例;

4. 决策树:

ID3树、CART树(一定是二叉树)、C4.5;

信息增益(ID3)、信息增益率值(C4.5)越大,则说明优先选择该特征;基尼指数值越小(CART),则说明优先选择该特征。

5. 集成学习:

复制代码
Bagging:随机森林算法RF (Random Forest)
Boosting:
	(1)AdaBoost算法;
	(2)GBDT:①提升树 BDT(Boosting Decision Tree)、
		②梯度提升树 GBDT(Gradient Boosting Decision Tree)、
		③️XGBoost;

随机森林和XGBoot的区别:

随机森林是 Bagging 并行树,依靠随机采样降低方差,模型稳定、不易过拟合;

XGBoost 是 Boosting 串行树,不断拟合残差,自带 L1/L2 正则,支持缺失值自动处理,预测精度更高,但更容易过拟合,需要仔细调参。

6. 聚类Kmeans算法

6.1 Kmeans算法原理:

复制代码
(1)K值的含义:聚成几类;
(2)K值选择方法:肘部法则-SSE 变化过程中会出现一个拐点,下降率突然变缓时即认为是最佳 n_clusters 值;
(3)Kmeans实现流程:①事先确定常数K,常数K意味着最终的聚类类别数;②随机选择 K 个样本点作为初始聚类中心;③计算每个样本到 K 个中心的距离,选择最近的聚类中心点作为标记类别;④根据每个类别中的样本点,重新计算出新的聚类中心点(平均值),如果计算得出的新中心点与原中心点一样则停止聚类,否则重新进行第 3 步过程,直到聚类中心不再变化或达到最大迭代次数;
(4)API:klearn.cluster.KMeans(n_clusters=8);

6.2 聚类评估方法:

复制代码
(1)SSE:簇内误差的平方和;SSE越小,聚类效果越好;
(2)SC轮廓系数:综合考虑簇内的内聚程度与簇间的分离程度;SC越大,聚类效果越好;
(3)CH轮廓系数:综合考虑簇内的内聚程度、簇间的分离程度、质心的个数;CH越大,聚类效果越好;