目录

一、KNN算法 (分类问题&回归问题)

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

四、聚类算法 K-means   (无监督学习算法)

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.模型评估

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐