您的位置:首页 > 其它

2020-08-28

2020-08-28 22:31 127 查看

第三章 模型搭建和评估–建模

  1. 导入库
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import seaborn as sns
    from IPython.display import Image 在IPython笔记本中显示文件中的图像
  2. plt.rcParams[‘font.sans-serif’] = [‘SimHei’] # 用来正常显示中文标签
    plt.rcParams[‘axes.unicode_minus’] = False # 用来正常显示负号
    plt.rcParams[‘figure.figsize’] = (10, 6) # 设置输出图片大小
    plt.rcParams参数详解
    字体
    plt.rcParams[‘font.family’] = ‘YaHei Consolas Hybrid’ # 设置字体样式
    plt.rcParams[‘font.size’] = ‘16’ # 设置字体大小
    样式
    plt.rcParams[‘font.stretch’] = ‘normal’
    plt.rcParams[‘font.style’] = ‘normal’
    plt.rcParams[‘font.variant’] = ‘normal’
    plt.rcParams[‘font.weight’] = ‘normal’
  3. 模型搭建
    处理完数据进行建模,需要先知道数据集最终是进行监督学习还是无监督学习。根据任务以及数据样本量以及特征的稀疏性来决定。比如使用机器学习最常用的一个库(sklearn)。

4. 切割训练集和测试集

将数据集分为自变量和因变量
按比例切割训练集和测试集(一般测试集的比例有30%、25%、20%、15%和10%)
使用分层抽样
设置随机种子以便结果能复现
切割数据集目的是为了后续能评估模型泛化能力;
sklearn中切割数据集的方法为train_test_split

5. 模型创建

创建基于线性模型的分类模型(逻辑回归)
创建基于树的分类模型(决策树、随机森林)
分别使用这些模型进行训练,分别的到训练集和测试集的得分
查看模型的参数,并更改参数值,观察模型变化

6. 输出模型预测结果

  1. 加载库 import pandas as pd
    import numpy as np
    import seaborn as sns
    import matplotlib.pyplot as plt
    from IPython.display import Image
    from sklearn.linear_model import LogisticRegression
    from sklearn.ensemble import RandomForestClassifier

  2. 加载数据并分割测试集和训练集

9. 模型评估

模型评估是为了知道模型的泛化能力。
交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。
在交叉验证中,数据被多次划分,并且需要训练多个模型。
最常用的交叉验证是 k 折交叉验证(k-fold cross-validation),其中 k 是由用户指定的数字,通常取 5 或 10。
准确率(precision)度量的是被预测为正例的样本中有多少是真正的正例
召回率(recall)度量的是正类样本中有多少被预测为正类
f-分数是准确率与召回率的调和平均

  1. 交叉验证 其在sklearn中的模块为sklearn.model_selection
  2. 混淆矩阵 混淆矩阵的方法在sklearn中的sklearn.metrics模块
    混淆矩阵需要输入真实标签和预测标签
    精确率、召回率以及f-分数可使用classification_report模块
  3. ROC曲线 ROC曲线在sklearn中的模块为sklearn.metrics
    ROC曲线下面所包围的面积越大越好
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: