在python的世界中,科学计算和机器学习的标配就是:sklearn+numpy+pandas+scipy+matplotlib,其中numpy和pandas的作用大同小异,scipy主要是仿真计算中包含了很多有用的数学函数,matplotlib模块主要是做数据的可视化工作,比如在机器学习中经典的分类和聚类问题中,通过数据的可视化手段可以实现直观的观察到样本数据的分类或者聚类情况,从而调整阈值或者其他参数信息,为模型的训练和优化提供了很好的调整依据。sklearn模块的话相信很多人都使用过,这个模块里面几乎囊括了所有的常见的机器学习方法,特征工程方法,可以说是一个入手机器学习实践的不二选择,真的很强大,虽然相对于深度学习的一些框架诸如:TensorFlow、Theano、Kreas等尚存在一定的差距,但是就机器学习的算法本身而言已经足够出色了。

在sklearn官网可以找到所有你需要的介绍

sklearn内置了几乎所有常用的机器学习算法,但是这并不意味着这个很容易掌握和使用,每一个模型或者函数都有很多参数需要设置,想要熟练掌握的话,必然离不开官方文档的帮助,遇上问题要先看文档

看不懂或者不喜欢英文没关系这里是中文手册

sklearn的安装可以参考这里

写这篇博文的目的不在于仔细去讲解sklearn的使用方法也不是说特征工程的相关方法,而是我在学习的时候发现很多最开始以为是机器学习的问题的时候可能做了一段时间后却发现是数据挖掘的问题,让人突然觉着本末倒置的感觉,都说工欲善其事必先利其器,这是真的,现在的很多问题都不是单纯的特征工程+机器学习的解决思路,更多的是一个数据挖掘的问题,但是我自己也是一个门外汉,并不是很懂这些,在我看来:

一个数据挖掘的整体流程,主要包括

如何定义好自己的问题
数据的分析、处理
机器学习模型的训练和测试
模型的自学习、优化、更新

而在实现时,通俗的讲为:

对数据进行各种预处理(抽样,去噪等)
特征抽取与量化
训练模型
利用模型对预测数据进行预测
根据预测结果计算精度以及其他的衡量指标包括:准确率、召回率、F值、ROC曲线等

之前我的一篇博文python实现完整的特征工程,实践论文中的分类模型和方法用于恶意页面的分类与识别已经讲到了我做过的一些事情,不过主要是集中在了特征工程这里,但是没有给出来sklearn之后具体的模型使用方法,这里我在网上找到了一个可以参考的使用方法,很简单,但是解决了需要解决的问题。

相信这是一个很好的工具,不过真正使用好离不开文档,强烈建议无论遇上什么问题都要多看勤看文档,相关的参考链接都在上面给出来了。

python+sklearn利用特征文件来训练和测试模型并使用joblib方法持久化存储模型相关推荐

  1. 记录关于利用txt文件划分训练集、测试集与验证集

    利用txt文件划分训练集.测试集与验证集 在基于深度学习的目标检测任务中,往往需要将数据图片划分成训练集.验证集与测试集,在此记录一种笨办法,各位大佬可忽略. 训练集:日常学习 验证集:模拟考试 测试 ...

  2. ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略

    ML之R:通过数据预处理利用LiR/XGBoost等(特征重要性/交叉训练曲线可视化/线性和非线性算法对比/三种模型调参/三种模型融合)实现二手汽车产品交易价格回归预测之详细攻略 目录 三.模型训练 ...

  3. python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...

    实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...

  4. python读txt文件 数组-python将txt等文件中的数据读为numpy数组的方法

    实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...

  5. 5.sklearn之转换器(划分训练集和测试集、以及标准化、归一化数据会用transform,独热编码也会用到)

    文章目录 1. 什么是转换器? 2. 测试集和训练集 2.1 训练集 .测试集.验证集 2.2 拆分训练集测试集有个问题 2.3 代码 3. 标准化 3.1 上离差标准化代码(举一反三就好了,其他几个 ...

  6. sklearn.model_selection.train_test_split随机划分训练集和测试集

    1 函数用途 train_test_split()是交叉验证中常用的函数,功能是将数组或矩阵按比例随机划分为训练集和测试集,使用方法为: X_train,X_test, y_train, y_test ...

  7. [机器学习笔记] 将数据拆分成训练集和测试集的几种方法

    问题描述: 一般情况下, 我们习惯将原始数据中的80% 作为训练集, 20% 作为测试集(当数据量足够大的时候,也可以将10% 作为测试集. 数据量较小时,如果每次都是随机划分训练集,执行多次训练后, ...

  8. 处理训练集和测试集分布同的方法(对抗训练)

    https://www.kaggle.com/c/santander-value-prediction-challenge 在kaggle该题中,需要通过所给的匿名变量来预测target值 featu ...

  9. 【自用】 sklearn 用 train_test_split 简单划分训练和测试集

    2019独角兽企业重金招聘Python工程师标准>>> python: from sklearn.model_selection import train_test_splitdt, ...

  10. python提取人物特征_基于图像人物面部表情识别的特征提取优化方法与流程

    本发明涉及一种基于图像人物面部表情识别的特征提取优化方法,主要利用基于统计特征提取的二维主成分分析法和改进的粒子群算法优化图像矩阵的解,属于图像处理.模式识别和计算机视觉交叉技术应用领域. 背景技术: ...

最新文章

  1. javascript 字符串中间隔固定位置插入字符
  2. LeetCode之283. Move Zeroes
  3. VS2013安装OpenCV4.1版本并搭建一个小程序
  4. linux 使用 cp 命令强制覆盖功能
  5. java安全编码指南之:拒绝Denial of Service
  6. iNeuOS工业互联网操作系统,智慧用电测控应用案例
  7. leetcode(283)移动零
  8. rabbitmq技术的一些感悟(一)
  9. python 中内置函数
  10. Python实战从入门到精通第十九讲——自定义字符串的格式化
  11. sqlerror.java.1055,请问大佬,eclipse连接数据库出现这个错误怎么办
  12. spring页面使用注解@RequestParam把请求参数封装到map中
  13. 学习进度条 20171202
  14. docker容器网络通讯——外部访问内部
  15. 杭电oj2035c语言答案,小白详细讲解快速幂--杭电oj2035-A^B
  16. Linux下pip安装教程
  17. WPS Word为PDF签名
  18. 虚拟服务器忘记密码,win7系统下VMware虚拟机忘记开机密码的解决方法
  19. 解决Win10无法安装.Net Framework 3.5,错误代码0x800F081F
  20. 基于FPGA的AD9854并行接口驱动(VerilogHDL语言)

热门文章

  1. Python基础(十): 函数的基本概念
  2. jquery on()方法绑定多个选择器,多个事件
  3. Linux slab分配器【转】
  4. python-摩尔斯电码查询器
  5. JAVA中易出错的小问题(二)
  6. Python自然语言处理学习笔记(60):7.1 信息抽取
  7. vmware vsphere出现“需要整合虚拟机磁盘”的告警处理方法(完整版)
  8. 知乎十万级容器规模的Java分布式镜像仓库实践
  9. C++中名字隐藏,名字查找优先于类型检查
  10. php类似indexof的方法[转]