机器学习 —— 总结
目录
https://blog.csdn.net/i_k_o_x_s/article/details/159694910?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/159929680?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/159995884?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/160083736?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/160087403?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/160087753?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/159807413?spm=1001.2014.3001.5502
https://blog.csdn.net/i_k_o_x_s/article/details/159696090?spm=1001.2014.3001.5502
一、KNN算法 (分类问题&回归问题)
#分类
from sklearn.neighbors import KNeighborsClassifier
#回归
from sklearn.neighbors import KNeighborsRegressor
思想: 近朱者赤近墨者黑
核心: 计算距离
1.曼哈顿距离
2.欧式距离
3.切比雪夫距离
4.闵氏距离
方案:
分类:多数表决
回归:算平均
二、线性回归 (回归问题)
from sklearn.linear_model import LinearRegression
#正规方程模型
from sklearn.linear_model import LinearRegression
#梯度下降法
from sklearn.linear_model import SGDRegressor
一元线性
y = wx + b (w:权重 b: 偏置)
多元线性
y = W转置*X + b
线性回归评估方案:
1.最小二乘
2.MSE/MAE/RMSE
from sklearn.metrics import (
mean_squared_error , #MSE 均方误差
mean_absolute_error, #MAE 平均绝对误差
root_mean_squared_error) #RMSE 均方根误差
前置概念: 误差 = 预测值 - 真实值
损失函数
回归损失最小:
1.正规方程(矩阵存在可逆)
2.梯度下降 W新 = W旧 - 学习率 * 梯度
导数 , 矩阵
三、逻辑回归 (二分类神器)
# 混淆矩阵
from sklearn.metrics import confusion_matrix
from sklearn.metrics import (
accuracy_score, # 准确率
recall_score, # 召回率
precision_score, # 精确率
f1_score # F1分数
)
思想:把线性回归的输出作为激活函数的输入,设置阈值完成分类
核心:sigmoid 二分类、 激活函数(深度学习)
目的:增加模型的非线性能力
分类模型评估:
1.混淆矩阵
2.准确率
3.精确率
4.召回率
5.F1-score
四、聚类算法 K-means (无监督学习算法)
#聚类算法
from sklearn.cluster import KMeans
#造数据
from sklearn.datasets import make_blobs
#CH指标 评估聚类算法的 CH数值越大,说明聚类效果越好
from sklearn.metrics import calinski_harabasz_score
1.K-means算法流程
<1> 选定 K个 质心点,几个质心点也就几个簇
<2> 算距离 ,每个样本点与质心点算距离,该样本点离哪个质心点近,就归于哪个簇
<3> 根据每个簇的样本点,内部重新计算新的聚类中心(平均值)
<4> 如果计算得出新的点 和 上一个质心点 位置一样,停止聚类。否则 <2>,<3>.
如果存在一个样本点和两个质心点的距离一样。随机分给一个簇 ..(后续 方法)
2.评估指标: CH 越大越好
五、特征工程
数据预处理
#切分数据集
from sklearn.model_selection import train_test_split
量纲问题
1.归一法
# 归一化
from sklearn.preprocessing import MinMaxScaler
2.标准法
# 标准化
from sklearn.preprocessing import StandardScaler
六、模型建模流程
1.准备数据
2.数据处理 缺失值 思考:是否存在量纲问题 _标准化 归一化
3.特征工程
4.模型训练
5.模型预测
6.模型评估
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)