对数据集的处理

经过预处理后得到:
  • 特征集X
  • 目标集Y
将特征集拆分;
  • 一般来说机器学习的数据集都会被划分成三个个子集:训练集,验证集和测试集;
  • 我们拿到的数据集通常都是由人工或者半自动化的方式收集来的,每个输入数据都有对应的输出,机器学习要做的是学习这些已经收集好的数据中所包含的信息,并且在新的输入数据出现时成功预测到输出;
    • 训练集是用来训练模型的,给模型输入和对应的输出,让模型学习它们之间的关系;
    • 验证集是用来估计模型的训练水平。根据验证集的表现来选择最好的模型;
    • 测试集是训练好的模型在模拟的“新”输入数据上得到的输出。测试集只能在最后用于测试模型的性能,不能拿来训练。用于评价模型泛化能力的强弱;
  • 比较常见的划分数据集的方式是:50%用于训练,25%用于验证,25%用于测试。这个比例也可以根据数据集的大小和数据信噪比来改变;
拆分方式

使用Scikit-learn库拆分数据集

from sklearn.model_selection import train_test_splitX_train, X_test, Y_train, X_test = train_test_split(train_data, train_target, test_size=0.4,  random_state=0)

其中:

  • train_data:所要划分的样本特征集;
  • train_target:所要划分的样本结果;
  • test_size:
    • 小数表示拆分出的测试集所占整体比例;
    • 整数表示拆分出测试集的总体数量;
  • random_state:随机数种子;
    • 表示随机数组的编号,在需要重复实 验时可以通过相同的随机数种子保证得到相同的随机数组;
    • 不传该参数时默认值为False,此时相同的切分比例下得到的结果也不同;

模型训练过程

  • 给定训练集;
  • 建立模型(模型假设)
  • 损失函数(误差函数)
    • 最优模型,即真实值和预测值之间的误差最小;
    • 从样本数据集中习得最优模型的算法,即最小化损失函数的算法称为学习算法;
梯度下降法
  • 一种迭代算法,常用于求解无约束最优化问题;
  • 算法过程:
    • 任意选取一个参数初值ω_0;
    • 不断迭代更新得到新的参数,使损失函数的函数值逐步降低;
    • 重复以上迭代过程直至两次迭代的函数值基本没有变化,此时认为损失函数(L)收敛到最小值,迭代结束;
编程中实现方法

使用Scikit-learn库中的线性回归模型;

  • sklearn.linear_model模块中的LinearRegression类

    from sklearn.linear_model import linearRegressionLr = LinearRegression()
    Lr.fit(X_train, Y_train)
    # 训练模型XY_test = X_test[:5].copy()
    XY_test["Y"] = Y_test[:5]
    XY_test["Y_predict"] = Lr.pridect(X_test[:5])
    

机器学习中对数据集进行拆分及模型训练相关推荐

  1. Dataset:机器学习中常用数据集下载链接集合之详细攻略

    Dataset:机器学习中常用数据集下载链接集合之详细攻略 目录 机器学习中常用数据集下载链接集合之详细攻略 sklearn.datasets数据集所有csv文件集合 seaborn-data数据集所 ...

  2. R语言使用keras包实现卷积自动编码器模型(Convolutional Autoencoder)、加载keras自带的mnist数据集、训练中动态生成每个epoch后模型训练的loss曲线

    R语言使用keras包实现卷积自动编码器模型(Convolutional Autoencoder).加载keras自带的mnist数据集.训练中动态生成每个epoch后模型训练的loss曲线 目录

  3. 机器学习中的不平衡分类方法(part2)--模型评估与选择

    学习笔记,仅供参考,有错必纠 参考自:<机器学习中的不平衡分类方法>-- 康琦,吴启迪 文章目录 模型评估与选择 训练误差与测试误差 过拟合与欠拟合 模型选择 评估方法 模型评估与选择 训 ...

  4. 机器学习中的DCGAN-Tensorflow:用于更稳定的训练

    https://www.toutiao.com/a6666031263536644621/ 自从Ian Goodfellow的论文以来,GAN已应用于许多领域,但其不稳定性一直存在问题.GAN必须解决 ...

  5. 机器学习中的数据集划分问题

    留出法(hold-out) 使用 n:m and n + m =1 的形式对原数据进行分割,例如 train : test = 7 : 3 or train : test = 6.5 : 3.5 但是 ...

  6. 机器学习中的数据集切分

    文章目录 1. 常规切分思路 2. Scikit-Learn内置的切分函数 1. 常规切分思路 应用有监督的机器学习算法时,需要将数据集切分成训练数据集和测试数据集两部分.在<Handson M ...

  7. 【机器学习算法专题(蓄力计划)】十五、机器学习中玄乎的最大熵原理及模型

    文章目录 玄乎的"最大熵原理" 最大熵原理 最大熵模型 对特征函数的进一步理解 一种简单的特征函数设计 最大熵模型小结 玄乎的"最大熵原理" 下面我来尝试解释一 ...

  8. UAVDT数据集转化为MOT数据集(用作MOTR模型训练)

    文章目录 UAVDT数据集转化为MOT数据集 MOT17 数据集格式 train det.txt gt.txt seqinfo.ini test det.txt UAVDT 1. 自行创建下面文件夹路 ...

  9. 机器学习中,有监督与无监督训练的区别与联系

    简单来说,是否有监督,就看输入是否有标签(label).监督学习即通过已有的训练样本来训练,从而得到一个最优模型,再利用这个模型将数据样本映射为相应的结果.例如:分类,回归各种算法,SVM, KNN, ...

最新文章

  1. Java面试题之Oracle 支持哪三种事务隔离级别
  2. 柱形图无数据可选中_在Excel工作表中插入一个三维柱形图
  3. 第5章 IDA Pro
  4. leetcode 刷500道题,笔试/面试稳吗?谈谈算法的学习
  5. Ajax技术的一些总结
  6. perl:非贪婪的数量词
  7. node.js 与 nvm安装教程
  8. Win10系统下LaserJet Pro MFP M227sdn无法自动双面打印问题解决
  9. 计算机科学期刊重复率要求,计算机科学与应用期刊
  10. 软件需求的薛定谔之猫
  11. 在anti-spoofing中,在OULU数据集上求APCER,BPCER,ACER上的一个注意事项
  12. ECS服务器10M带宽能让多少人同时访问?
  13. 【安全防御】防火墙(二)
  14. 一个木函工具桌面测试版,支持Linux MacOS Windows
  15. 每日一题-Acwing2058笨拙的手指-位运算-枚举
  16. 【总结】明星产品slogan
  17. Python开发过哪些知名网站和游戏?
  18. arduinouno组装无人机_Arduino UNO四自由度机械臂制作
  19. C#生成年月日三级目录
  20. unitoy机器人怎么联网_unitoy智能机器人配网

热门文章

  1. Openstack 对象存储服务之争:Ceph或者Swift
  2. Unix/Linux编程:POSIX时钟
  3. Web的相关概念及BC、CS结构
  4. 04.TFT_RGB接口时序分析
  5. 实战整理-阿里天池淘宝用户购物行为数据集实战(MySQL数据分析+Navicat)
  6. unity VR实现相机完美旋转
  7. 秀技能:倒立及其他没用的
  8. 重装系统后安装的软件
  9. Linux设备驱动子系统第二弹 - SD卡
  10. 操作系统概念_第六章_进程同步