精华内容
下载资源
问答
  • 机器学习一般步骤

    千次阅读 2021-01-30 16:40:55
    由于原始数据繁多,我们需要从原始数据中,提取出跟想要解决问题相关的数据作为特征(一些深度学习的方法可以自己从数据中提取特征,但是传统机器学习方法往往需要自己去提取特征,称为特征工程

    1.总体框架

    1

    2.数据采集

    2
    由于机器学习是从数据中进行学习的方法,所以首先要针对想要解决的问题进行数据的采集。数据的采集主要有两种途径,一种是自己采集,另一种就是去网上找公开的数据集。数据采集完成后,就得到了原始的数据。

    3.特征提取

    3
    由于原始数据繁多,我们需要从原始数据中,提取出跟想要解决问题相关的数据作为特征(一些深度学习的方法可以自己从数据中提取特征,但是传统机器学习方法往往需要自己去提取特征,称为特征工程)。比如上图中的敲击声、颜色光泽、纹路清晰度等可以作为判断西瓜是否成熟的特征,但是像西瓜的形状等特征或许与其是否成熟无关,则不能作为特征(如果提取到了与所解决问题无关的特征会怎么样?)。

    4.模型、学习准则和优化算法的确定

    4
    模型、学习准则与优化算法是机器学习的三大要素

    模型的作用是根据输入的特征给出输出的结果(针对具体的问题),也可以将模型理解为函数。不同的机器学习模型(比如LR、SVM、NB等),实质上是不同的待选择函数簇。当模型的类型确定后,函数的大体框架就确定了,剩下的就是对函数中的参数的学习。所以,机器学习的本质就是在一堆由不同的参数所决定的函数里面,选出最好的那个(一个优化问题)。

    学习准则的作用是针对想要解决的问题,评价某一个模型的好坏程度。在监督学习中,一般是看模型的输出与数据集中的真值的差异,差异越小,一般就代表模型越好。

    优化算法的作用是对选出最好的模型这个优化问题进行求解。

    这三大要素确定好之后,将数据集带入其中,即可训练出一个在当前的数据集情况下的最优模型。

    5.模型的使用

    5
    训练好后得到了一个最优的函数,然后将待预测的特征自变量输入模型即可得到预测的结果。

    展开全文
  • 机器学习流程介绍

    万次阅读 多人点赞 2018-03-23 14:22:44
    本文只是对机器学习的流程做一个简单的...1. 数据源:机器学习的第一个步骤就是收集数据,这一步非常重要,因为收集到的数据的质量和数量将直接决定预测模型是否能够建好。我们可以将收集的数据去重复、标准化、错...

    本文只是对机器学习的流程做一个简单的描述,每个环节涉及的东西很多,不是本文介绍的范围,对其中比较重要的知识点稍微提及一下,具体的可以参考其他文章学习。先上一张流程图。

    机器学习从数据准备到上线流程:



    接下来根据流程图,逐步分析机器学习的流程。

    1. 数据源:

    机器学习的第一个步骤就是收集数据,这一步非常重要,因为收集到的数据的质量和数量将直接决定预测模型是否能够建好。我们可以将收集的数据去重复、标准化、错误修正等等,保存成数据库文件或者csv格式文件,为下一步数据的加载做准备。

    2. 分析:

    这一步骤主要是数据发现,比如找出每列的最大、最小值、平均值、方差、中位数、三分位数、四分位数、某些特定值(比如零值)所占比例或者分布规律等等都要有一个大致的了解。了解这些最好的办法就是可视化,谷歌的开源项目facets可以很方便的实现。另一方面要确定自变量(x1...xn)和因变量y,找出因变量和自变量的相关性,确定相关系数。

    3. 特征选择:

    特征的好坏很大程度上决定了分类器的效果。将上一步骤确定的自变量进行筛选,筛选可以手工选择或者模型选择,选择合适的特征,然后对变量进行命名以便更好的标记。命名文件要存下来,在预测阶段的时候会用到。

    4. 向量化:

    向量化是对特征提取结果的再加工,目的是增强特征的表示能力,防止模型过于复杂和学习困难,比如对连续的特征值进行离散化,label值映射成枚举值,用数字进行标识。这一阶段将产生一个很重要的文件:label和枚举值对应关系,在预测阶段的同样会用到。

    5. 拆分数据集:

    需要将数据分为两部分。用于训练模型的第一部分将是数据集的大部分。第二部分将用于评估我们训练有素的模型的表现。通常以8:2或者7:3进行数据划分。不能直接使用训练数据来进行评估,因为模型只能记住问题

    6. 训练:

    进行模型训练之前,要确定合适的算法,比如线性回归、决策树、随机森林、逻辑回归、梯度提升、SVM等等。选择算法的时候最佳方法是测试各种不同的算法,然后通过交叉验证选择最好的一个。但是,如果只是为问题寻找一个足够好的算法,或者一个起点,也是有一些还不错的一般准则的,比如如果训练集很小,那么高偏差/低方差分类器(如朴素贝叶斯分类器)要优于低偏差/高方差分类器(如k近邻分类器),因为后者容易过拟合。然而,随着训练集的增大,低偏差/高方差分类器将开始胜出(它们具有较低的渐近误差),因为高偏差分类器不足以提供准确的模型。

    7. 评估:

    训练完成之后,通过拆分出来的训练的数据来对模型进行评估,通过真实数据和预测数据进行对比,来判定模型的好坏。模型评估的常见的五个方法:混淆矩阵、提升图&洛伦兹图、基尼系数、ks曲线、roc曲线。混淆矩阵不能作为评估模型的唯一标准,混淆矩阵是算模型其他指标的基础。

    混淆矩阵

     

    预测数据

    J

    G

    真实数据

    J

    X1

    X2

    G

    X3

    X4

    备注:X1为作出正确判断的否定记录

             X2为作出错误判断的肯定记录

             X3为作出错误判断的否定记录

             X4为作出正确判断的肯定记录

    可以通过以下三个指标来评估模型的好坏:

    准确率:P = X4/ ( X2 + X4)

    召回率:R = X4/ ( X3 + X4)

    调和平均数:F = 2PR/ ( R + P )

    完成评估后,如果想进一步改善训练,我们可以通过调整模型的参数来实现,然后重复训练和评估的过程。

    8. 文件整理:

    模型训练完之后,要整理出四类文件,确保模型能够正确运行,四类文件分别为:Model文件、Lable编码文件、元数据文件(算法,参数和结果)、变量文件(自变量名称列表、因变量名称列表)。

    9. 接口封装:

    通过封装封装服务接口,实现对模型的调用,以便返回预测结果。

    10. 上线:

     



    展开全文
  • import pandas as pd import os import pickle import datetime import re import numpy as np
  • 主要包括四个步骤: (1)数据清洗 (2)数据集成 (3)数据规约 (4)数据变换 数据清洗: 填写缺失的值,光滑噪声数据,识别或删除离群点,并解决不一致性来“清理数据”; 数据集成:使用多个数据库,数据...

    数据预处理的简单定义:一种数据挖掘方法,本质就是为了将原始数据转换为可以理解的格式或者符合我们挖掘的格式。

    主要包括四个步骤:

    (1)数据清洗

    (2)数据集成

    (3)数据规约

    (4)数据变换

    • 数据清洗: 填写缺失的值,光滑噪声数据,识别或删除离群点,并解决不一致性来“清理数据”;
    • 数据集成:使用多个数据库,数据立方体或文件;
    • 数据归约: 用替代的,较小的数据表示形式替换元数据,得到信息内容的损失最小化,方法包括维规约,数量规约和数据压缩;
    • 数据变换:将数据变换成使用挖掘的形式。
    展开全文
  • Python机器学习实践

    千次阅读 2019-10-15 21:14:08
    前面几篇博文已经整理了Python做数据分析和建模以及机器学习基础知识。 这篇博文主要分享Python做数据分析和建模的实践案例应用。 分为两部分: 1、Python机器学习实践案例的算法总结。 见博文下方的算法总结...

    前面几篇博文已经整理了Python做数据分析和建模以及机器学习基础知识。

    这篇博文主要分享Python做数据分析和建模的实践案例应用。

    分为两部分:

    1、Python机器学习实践案例的算法总结。

         见博文下方的算法总结表格。

    2、案例和代码实现。

         每个案例单独用一篇博文来讲解逻辑和Python代码实现。点击对应的链接到相应的博文中去阅读。

        (1)朴素贝叶斯、费舍尔分类器模型(文档分类)

                ---引申 用gesim-word2vec实现词矢量化

        (2)优化算法模型:

                [1] 旅行行程优化问题

                [2] 住宿房间分配问题

        (3)决策树分类建模

        (4)分级聚类、K均值聚类

                  [1] 使用LSA潜在语义分析,聚类评论主题

        (5)KNN算法

                [1]数值预测、区间概率预测、概率密度图

                [2]协同过滤推荐简单实现

             ---引申  [3] 协同过滤推荐-pyspark实现

            ---引申  [4]spark的安装和Jupyter使用

        (6)寻找独立特征-非负矩阵因式分解

        (7)支持向量机

        (8)神经网络

        (9)特征工程

              [1]受限波兹曼机RBM在机器学习中的使用

              [2]在机器学习pipeline中同时使用PCA和LDA

              [3]线性判别式LDA的两种实现方式

              [4]主成分分析PCA的两种实现方式

              [5]用PCA、LDA、LR做人脸识别

     

    机器学习实践案例算法总结
    算法算法描述/原理概述适用的数据集类型Python代码实现的主要步骤优缺点说明
    贝叶斯分类器根据贝叶斯公式:P(cat|item) = P(item|cat)*P(cat)/P(item),
    其中,P(item|cat) = P(feature|cat)*P(feature|cat)*P(feature|cat)*…
    适应于所有能转换成一组特征列表的数据集。1、定义特征提取函数getfeature
    2、利用样本对分类器进行训练,得到记录了特征和某个特定分类相关联的数字概率P(feature|(cat)
    3、分类预测(朴素贝叶斯分类器)
    优点:
    1、训练和分类计算的速度快
    2、支持增量式的训练
    3、特征的概率值被保存,所以分类学习的解释相对简单
    缺点:
    1、无法处理特征组合会产生分类结果影响的情况
    决策树分类器从根部开始构造决策树,在每一步中都会选择一个属性,利用该属性以最佳的可能方式对数据进行拆分。
    对于构造完成的决策树,从树的根部节点开始,对每一个节点的判断条件进行检查,走相应的yes or no 分支直至叶节点,即代表新数据的预测分类
    适应于数值型或者名词性的有分类结果的数据集1、创建决策树。
    熵、基尼不纯度衡量集合的混乱、不纯程度。信息增益来衡量一次拆分的好坏。
    2、决策树剪枝
    3、决策树显示--树状图/文本打印
    4、决策树分类
    优点:
    1、易于对模型的解释和理解。重要的判断因素都在靠近根部的位置。
    2、能处理变量之间的相互影响。
    缺点:
    1、不擅长对数值结果的预测。
    2、不支持增量式的训练。
    神经网络    
    支持向量机SVM    
    K最近邻算法KNN对一个待预测的新数据项,将其与已经知道结果值的数据项进行比较,从中找出最为接近的若干项,并根据距离远近求其加权平均值以得到最终的预测结果。可以做数值预测的数据集1、对变量进行缩放处理和交叉验证
    2、给出一个距离度量算法/相似度度量算法
    3、加权KNN算法预测
    优点:
    1、简单易懂 2、合理的数据缩放量不但可以改善预测效果,还能知道预测过程中各个变量的重要程度。3、新的数据可以随时被添加进来,是一种online的技术。
    缺点:
    1、计算低效。每一个待预测项必须和所有其他数据进行比较。2、寻找合理的缩放因子的过程很乏味、计算和评估的计算工作量很大。
    分级聚类它是构造一颗由所有数据项构成的树的过程。
    工作方式:寻找两个距离最接近的数据项,将它们合二为一,新聚类的"位置"等于原两个数据项位置的均值。重复此过程,直到每个数据项都被包含在了一个大的聚类中为止。
    任何一个具有一个或多个数值属性的数据集1、给出一个相关系数度量方法
    2、分级聚类
    3、绘制分级聚类树状图
    优点:
    1、层级结构可以显示为树状图的形状,易于解读
    2、面对一个全新的数据集,并不清楚想要多少群组时可通过分级聚类观察出哪些群组最接近
    K-Means聚类它是将数据拆分到不同群组的方法。
    工作方式:随机产生K个中心点的位置,将每个数据项都分配到距离最近的中心点。将中心位置移到分配给原中心点的所有项的平均位置处。重复上述聚类步骤。直到中心位置不再变化或达到某阈值。
    任何一个具有一个或多个数值属性的数据集1、给出想要的群组数量
    2、给出一个相关系数度量方法
    3、K-means聚类
    4、打印分类群组结果
    优点:
    1、聚类得到的群组易于打印和识别
    模拟退火算法以一个随机推测的题解开始,以此为基准随机选择一个方向,找到另一个近似解,判断其成本值。如果新题解的成本值小,则替换原题解。如果成本值更大,则用概率觉得是否取代原题解。迭代至温度几乎为0时,返回题解。给定定义域和成本函数的优化问题1、确定变量定义域domain
    2、定义成本函数costf
     
    遗传算法以一组种群题解开始,筛选出其中成本值最低的精英题解,利用变异、交叉的修改方法将精英题解扩充到原种群大小,称新得到的这个种群为下一代。迭代至一定代数或成本值达到某阈值或种群不再改变,返回成本值最低的作为最优解。给定定义域和成本函数的优化问题1、确定变量定义域domain
    2、定义成本函数costf
     
    非负矩阵因式分解NMF    
    展开全文
  • 机器学习中sklearn使用的一般流程

    千次阅读 2019-01-09 09:40:07
    #机器学习中sklearn使用的一般流程 参考链接:http://www.cnblogs.com/lianyingteng/p/7811126.html 传统的机器学习任务从开始到建模的一般流程是:获取数据 -> 数据预处理 -&...
  • 机器学习的7个步骤

    千次阅读 2021-05-09 00:46:26
    点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达 机器学习是技术爱好者中高度关注的领域。作为人工智能(AI)的一个分支,它基本上是一种算法或模型,可...
  • 处理机器学习问题,通常分为以下几步: 1 数据收集 通常,我们拿到一个具体的领域问题后,可以使用网上一些具有代表性的、大众经常会用到的公开数据集。相较于自己整理的数据集,显然大众的数据集更具有代表性,...
  • 机器学习关键步骤(三)

    千次阅读 2021-02-07 16:58:24
    机器学习关键步骤(三) 机器学习有四个关键步骤。 (1) 数据准备,理和准备待分析的数据。 (2) 算法选择,根据需求挑选算法为数据建立模型。 (3) 参数调优,优化模型结果。 (4) 模型评估,根据准确度评价模型选出...
  • 一般步骤 一、得到数据集并做预处理 1.分割数据集(train_test_split) 可以用train_test_split来处理得到的数据集,代码基本形式如下: from sklearn.model_selection import train_test_split X_train, X_test, Y_...
  • 机器学习期末试题.rar

    2020-05-13 09:03:23
    北京航空航天大学机器学习研究生课程近两年试题。19年主要考察的内容有:1,贝叶斯决策,基于最小风险和最小方差的决策,ppt例题 2,id3和c4.5的区别,预剪枝和后剪枝的基本思想和优缺点 3,svm的基本思想,模型...
  • 机器学习实战》学习笔记(一):机器学习基础

    万次阅读 多人点赞 2019-08-19 17:01:32
    专栏【机器学习】 【机器学习】《机器学习实战》读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details/99701256 ————————————————————————————————————...
  • 机器学习”的研究步骤——简述科学研究的一般过程.pdf
  • 构建机器学习系统步骤

    千次阅读 2018-09-12 09:47:06
    构建机器学习系统 我们使用机器学习预测模型的工作流程讲解机器学习系统整套处理过程。 整个过程包括了数据预处理、模型学习、模型验证及模型预测。其中数据预处理包含了对数据的基本处理,包括特征抽取及缩放、...
  • 机器学习模型训练步骤

    千次阅读 2020-03-02 11:54:38
    数据模块 数据的采集,清洗,划分和预处理。 模型模块 根据任务的难易程度选择简单的线性模型或者复杂的神经网络模型。 损失函数 根据不同的任务选择不同的损失函数,比如线性回归中选择均方差损失函数,分类选择...
  • 7个步骤建立可用的机器学习模型

    千次阅读 2020-03-12 14:54:38
    我们都知道机器学习是如何使用算法和统计模型来执行任务并提出完美的解决方案。同样,这种方法可以检测癌症,并有助于检测Facebook上的面孔以及多种用途。 机器学习:需求 机器学习算法模仿人类及其日常发展的规律。...
  • 机器学习关键步骤(二)

    千次阅读 2021-02-07 16:52:40
    机器学习关键步骤(二) 机器学习有四个关键步骤。 (1) 数据准备,理和准备待分析的数据。 (2) 算法选择,根据需求挑选算法为数据建立模型。 (3) 参数调优,优化模型结果。 (4) 模型评估,根据准确度评价模型选出...
  • 学习机器学习和深度学习的方法和步骤 相信很多人都在找学习机器学习和深度学习的步骤和教程。作为过来人和大家一起交流一下。 我自己制作的一个思维导图希望对大家有帮助。 ...
  • [系统工程]机器学习的通用步骤

    千次阅读 多人点赞 2019-04-26 22:39:17
    我们在进行机器学习过程中一个通用步骤主要有以下几个方面: 1)明确问题 实现什么目标 需要什么数据 这个问题:如果公司有大量的数据,可以确定最终的目标是什么;如果没有则需要通过目标来确定数据集 2)获取...
  • 开发机器学习应用程序的步骤

    千次阅读 2017-05-03 19:45:04
    通常从数据的提炼,到最后算法的应用,遵循如下几个步骤: 1、收集数据。 收集我们关心的数据,方法如:网络爬虫,一些设备发送过来的数据,如从物联网设备获取来的数据。 2、准备输入数据。 得到数据之后,我们要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 236,426
精华内容 94,570
关键字:

机器学习一般步骤