精华内容
下载资源
问答
  • 机器学习系列-数据拆分和结果评价

    千次阅读 2019-11-17 19:58:53
    机器学习中的数据分为训练数据集、验证数据集和测试数据集。 通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集、验证集合测试集,划分比例一般为0.6:0.2:0.2。对原始数据进行三个集合的划分,是为了...

    1.数据集分类

    机器学习中的数据分为训练数据集、验证数据集和测试数据集

    通常,在训练有监督的机器学习模型的时候,会将数据划分为训练集、验证集合测试集,划分比例一般为0.6:0.2:0.2。对原始数据进行三个集合的划分,是为了能够选出效果(可以理解为准确率)最好的、泛化能力最佳的模型。

    训练集(Training set)

    作用是用来拟合模型,通过设置分类器的超参数,训练分类模型。后续结合验证集作用时,会选出同一参数的不同取值,拟合出多个分类器。训练集是一些我们已经知道输入和输出的数据集训练机器去学习,通过拟合去寻找模型的初始参数。例如在神经网络(Neural Networks)中, 我们用训练数据集和反向传播算法(Backpropagation)去每个神经元找到最优的比重(Weights)。

    验证集(Cross Validation set)

    作用是当通过训练集训练出多个模型后,为了能找出效果最佳的模型,使用各个模型对验证集数据进行预测,并记录模型准确率。选出效果最佳的模型所对应的参数,即用来调整模型参数。如svm中的参数c和核函数等。

    验证集也是一些我们已经知道输入和输出的数据集,通过让机器学习去优化调整模型的参数,在神经网络中, 我们用验证数据集去寻找最优的网络深度(number of hidden layers),或者决定反向传播算法的停止点;在普通的机器学习中常用的交叉验证(Cross Validation) 就是把训练数据集本身再细分成不同的验证数据集去训练模型。

    测试集(Test set)

    通过训练集和验证集得出最优模型后,使用测试集进行模型预测。用来衡量该最优模型的性能和分类能力。即把测试集当做从来不存在的数据集,当已经确定模型参数后,使用测试集进行模型性能评价。测试集是用户测试模型表现的数据集,根据误差(一般为预测输出与实际输出的不同)来判断一个模型的好坏。

    对原始数据进行三个数据集的划分,也是为了防止模型过拟合。当使用了所有的原始数据去训练模型,得到的结果很可能是该模型最大程度地拟合了原始数据,亦即该模型是为了拟合所有原始数据而存在。当新的样本出现,再使用该模型进行预测,效果可能还不如只使用一部分数据训练的模型。

    为什么验证集合测试集都需要:

    “验证数据集” 主要用于描述调整参数和数据预处理时的模型评估,而 “测试数据集” 则主要用于描述最终模型之间的模型能力评估。

    只有训练集和测试集的弊端:

    有可能会针对测试数据过拟合,因为每次都是找到参数训练模型,然后看看在测试数据集上的表现如何,这就让我们的模型又被测试数据集左右了,既可以理解为训练出的模型对特定的训练数据集和特定的测试数据集表现都不错,但是再来一种类似的样本数据,表现可能又不尽如人意了。

    那么要彻底解决这个问题,就要引入验证数据集的概念,既将样本数据分为三份,训练数据集、验证数据集、测试数据集。

    训练数据集和之前的用途一样,是用来训练模型的。

    验证数据集的作用和之前的测试数据集一样,是用来验证由训练数据集训练出的模型的好坏程度的,或者说是调整超参数使用的数据集。

    此时的测试数据集和之前的作用就不一样了,这里的测试数据集是当训练出的模型在训练数据集和验证数据集上都表现不错的前提下,最终衡量该模型性能的数据集。测试数据集在整个训练模型的过程中是不参与的。

    交叉验证:

    交叉验证其实解决的是随机选取验证数据集的问题,因为如果验证数据集是固定的,那么万一验证数据集过拟合了,那就没有可用的验证数据集了,所以交叉验证提供了随机的、可持续的、客观的模型验证方式。

    交叉验证的思路是将训练数据分成若干份,假设分为A、B、C三份,分别将这三份各作为一次验证数据集,其他两份作为训练数据集训练模型,然后将训练出的三个模型评分取均值,将这个均值作为衡量算法训练模型的结果来调整参数,如果平均值不够好,那么再调整参数,再训练出三个模型,以此类推。

    2.分类结果评价

    精准度:预测结果正确的占总数的比例。这种评价结果对于极度偏斜的数据不适用。如果癌症产生的概率是0.1%,那其实根本不需要任何机器学习算法,只要系统预测所有人都是健康的,即可达到99.9%的准确率。

    混淆矩阵:对于二分类问题来说,所有的问题被分为0和1两类,混淆矩阵是2*2的矩阵:

     

     

    预测值0

    预测值1

    真实值0

    TN

    FP

    真实值1

    FN

    TP

    TN:真实值是0,预测值也是0,即我们预测是negative,预测正确了。

    FP:真实值是0,预测值是1,即我们预测是positive,但是预测错误了。

    FN:真实值是1,预测值是0,即我们预测是negative,但预测错误了。 

    TP:真实值是1,预测值是1,即我们预测是positive,预测正确了。

     精准率:精准率: ,所谓的精准率是:分母为所有预测为1的个数,分子是其中预测对了的个数,即预测值为1,且预测对了的比例为什么管它叫精准率呢?在有偏的数据中,我们通常更关注值为1的特征,比如“患病”,比如“有风险”。在100次结果为患病的预测,平均有40次预测是对的。即精准率为我们关注的那个事件,预测的有多准。

    召回率:召回率:。所谓召回率是:所有真实值为1的数据中,预测对了的个数。每当有10个癌症患者,算法可以成功的预测出8个 。也就是我们关注的那个事件真实的发生情况下,我们成功预测的比例是多少。 

    F1 score:具体使用算法时,怎么通过精准率和召回率判断算法优劣?

    根据具体使用场景而定:

    例1:股票预测,未来该股票是升还是降?业务要求更精准的找到能够上升的股票;此情况下,模型精准率越高越优。

    例2:病人诊断,就诊人员是否患病?业务要求更全面的找出所有患病的病人,而且尽量不漏掉一个患者;甚至说即使将正常人员判断为病人也没关系,只要不将病人判断成健康人员就好。此情况,模型召回率越高越优。

    描述精准率和召回率的平衡:

    1. F1 是 precision 和 recall 的调和平均值;
    2. 调和平均值:如果 1/a = (1/b + 1/c) / 2,则称 a 是 b 和 c 的调和平均值;
    3. 调和平均值特点:|b - c| 越大,a 越小;当 b - c = 0 时,a = b = c,a 达到最大值;
    4. 具体到精准率和召回率,只有当二者大小均衡时,F1 指标才高,
    展开全文
  • 机器学习 (Machine Learning) 定义: 是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数。并最终对数据进行预测和分析的一门学科。 二分类问题的基本解决思路: (1)建立假设模型(可理解为...
  • 机器学习第一步,方便下载获取。
  • 机器学习数据集的拆分

    千次阅读 2018-09-12 10:19:10
    机器学习中,通常将所有的数据划分为三份:训练数据集、验证数据集和测试数据集。它们的功能分别为 训练数据集(train dataset):用来构建机器学习模型 验证数据集(validation dataset):辅助构建模型,用于....

    转自:https://feisky.xyz/machine-learning/basic/datasets.html

    通常将数据集分为三类,分为俩类的是留出法。

    在机器学习中,通常将所有的数据划分为三份:训练数据集、验证数据集和测试数据集。它们的功能分别为

    • 训练数据集(train dataset):用来构建机器学习模型
    • 验证数据集(validation dataset):辅助构建模型,用于在构建过程中评估模型,为模型提供无偏估计,进而调整模型超参数
    • 测试数据集(test dataset):用来评估训练好的最终模型的性能

    data set

    不断使用测试集和验证集会使其逐渐失去效果。也就是说使用相同数据来决定超参数设置或其他模型改进的次数越多,对于这些结果能够真正泛化到未见过的新数据的信心就越低。请注意,验证集的失效速度通常比测试集缓慢。如果可能的话,建议收集更多数据来“刷新”测试集和验证集。重新开始是一种很好的重置方式。

    为了划分这几种数据集,可以选择采用留出法、K-折交叉验证法或者自助法等多种方法。这些方法都对数据集有一些基本的假设,包括

    • 数据集是随机抽取且独立同分布的
    • 分布是平稳的,不会随时间发生变化
    • 始终从同一个分布中抽取样本

    陷阱:请勿对测试数据集进行训练。

    留出法

    留出法(hold-out)直接将数据集划分为互斥的集合,如通常选择 70% 数据作为训练集,30% 作为测试集。

    需要注意的是保持划分后集合数据分布的一致性,避免划分过程中引入额外的偏差而对最终结果产生影响。通常来说,单次使用留出法得到的结果往往不够稳定可靠,一般采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。

    K-折交叉验证法

    Kuhn 和 Johnson 在「Data Splitting Recommendations」中指出使用单独的「测试集」(或验证集)具有一定的局限性,包括

    • 测试集是对模型的单次评估,无法完全展现评估结果的不确定性。
    • 将大的测试集划分成测试集和验证集会增加模型性能评估的偏差。
    • 分割的测试集样本规模太小。
    • 模型可能需要每一个可能存在的数据点来确定模型值。
    • 不同测试集生成的结果不同,这造成测试集具备极大的不确定性。
    • 重采样方法可对模型在未来样本上的性能进行更合理的预测。

    所以在实际应用中,可以选择 K-折交叉验证(k-fold cross-validation)的方式来评估模型,其偏差低、性能评估变化小。

    K-折交叉验证法将数据集划分为 k 个大小相似的互斥子集,并且尽量保证每个子集数据分布的一致性。这样,就可以获取 k 组训练 - 测试集,从而进行 k 次训练和测试。

    k 通常取值 10,此时称为 10 折交叉验证。其他常用的 k 值还有 5、20 等。

    自助法

    自助法(bootstrap method)以自助采样法为基础:每次随机的从初始数据 $D$ 中选择一个样本拷贝到结果数据集 $D'$ 中,样本再放回初始数据 $D$ 中;这样重复 $m$ 次,就得到了含有 $m$ 个样本的数据集 $D'$。这样就可以把 $D'$ 作为训练集,而 D\D'​作为测试集。这样,样本在 m 次采样中始终不被采集到的概率为

    \lim_{m\to\infty} (1-\frac{1}{m})^{m} = 1/e = 0.368lim​m→∞​​(1−​m​​1​​)​m​​=1/e=0.368

    自助法的性能评估变化小,在数据集小、难以有效划分数据集时很有用。另外,自助法也可以从初始数据中产生多个不同的训练集,对集成学习等方法有好处。

    然而,自助法产生的数据集改变了初始数据的分布,会引入估计偏差。因而,数据量足够时,建议使用留出法和交叉验证法。

     

    展开全文
  • 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    
    展开全文
  • 本资源包括用各种机器学习方法(knn,决策树DecisionTree,随机森林,逻辑回归,支持向量机svm等)来对糖尿病进行预测的源码,包括数据集和导出的ipynb和py文件,对于新手学习和巩固机器学习算法有极大帮助。
  • 一般情况下, 我们习惯将原始数据中的80% 作为训练集, 20% 作为测试集(当数据量足够大的时候,也可以将10% 作为测试集。 数据量较小时,如果每次都是随机划分训练集,执行多次训练后,模型可能就获取了完成是数据...

    问题描述:
    一般情况下, 我们习惯将原始数据中的80% 作为训练集, 20% 作为测试集(当数据量足够大的时候,也可以将10% 作为测试集。 数据量较小时,如果每次都是随机划分训练集,执行多次训练后,模型可能就获取了完成是数据集。这是我们想要避免的。

    解决上述的问题的方案有以下几种:

    1. 将第一次运行产生的测试集和训练集保存,后续训练时,先加载保存的训练集和测试集数据
    2. 设置 random_state, 保证每次分配的测试集相同
    3. 上述两种方法,当原始数据集增加后,仍然会出现测试数据和训练数据混合的问题,所以当原始数据集会不断增加时,可以将数据集中的某个字段转换成标识符,再将标识符转成哈希值,如果哈希值 < 最大哈希值 * 20%, 则将放入测试集

    方法 2 对应代码如下:

    from sklearn.model_selection import train_test_split
    # 设置测试集大小为20%的原始数据, 设置random_state可以保证每次执行训练时,拆分得到的训练集和测试集都相同, random_state 可以设置成任意整数,只要每次训练使用的值相同即可
    train_test_split(data, test_size=0.2, random_state=42)
    

    或者使用numpy 生成随机的无序序列,来划分测试集和训练集

    def split_train_test(data, test_ratio):
        np.random.seed(42)
        shuffled_indices = np.random.permutation(len(data))  # 生成和原数据等长的无序索引
        test_set_size = int(len(data) * test_ratio)
        test_indices = shuffled_indices[:test_set_size]
        train_indices = shuffled_indices[test_set_size:]
        return data.iloc[train_indices], data.iloc[test_indices]
    

    方法3 对应代码如下:

    # 划分训练集和测试集 - 方法三
    # 目前被选为测试集的数据,再数据增加之后, 要保证也不会被选择为训练集
    # 可以根据某个稳定的特征来创建唯一的标识符,比如id
    def test_set_check(identifier, test_ratio):
        return crc32(np.int64(identifier)) & 0xffffffff < test_ratio * 2 ** 32
    
    
    def split_train_test_by_id(data, test_ratio, id_column):
        ids = data[id_column]
        in_test_set = ids.apply(lambda id_: test_set_check(id_, test_ratio))
        return data.loc[~in_test_set], data.loc[in_test_set]
    

    问题描述:
    比如我们想要做一次抽样调查,已知人口中男女比例为47% : 53%, 那么我们的抽样数据中的男女比例也需要保持这样的比例,上述的随机抽样方式显然不满满足这个需求。将人口划分为均匀子集,每个子集称为一层,然后从每层抽取正确的数据量,以确保测试集代表了总的人口比例,这个过程就是分层抽样

    # 比如下面预测房价的例子,我们已知收入和房价强相关,但是收入是连续值,我们先将收入数据划分为5档。
    from matplotlib import pyplot as plt
    housing['income_cat'] = pd.cut(housing['median_income'], bins=[0., 1.5, 3.0, 4.5, 6., np.inf], labels=[1, 2, 3, 4, 5])  # 将收入数据划分为5档
    housing['income_cat'].hist()  # 画出直方图
    plt.show()
    
    # n_splits=1 表示分成1份, 测试集大小为20%, random_state=42 保证每次训练模型产生的测试集和训练集都不变
    split = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)
    for train_index, test_index in split.split(housing, housing['income_cat']):  # 根据收入类别进行分类
        strat_train_set = housing.loc[train_index]
        strat_test_set = housing.loc[test_index]
    
    # 查看测试集中收入类别比例分布
    print('分层抽样的收入类别比例分布:')
    print(strat_test_set['income_cat'].value_counts() / len(strat_test_set))
    
    print('原数据中收入类别的比例分布:')
    print(housing['income_cat'].value_counts() / len(housing))
    

    在这里插入图片描述

    可以看到执行分层抽样后各个收入类别的比例和原始数据一致

    分层抽样的收入类别比例分布:
    3    0.350533
    2    0.318798
    4    0.176357
    5    0.114583
    1    0.039729
    Name: income_cat, dtype: float64
    原数据中收入类别的比例分布:
    3    0.350581
    2    0.318847
    4    0.176308
    5    0.114438
    1    0.039826
    Name: income_cat, dtype: float64
    
    展开全文
  • Python - 对数据集(csv文件)的基本处理操作载入数据数据集抽样数据集统计修改数据集1修改数据集2持更 操作 载入数据集 import pandas as pd data = pd.read_csv('数据集的文件路径或者URL',header) # header为...
  • 机器学习笔记3-拆分数据集和训练集

    千次阅读 2017-04-02 16:56:01
    拆分数据集和训练集 from sklearn import cross_validation # for version 0.17 # For version 0.18 # from sklearn.model_selection import train_test_split ### set the random_state to 0 and the test_size ...
  • 数据挖掘和大数据可以做什么? 简而言之,它们赋予我们预测能力。 我们的生活已经数字化了 我们每天所做的许多事情都可以记录下来。 每张信用卡交易都是数字化和可追溯的。 我们的公众形象一直受到许多中央电视台...
  • 1.在BG中加载数据_功能.csv,和背景_对象.csv分成两个独立的数据帧。...以相同的方式拆分对象数据集。6.利用训练数据集训练kNN模型。设置k等于训练数据集大小的平方根。7.使用kNN模型预测测试数据集的目标特征。
  • 文章目录1.实验目的2.导入必要模块并读取数据 ... 我们将使用sklearn train_test_split方法拆分训练和测试数据数据链接 密码:n3dp 2.导入必要模块并读取数据 import pandas as pd import matplot...
  • 房价数据

    2018-08-29 13:39:30
    人工智能 机器学习 房价数据 适合用来练习机器学习跟深度学习
  • 机器学习实战的数据集在哪找Good machine learning research starts with an exceptional dataset. There is no need to spend your evening crafting your own set of data in MySQL or, god forbid, Excel. ...
  • Python - 数据科学和机器学习工作 相关话题 麻木 使用 Numpy 管理数组和矩阵数据集以及复杂的数学运算。 了解 NumPy 安装 NumPy 创建一维数组 创建二维数组 创建 3D 阵列 访问一维数组成员(索引) 访问二维数组...
  • 数据科学、人工智能与机器学习的区别 什么是数据科学? 什么是人工智能? 什么是机器学习数据科学、人工智能、机器学习的关系 数据科学、人工智能、机器学习的区别 数据科学、人工智能、机器学习工作 ...
  • 机器学习】时序数据处理

    千次阅读 2018-12-26 11:29:21
    2.机器学习与时间序列预测 3.时序数据预测案例: O2O Coupon Usage Forecast 4.时间序列模型中样本时间窗口的选择-华泰期货 5.scikit-learn交叉验证时间序列数据的自定义拆分 6.Feature Selection for Time ...
  • 数据拆分为训练集与测试集,可设定拆分比例。
  • = pd.Categorical(train[feature]).codes print(train.head()) # 删除变量 train.drop(['Education','fnlgwt'], axis = 1, inplace = True) #训练集拆分 train_arr=np.array(train) #转换为数组 X_train=np.delete...
  • 在这里,我将讨论 scikit-learn 中的不同数据拆分技术、选择特定方法以及一些常见陷阱。 本文包含易于使用的代码块,并提供快速总结以供参考。 随意将本文加入书签以备后用。 在第一次学习数据科学时,拆分数据是一...
  • MLDataUtils.jl:用于生成,加载,拆分和处理机器学习数据集的实用程序包
  • 数据...导入基本库和数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import os from sklearn.model_selection i...
  • 机器学习安然数据集分析报告

    千次阅读 2017-10-29 20:53:55
    项目背景安然曾是 2000 年美国最大的公司之一。辉煌时期,市值高达700亿美元。2002 年,由于其存在大量的企业欺诈行为,这个昔日的大集团以极快的速度土崩瓦解。 在随后联邦进行的调查...利用机器学习算法进行数据
  • 数据集划分方法  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &epms;  &...
  • 机器学习导论(二)机器学习机器学习概念分类三要素模型选择正则化 机器学习 机器学习概念 以数据集为例 分类 三要素 模型选择 正则化
  • 如何处理数据不平衡问题 前言 在您正在处理数据集时您可以创建分类模型并立即获得90%的准确度。你觉得“非常不错”。但是当你深入一点时,发现90%的数据属于一个类。 这是一个不平衡数据集的例子,它可能导致令人...
  • 根据上节机器学习 -- KNN算法(数据集的拆分),这里实现数据拆分函数化的实现,以及计算预测准确率。 1. 首先需要导入需要的模块和包: import numpy as np from sklearn import datasets from knn import ...
  • 机器学习模型训练全流程!

    千次阅读 2020-08-09 19:59:00
    ↑↑↑关注后"星标"Datawhale每日干货&每月组队学习,不错过Datawhale干货译者:张峰,安徽工业大学,Datawhale成员周末在家无聊闲...
  • 地方国库库存预测模型研究——基于数据拆分与人工神经网络建模的方法.pdf
  • 机器学习入门之数据预处理

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,425
精华内容 18,570
关键字:

数据拆分机器学习