精华内容
下载资源
问答
  • 传统处理方法,利用ranperm生成随机的编号,取前面百分比的数据作为训练集,余下的作为测试集。 代码如下: num_points = size(X,2); split_point = round(num_points*0.7); seq = randperm(num_points); X_train =...

    将数据分成训练集和测试集:

    • 传统处理方法,利用ranperm生成随机的编号,取前面百分比的数据作为训练集,余下的作为测试集。
      代码如下:
    num_points = size(X,2);
    split_point = round(num_points*0.7);
    seq = randperm(num_points);
    X_train = X(:,seq(1:split_point));
    Y_train = Y(seq(1:split_point));
    X_test = X(:,seq(split_point+1:end));
    Y_test = Y(seq(split_point+1:end));
    
    • 利用Matlab自带函数cvpartition( cross-validation partition)
      优点:
    • 可以按照需求生成分层抽样,还是非分层抽样,这样可以得到更准确的预测。
    • 可以生成单次数据集,还是多次数据集。即k-fold test,这对于算法的准确性评估是非常重要的。
      生成单次测试数据:
    c = cvpartition(n,'HoldOut',p) % P:测试集占比
    

    生成k-fold测试集

    c = cvpartition(n,'KFold',k) 
    

    关于测试集和训练集的概念,此篇博文讲的很清楚:
    https://blog.csdn.net/TOMOCAT/article/details/81589617

    展开全文
  • 机器学习数据资源可用于朴素贝叶斯垃圾邮件过滤器中的一些训练文本数据。使用朴素贝叶斯解决一些现实生活的问题时,需要先从文本内容得到字符串列表,然后生成词向量。其中朴素贝叶斯的一个最著名的应用:电子邮件...
  • 机器学习中我们把数据分为测试数据和训练数据。 测试数据就是测试集,是用来测试已经训练好的模型的泛化能力。  训练数据常被划分为训练集(training set)和验证集(validation set),比如在K-折交叉验证中,...

     在机器学习中我们把数据分为测试数据训练数据

    测试数据就是测试集,是用来测试已经训练好的模型的泛化能力。

    训练数据常被划分为训练集(training set)验证集(validation set),比如在K-折交叉验证中,整个训练数据集D,就被分为K个部分,每次挑选其中的(K-1)部分做训练集,剩下的部分为验证集。

    训练集是用来训练模型或确定模型参数的,如ANN中权值,CNN中的权值等;验证集是用来做模型结构选择,确定模型中的一些超参数,比如正则项系数,CNN各个隐层神经元的个数等;

     以下是维基百科中的解释:

    • Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier.

    • Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, for example to choose the number of hidden units in a neural network.

    • Test set: A set of examples used only to assess the performance [generalization] of a fully specified classifier.

    展开全文
  • 机器学习模型训练全流程!

    千次阅读 2020-08-09 22:03:47
    Datawhale干货译者:张峰,安徽工业大学,Datawhale成员周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑...

     Datawhale干货 

    译者:张峰,安徽工业大学,Datawhale成员

     

    周末在家无聊闲逛github,发现一个很有趣的开源项目,作者用手绘图的方式讲解了机器学习模型构建的全流程,逻辑清晰、生动形象。同时,作者也对几张图进行了详细的讲解,学习之后,收获很多,于是将其翻译下来,和大家一起学习。

    地址:https://github.com/dataprofessor/infographic

    全文如下:

    感觉学习数据科学枯燥无味,那如何能让学习数据科学变得有趣而简单呢?带着这个目标,我开始在iPad上涂鸦建立机器学习模型所需的流程。经过几天的努力,上图所示的信息图就是我的成果,内容已经被发布在GitHub上。

    1. 数据集

    数据集是你构建机器学习模型历程中的起点。简单来说,数据集本质上是一个M×N矩阵,其中M代表列(特征),N代表行(样本)。

    列可以分解为X和Y,首先,X是几个类似术语的同义词,如特征、独立变量和输入变量。其次,Y也是几个术语的同义词,即类别标签、因变量和输出变量。

    图1. 数据集的卡通插图

     

    应该注意的是,一个可以用于监督学习的数据集(可以执行回归或分类)将同时包含X和Y,而一个可以用于无监督学习的数据集将只有X。

    此外,如果Y包含定量值,那么数据集(由X和Y组成)可以用于回归任务,而如果Y包含定性值,那么数据集(由X和Y组成)可以用于分类任务。

     

    2. 探索性数据分析(EDA)

    进行探索性数据分析(EDA)是为了获得对数据的初步了解。在一个典型的数据科学项目中,我会做的第一件事就是通过执行EDA来 "盯住数据",以便更好地了解数据。

    我通常使用的三大EDA方法包括:

    • 描述性统计:平均数、中位数、模式、标准差。

    • 数据可视化:热力图(辨别特征内部相关性)、箱形图(可视化群体差异)、散点图(可视化特征之间的相关性)、主成分分析(可视化数据集中呈现的聚类分布)等。

    • 数据整形:对数据进行透视、分组、过滤等。

    图2. NBA球员统计数据的箱形图示例

     

    图3. NBA球员统计数据的相关热力图示例

     

    图4. NBA球员统计数据的直方图示例

     

    图5. NBA球员统计数据的散布图示例

     

    3. 数据预处理

    数据预处理(又称数据清理、数据整理或数据处理)是指对数据进行各种检查和审查的过程,以纠正缺失值、拼写错误、使数值正常化/标准化以使其具有可比性、转换数据(如对数转换)等问题。

    "Garbage in, Garbage out."

    正如上面的引言所说,数据的质量将对生成模型的质量产生很大的影响。因此,为了达到最高的模型质量,应该在数据预处理阶段花费大量精力。一般来说,数据预处理可以轻松地占到数据科学项目所花费时间的80%,而实际的模型建立阶段和后续的模型分析仅占到剩余的20%。

     

    4. 数据分割

    4.1 训练--测试集分割

    在机器学习模型的开发过程中,希望训练好的模型能在新的、未见过的数据上表现良好。为了模拟新的、未见过的数据,对可用数据进行数据分割,从而将其分割成2部分(有时称为训练—测试分割)。特别是,第一部分是较大的数据子集,用作训练集(如占原始数据的80%),第二部分通常是较小的子集,用作测试集(其余20%的数据)。需要注意的是,这种数据拆分只进行一次。

    接下来,利用训练集建立预测模型,然后将这种训练好的模型应用于测试集(即作为新的、未见过的数据)上进行预测。根据模型在测试集上的表现来选择最佳模型,为了获得最佳模型,还可以进行超参数优化。

    图6. 训练—测试集分割示意图

    4.2 训练--验证--测试集分割

    另一种常见的数据分割方法是将数据分割成3部分。(1) 训练集,(2) 验证集和(3) 测试集。与上面解释的类似,训练集用于建立预测模型,同时对验证集进行评估,据此进行预测,可以进行模型调优(如超参数优化),并根据验证集的结果选择性能最好的模型。正如我们所看到的,类似于上面对测试集进行的操作,这里我们在验证集上做同样的操作。请注意,测试集不参与任何模型的建立和准备。因此,测试集可以真正充当新的、未知的数据。Google的《机器学习速成班》对这个话题进行了更深入的处理。

    图7. 训练—验证—测试集分割示意图

    4.3 交叉验证

    为了最经济地利用现有数据,通常使用N倍交叉验证(CV),将数据集分割成N个折(即通常使用5倍或10倍CV)。在这样的N倍CV中,其中一个折被留作测试数据,而其余的折则被用作建立模型的训练数据。

    例如,在5倍CV中,有1个折被省略,作为测试数据,而剩下的4个被集中起来,作为建立模型的训练数据。然后,将训练好的模型应用于上述遗漏的折(即测试数据)。这个过程反复进行,直到所有的折都有机会被留出作为测试数据。因此,我们将建立5个模型(即5个折中的每个折都被留出作为测试集),其中5个模型中的每个模型都包含相关的性能指标(我们将在接下来的部分讨论)。最后,度量(指标)值是基于5个模型计算出的平均性能。

    图8. 交叉验证示意图

     

    在N等于数据样本数的情况下,我们称这种留一的交叉验证。在这种类型的CV中,每个数据样本代表一个折。例如,如果N等于30,那么就有30个折(每个折有1个样本)。在任何其他N折CV中,1个折点被留出作为测试集,而剩下的29个折点被用来建立模型。接下来,将建立的模型应用于对留出的折进行预测。与之前一样,这个过程反复进行,共30次;计算30个模型的平均性能,并将其作为CV性能指标。

    5. 模型建立

    现在,有趣的部分来了,我们终于可以使用精心准备的数据来建立模型了。根据目标变量(通常称为Y变量)的数据类型(定性或定量),我们要建立一个分类(如果Y是定性的)或回归(如果Y是定量的)模型。

    5.1 学习算法

    机器学习算法可以大致分为以下三种类型之一:

    • 监督学习:是一种机器学习任务,建立输入X和输出Y变量之间的数学(映射)关系。这样的X、Y对构成了用于建立模型的标签数据,以便学习如何从输入中预测输出。

    • 无监督学习:是一种只利用输入X变量的机器学习任务。这种 X 变量是未标记的数据,学习算法在建模时使用的是数据的固有结构。

    • 强化学习:是一种决定下一步行动方案的机器学习任务,它通过试错学习来实现这一目标,努力使回报最大化。

    5.2 参数调优

    超参数本质上是机器学习算法的参数,直接影响学习过程和预测性能。由于没有 "一刀切 "的超参数设置,可以普遍适用于所有数据集,因此需要进行超参数优化(也称为超参数调整或模型调整)。

    我们以随机森林为例。在使用randomForest R包时,通常会对两个常见的超参数进行优化,其中包括mtry和ntree参数(这对应于scikit-learnPython库中RandomForestClassifier()和RandomForestRegressor()函数中的nestimators和maxfeatures)。mtry(maxfeatures)代表在每次分裂时作为候选变量随机采样的变量数量,而ntree(nestimators)代表要生长的树的数量。

    另一种流行的机器学习算法是支持向量机。需要优化的超参数是径向基函数(RBF)内核的C参数和gamma参数(即线性内核只有C参数;多项式内核的C和指数)。C参数是一个限制过拟合的惩罚项,而gamma参数则控制RBF核的宽度。如上所述,调优通常是为了得出超参数的最佳值集,尽管如此,也有一些研究旨在为C参数和gamma参数找到良好的起始值(Alvarsson等人,2014)。

    地址:https://pubs.acs.org/doi/10.1021/ci500344v

    5.3 特征选择

    顾名思义,特征选择从字面上看就是从最初的大量特征中选择一个特征子集的过程。除了实现高精度的模型外,机器学习模型构建最重要的一个方面是获得可操作的见解,为了实现这一目标,能够从大量的特征中选择出重要的特征子集非常重要。

    特征选择的任务本身就可以构成一个全新的研究领域,在这个领域中,大量的努力都是为了设计新颖的算法和方法。从众多可用的特征选择算法中,一些经典的方法是基于模拟退火和遗传算法。除此之外,还有大量基于进化算法(如粒子群优化、蚁群优化等)和随机方法(如蒙特卡洛)的方法。

    我们自己的研究小组也在对醛糖还原酶抑制剂的定量结构—活性关系建模的研究中,探索了利用蒙特卡洛模拟进行特征选择的方法(Nantasenamat等,2014)。

    地址:https://doi.org/10.1016/j.ejmech.2014.02.043

    在《遗传算法搜索空间拼接粒子群优化作为通用优化器》的工作中,我们还设计了一种基于结合两种流行的进化算法即遗传算法和粒子群算法的新型特征选择方法(Li等,2013)。

    地址:https://doi.org/10.1016/j.chemolab.2013.08.009

     

    图9. 遗传算法搜索空间拼接粒子群优化(GA-SSS-PSO)方法的原理示意图,用Schwefel函数在2维度上进行说明

    "原搜索空间(a)x∈[-500,0]在每个维度上以2的固定间隔拼接成子空间(图中一个维度等于一个横轴)。这样就得到了4个子空间(b-e),其中x在每个维度上的范围是原始空间的一半。GA的每一个字符串都会编码一个子空间的索引。然后,GA启发式地选择一个子空间(e),并在那里启动PSO(粒子显示为红点)。PSO搜索子空间的全局最小值,最好的粒子适应性作为编码该子空间索引的GA字符串的适应性。最后,GA进行进化,选择一个新的子空间进行探索。整个过程重复进行,直到达到满意的误差水平。"

    6. 机器学习任务

    在监督学习中,两个常见的机器学习任务包括分类和回归。

    6.1 分类

     一个训练有素的分类模型将一组变量(定量或定性)作为输入,并预测输出的类标签(定性)。下图是由不同颜色和标签表示的三个类。每一个小的彩色球体代表一个数据样本。

    图10. 多类别分类问题的示意图

    三类数据样本在二维中的显示。上图显示的是数据样本的假设分布。这种可视化图可以通过执行PCA分析并显示前两个主成分(PC)来创建;或者也可以选择两个变量的简单散点图可视化。

    6.1.1 样例数据集

    以企鹅数据集(Penguins Dataset)为例(最近提出作为大量使用的Iris数据集的替代数据集),我们将定量(喙长、喙深、鳍长和身体质量)和定性(性别和岛屿)特征作为输入,这些特征唯一地描述了企鹅的特征,并将其归入三个物种类别标签(Adelie、Chinstrap或Gentoo)之一。该数据集由344行和8列组成。之前的分析显示,该数据集包含333个完整的案例,其中11个不完整的案例中出现了19个缺失值。

    图11. 三个企鹅物种的类别标签(Chinstrap、Gentoo和Adelie)

    6.1.2 性能指标

    如何知道我们的模型表现好或坏?答案是使用性能指标,一些常见的评估分类性能的指标包括准确率(Ac)、灵敏度(Sn)、特异性(Sp)和马太相关系数(MCC)。

     其中TP、TN、FP和FN分别表示真阳性、真阴性、假阳性和假阴性的实例。应该注意的是,MCC的范围从-1到1,其中MCC为-1表示最坏的可能预测,而值为1表示最好的可能预测方案。此外,MCC为0表示随机预测。

    6.2 回归

     简而言之,可以通过以下简单等式很好地总结训练有素的回归模型:Y = f(X)。其中,Y对应量化输出变量,X指输入变量,f指计算输出值作为输入特征的映射函数(从训练模型中得到)。上面的回归例子公式的实质是,如果X已知,就可以推导出Y。一旦Y被计算出来(我们也可以说是 "预测"),一个流行的可视化方式是将实际值与预测值做一个简单的散点图,如下图所示。

    图12. 实际值与预测值的简单散点图

    6.2.1 样例数据集

    波士顿住房数据集(Boston Housing Dataset)是数据科学教程中通常使用的一个热门示例数据集。该数据集由506行和14列组成。为了简洁起见,下面显示的是标题(显示变量名称)加上数据集的前4行。

     在14列中,前13个变量被用作输入变量,而房价中位数(medv)被用作输出变量。可以看出,所有14个变量都包含了量化的数值,因此适合进行回归分析。我还在YouTube上做了一个逐步演示如何用Python建立线性回归模型的视频。

    地址:https://youtu.be/R15LjD8aCzc

    在视频中,我首先向大家展示了如何读取波士顿房屋数据集,将数据分离为X和Y矩阵,进行80/20的数据拆分,利用80%的子集建立线性回归模型,并应用训练好的模型对20%的子集进行预测。最后显示了实际与预测medv值的性能指标和散点图。

    图13. 测试集的实际medv值与预测medv值(20%子集)的散点图。

    6.2.2 性能指标 

    对回归模型的性能进行评估,以评估拟合模型可以准确预测输入数据值的程度。

    评估回归模型性能的常用指标是确定系数(R²)。

    从公式中可以看出,R²实质上是1减去残差平方和(SSres)与总平方和(SStot)的比值。简单来说,可以说它代表了解释方差的相对量度。例如,如果R²=0.6,那么意味着该模型可以解释60%的方差(即60%的数据符合回归模型),而未解释的方差占剩余的40%。

    此外,均方误差(MSE)以及均方根误差(RMSE)也是衡量残差或预测误差的常用指标。

          

    从上面的公式可以看出,MSE顾名思义是很容易计算的,取平方误差的平均值。此外,MSE的简单平方根可以得到RMSE。

    7. 分类任务的直观说明

    现在我们再来看看分类模型的整个过程。以企鹅数据集为例,我们可以看到,企鹅可以通过4个定量特征和2个定性特征来描述,然后将这些特征作为训练分类模型的输入。在训练模型的过程中,需要考虑的问题包括以下几点。

    • 使用什么机器学习算法?

    • 应该探索什么样的搜索空间进行超参数优化?

    • 使用哪种数据分割方案?80/20分割还是60/20/20分割?还是10倍CV?

    一旦模型被训练,得到的模型就可以用来对类别标签(即在我们的案例中企鹅种类)进行预测,可以是三种企鹅种类中的一种:Adelie、Chinstrap或Gentoo。

    除了只进行分类建模,我们还可以进行主成分分析(PCA),这将只利用X(独立)变量来辨别数据的底层结构,并在这样做的过程中允许将固有的数据簇可视化(如下图所示为一个假设图,其中簇根据3种企鹅物种进行了颜色编码)。

    图14. 建立一个分类模型的过程示意图

    “干货学习,三连

    展开全文
  • 机器学习实战》学习笔记(一):机器学习基础

    万次阅读 多人点赞 2019-08-19 17:01:32
    专栏【机器学习】 【机器学习】《机器学习实战》读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details/99701256 ————————————————————————————————————...

    欢迎关注WX公众号:【程序员管小亮】

    【机器学习】《机器学习实战》读书笔记及代码 总目录

    GitHub代码地址:

    ——————————————————————————————————————————————————————

    本章内容

    • 机器学习的简单概述
    • 机器学习的主要任务
    • 学习机器学习的原因
    • Python语言的优势

    1、何谓机器学习

    什么是机器学习?书中举了一个很有意思的例子,我们来听一下,就当开胃菜了。

    最近我和一对夫妇共进晚餐,他们问我从事什么职业,我回应道:“机器学习。”妻子回头问丈夫:“亲爱的,什么是机器学习?”她的丈夫答道:“T-800型终结者。”在《终结者》系列电影中,T-800是人工智能技术的反面样板工程。
    在这里插入图片描述

    哈哈,承包了我一天的笑点,极其学习的概念到底是什么,这个我们在很多博客中都又提到过。

    如果你还是不清楚的话,实在是很过分了 😐,在深度学习大火的如今,机器学习也正是出现在人们视野中,现今,机器学习已应用于多个领域,远超出大多数人的想象,比如NLP,再比如推荐系统。
    在这里插入图片描述

    机器学习在日常生活中的应用,从左上角按照顺时针方向依次使用到的机器学习技术分别为:人脸识别、手写数字识别、垃圾邮件过滤和亚马逊公司的产品推荐。

    在本书中,给出的定义是:【简单地说,机器学习就是把无序的数据转换成有用的信息。】

    1. 传感器和海量数据

    虽然已从互联网上获取了大量的人为数据,但最近却涌现了更多的非人为数据。传感器技术并不时髦,已经发展了好多年的传统行业,但是如何将它们接入互联网这确实是新的挑战。地震预测是一个很好的例子,传感器手机了海量的数据,但是如何从这些数据中抽取出有价值的信息是一个非常值得研究的课题。

    1. 机器学习非常重要

    在过去的半个世纪里,发达国家的多数工作岗位都已从体力劳动转化为脑力劳动。过去的工作基本上都有明确的定义,类似于把物品从A处搬到B处,或者在这里打个洞,但是现在这类工作都在逐步消失。现今的情况具有很大的二义性,类似于“最大化利润”,“最小化风险”、“找到最好的市场策略”……诸如此类的任务要求都已成为常态。虽然可从互联网上获取到海量数据,但这并没有简化知识工人的工作难度。针对具体任务搞懂所有相关数据的意义所在,这正成为基本的技能要求。

    2、关键术语

    通过构建下面的鸟类分类系统,来对机器学习领域的常用术语进行一个总结。
    在这里插入图片描述
    机器学习的主要任务就是 分类。如何判断飞入进食器的鸟是不是象牙喙啄木鸟呢?(任何发现活的象牙喙啄木鸟的人都可以得到5万美元的奖励。)这个任务就是 分类,有很多机器学习算法非常善于 分类。本例中的类别就是鸟的物种,更具体地说,就是区分是否为象牙喙啄木鸟。

    我们决定使用某个机器学习算法进行 分类,首先需要做的是算法训练,即学习如何 分类。通常我们为算法输入大量已分类数据作为算法的 训练集训练集 是用于训练机器学习算法的数据样本集合,表1-1是包含六个训练样本的训练集,每个训练样本有4种 特征(体重、翼展、脚蹼和后背颜色)、一个 目标变量(种属),目标变量 是机器学习算法的预测结果,在 分类 算法中目标变量的类型通常是标称型的,而在 回归 算法中通常是连续型的。训练样本集必须确定知道 目标变量 的值,以便机器学习算法可以发现 特征目标变量 之间的关系。正如前文所述,这里的目标变量 是种属,也可以简化为标称型的数值。我们通常将分类问题中的目标变量称为 类别,并假定分类问题只存在有限个数的 类别

    为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据测试数据。当机器学习程序开始运行时,使用 训练样本集 作为算法的输入,训练完成之后输入 测试样本。输入 测试样本 时并不提供 测试样本目标变量,由程序决定样本属于哪个类别。比较 测试样本 预测的 目标变量 值与 实际样本类别 之间的差别,就可以得出算法的实际精确度。

    假定这个鸟类分类程序,经过测试满足精确度要求,是否我们就可以看到机器已经学会了如何区分不同的鸟类了呢?这部分工作称之为 知识表示,某些算法可以产生很容易理解的知识表示,而某些算法的知识表示也许只能为计算机所理解。知识表示 可以采用规则集的形式,也可以采用概率分布的形式,甚至可以是训练样本集中的一个实例。在某些场合中,人们可能并不想建立一个专家系统,而仅仅对机器学习算法获取的信息感兴趣。此时,采用何种方式 表示知识 就显得非常重要了。

    3、机器学习的主要任务

    分类问题的主要任务是将实例数据划分到合适的分类中;回归问题的主要任务是预测数值型数据。分类和回归属于监督学习,之所以称之为 监督学习,是因为这类算法必须知道预测什么,即 目标变量的分类信息,也就是label。

    监督学习 相对应的是 无监督学习,此时数据没有 类别信息,也不会给定 目标值。在 无监督学习 中,将数据集合分成由类似的对象组成的多个类的过程被称为 聚类;将寻找描述数据统计值的过程称之为 密度估计。此外,无监督学习 还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。

    在这里插入图片描述

    4、如何选择合适的算法

    从上面的表格中可以看出,如果我们能确定算法的目的,想要算法完成何种任务,再加上确定需要分析或手机的数据是什么,就能大概确定哪一个算法更适合了。

    首先考虑使用机器学习算法的目的。

    • 如果想要预测目标变量的值,则可以选择监督学习算法
      • 如果目标变量是离散型,则可以选择分类器算法
      • 如果目标变量是连续型的数值,则需要选择回归算法
    • 如果不想预测目标变量的值,则可以选择无监督学习算法
      • 进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;
      • 如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。

    其次需要考虑的是数据问题。主要应该了解数据的以下特性:特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生的频率如何(是否罕见得如同海底捞针),等等。

    一般说来发现最好算法的关键环节是反复试错的迭代过程。

    5、开发机器学习应用程序的步骤

    机器学习算法开发应用程序通常遵循以下的步骤。
    (1) 收集数据
    (2) 准备输入数据
    (3) 分析输入数据
    (4) 训练算法
    (5) 测试算法
    (6) 使用算法

    6、Python 语言的优势

    选择Python作为实现机器学习算法的编程语言的原因:
    (1) Python的语法清晰;
    (2) 易于操作纯文本文件;
    (3) 使用广泛,存在大量的开发文档。

    7、NumPy 函数库基础

    机器学习算法涉及很多线性代数知识,因此在使用Python语言构造机器学习应用时,会经常使用NumPy函数库。如果不熟悉线性代数也不用着急,这里用到线性代数只是为了简化不同的数据点上执行的相同数学运算。将数据表示为矩阵形式,只需要执行简单的矩阵运算而不需要复杂的循环操作。

    8、总结

    尽管现在引起很多人的注意,但是机器学习算法其实还是一个专业的学科,很多人都是道听途说,仍然有很长的路要走。随着每天我们需要处理的数据在不断地增加,能够深入理解数据背后的真实含义,是数据驱动产业必须具备的基本技能。如果你想走这个方向,就要下定决心,走到黑,加油,共勉。

    下一章我们将介绍第一个分类算法——k-近邻算法。

    参考文章

    • 《机器学习实战》
    展开全文
  • 机器学习之Matlab制作自己的数据

    千次阅读 2019-03-19 19:06:53
    机器学习之Matlab制作自己的数据 2018年09月13日 17:30:09 木木的学习之路 阅读数:1494 ...
  • 机器学习库sklearn之怎么划分训练集和测试集

    万次阅读 多人点赞 2018-09-16 15:24:05
    sklearn是很强大的机器学习的库,传统的机器学习任务从开始到建模的一般流程是:获取数据 -> 数据预处理 -> 训练建模 -> 模型评估 -> 预测,分类。最开始的是获取数据,sklearn已经给出...
  • 转自:http://www.xuebuyuan.com/1409669.htmlcrossvalind交叉验证Generate cross-validation indices 生成交叉验证索引Syntax语法Indices = crossvalind('Kfold', N, K) K折交叉[Train, Test] = crossvalind('...
  • 机器学习算法——数据的制作

    千次阅读 2018-09-16 22:23:21
    一、数据介绍 点击打开链接17_Category_Flower 是一个不同种类鲜花的图像数据,包含 17 不同种类的鲜花,每类 80 张该类鲜花的图片,鲜花种类是英国地区常见鲜花。下载数据后解压文件,然后将不同的花剪切到对应...
  • 机器学习—滚动训练模块介绍

    千次阅读 2019-01-12 11:21:13
    实现平台:BigQuant—人工智能量化投资平台 可在文末前往原文一键克隆代码进行进一步研究 滚动训练模块简介 ...我们希望训练一个模型,训练集数据从2016-01-01起到最新数据止,每次模型训练所用数...
  • 之前在划分训练集和验证集时,都是手工随机生成index,很笨。 学到的新方法如下: import numpy as np # 正态分布生成原始数据 x = np.random.random.normal(1,0.1,100) # 按8:2分割数据 x_train_index = np....
  • 我本次对4类文本进行分类((所有截图代码和数据最后附带免费下载地址)) 主要步骤: 1.各种读文件,写文件 2.使用jieba分词将中文文本切割 3.对处理之后的文本开始用TF-IDF算法进行单词权值的计算 4....
  • 机器学习数据!CV、NLP 一应俱全

    千次阅读 2019-04-06 11:00:19
    本文介绍一个机器学习大型数据的汇总网站,网站目前提供约 70 个最新数据,涵盖了计算机视觉、自然语言理解和音频三大领域。 还在愁到哪里找到需要的机器学习数据吗? 每年都有很多大型、高质量的数据发布...
  • 上一篇机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)介绍了开始一个机器学习项目需要明确的问题,比如当前任务属于有监督还是无监督学习问题,然后性能指标需要选择什么,常用的分类和回归损失函数有...
  • 在商业应用中,我们经常会有多个学习算法可供选择,甚至对同一个学习算法,使用不同的...而只依靠训练误差又会因为过拟合现象的存在而不适用作为标准。 一、评估方法: 虽然无法直接获得模型的泛化误差,但是我们...
  • 机器学习必须需要大量数据?小数据也能有大价值!   https://mp.weixin.qq.com/s/xGnDcRtKKt4FyVRAMPSqYA      【导读】数据不够大,就不能玩深度学习?长期存在的一大挑战就是:只有极少数情况下有足够...
  • 机器学习之语音生成&&音乐生成

    万次阅读 热门讨论 2016-10-18 11:13:44
    第一部分,语音生成简介该网络基于给出的样本和附加的条件参数以条件概率的方式产生新的样本,每一个音频样本的预测分布的前提是基于给定的所有先前的样本。在音频预处理步骤之后,输入的波形被归一化在一个固定的...
  • 监督学习 无监督学习 半监督学习@监督学习 无监督学习 半监督学习 监督学习 在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和输出之间有着一个特定的关系。 监督学习分类 回归...
  • 机器学习中,对于数据的预处理是否是测试集和训练集一起进行? 最近在尝试训练和应用模型,遇上一个问题,就是针对数据的预处理过程,如归一化等等,测试集和训练集是否需要分开进行?网上查了很多资料众说纷纭,有...
  • 准备数据 数据转换 生成 meanfile 均值文件 ...1. 准备数据首先要准备自己的数据,就是你的图片,不同类别的图片,这些图片要分成两部分,一部分多,一部分少,比例自己把握,5:1或6:1都可以,多的部分作为训练集
  • D:/workplace/python # -*- coding: utf-8 -*- # @File : TFIDF_naive_bayes_wy.py # @Author: WangYe # @Date : 2019/5/29 # @Software: PyCharm # 机器学习之文本分类(附带训练集+数据集+所有代码) # 博客链接:...
  • 数据集的要求如下,训练集:xdata为100个在(0,1)范围内服从正态分布的随机数,ydata满足:ydata=2*xdata+3+random1,其中random1也是(0,1)范围内服从正态分布的随机数。测试集:选择训练集中前30个数据作为测试集...
  • 机器学习中数据的拆分

    千次阅读 2018-09-12 10:19:10
    机器学习中,通常将所有的数据划分为三份:训练数据、验证数据和测试数据。它们的功能分别为 训练数据(train dataset):用来构建机器学习模型 验证数据(validation dataset):辅助构建模型,用于....
  • 本文主要分享笔者仿照Cifar-10二进制数据库的格式,自己制作机器学习使用的二进制数据库。经过封装后,非常方便使用。代码可用Github下载:BinaryDataset 关于Cifar-10 CIFAR-10数据由10个类的60000个32x32...
  • Python - 对数据(csv文件)的基本处理操作载入数据数据抽样数据统计修改数据1修改数据2持更 操作 载入数据 import pandas as pd data = pd.read_csv('数据的文件路径或者URL',header) # header为...
  • 论文来源: Comparison of Deep Learning With ...机器学习方法在医药研究中已经应用了几十年。与贝叶斯方法相结合的指纹类型分子描述符的相对易用性和可用性使得该方法广泛应用于与药物发现相关的各种端点阵列...
  • 1. 决策树模型 决策树是一种基于树的结构来进行决策的模型。它从根结点开始,对样本的某一特征进行测试,根据测试...决策树学习通常包括三个步骤:划分选择、决策树生成、决策树剪枝。决策树生成只考虑局部最优,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,491
精华内容 36,996
关键字:

机器学习生成训练集