机器学习基本流程

机器学习的开发基本流程:

1、数据加载

使用pandas函数

# 查看数据类型/缺失情况
df.info()

# 查看数据的分布
df.describe()  

# 目标值类别占比,做统计
df['目标名称'].value_counts()

2、数据基本处理

空值,异常值,缺失值的处理

# 一次性计算所有列的缺失情况
df.isnull().sum()

# 删除缺失值
df.dropna() 

# 填充缺失值
df.fillna() 

3、特征工程

我们做特征工程的最终目标是模型表现要超过基线模型,目的是挑选/构造出区分度好和目标相关性强/ 对目标值的区分能力比较强的特征。

特征编码

# one-hot编码
pd.get_dummies()

# 顺序编码
skearn labelEncoder()

特征筛选

        特征降维

# 删除低方差特征
from sklearn.feature_selection import VarianceThreshold

特征缩放

# 归一化  
from sklearn.preprocessing import MinMaxScaler
# 标准化
from sklearn.preprocessing import StandardScaler

特征的系数:df.corr()

关于集成学习输出特征重要性feature_importance

4、模型训练

测试集训练集数据划分

from sklearn.model_selection import train_test_split
# test_size 训练集测试集占比,random_state 随机数种子
X_train, X_test, y_train, y_test = train_test_split(features,target,test_size=0.3,random_state=42)

超参数搜索 交叉验证网格搜索

from sklearn.model_selection import GridSearchCV

使用模型:KNN,线性回归,逻辑回归,决策树,朴素叶贝斯等等

创建对象, 使用训练集fit  测试集predict

5、模型评估

sklearn.metrics

样本分布均衡

        准确率accuracy_score

        混淆矩阵:代码模型如下

from sklearn.metrics import confusion_matrix

        精准率 TP/TP+FP

from sklearn.metrics import precision_score

        召回率 TP/TP+FN

from sklearn.metrics import recall_score

        f1_score  2 精准率 * 召回率/ 精准率 + 召回率

from sklearn.metrics import f1_score

        ROC曲线 AUC指标

                TRR  TP/TP+FN

                FRR FP /FP+ TN

                 AUC指标  取值范围 0.5 ~ 1

回归问题:

MAE 绝对平均误差

from sklearn.metrics import mean_absolute_error

MSE 均方误差

from sklearn.metrics import mean_squared_error

RMSE 均方根误差:对MSE开根号处理

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值