美文网首页
机器学习中的计时和性能

机器学习中的计时和性能

作者: 崔吉龙 | 来源:发表于2019-03-08 11:12 被阅读0次

问题描述

在机器学习中当我们比较集中算法之间的性能差异时,我们需要比较算法执行的时间,从而分析出算法的优劣,今天就学习这些小技巧。

用timeit做时间基线检测

我们要明白%timeit不是python脚本,只是python交互环境的一个魔法命令,所以不要把%timeit这句话写在python脚本程序里。

%timeit l = [k for k in range(10**6)]
86.1 ms ± 4.03 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
# 我们也可以自己控制重复的次数
# -n 20 循环20次
# -r 5 代表取其中最好5次的结果
%timeit -n 20 -r 5 l=[k for k in range(10**6)]
86.6 ms ± 1.78 ms per loop (mean ± std. dev. of 5 runs, 20 loops each)

那么限免我们换个算法来看看结果,由于需要测试代码块,所以这里我们使用了%%timeit魔法块指令

%%timeit limit = 10 ** 6
l = list()
for k in range(limit):
  l.append(k)
168 ms ± 3.63 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

可以看出使用for循环和list.append函数的算法,要比使用列表推导式慢一倍。

检测one hot coder和hashing coder性能

import sklearn.feature_extraction.text as text

sklearn_hashing_trick = text.HashingVectorizer(
        n_features=20, binary=True, norm=None)

encoder = text.CountVectorizer()
texts = ['Python for data science','Python for machine learning']

%timeit encoding = encoder.fit_transform(texts)
1.05 ms ± 65.3 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%timeit hashing = sklearn_hashing_trick.transform(texts)
172 µs ± 5.62 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

可以看出使用text.HashingVectorizer比text.CountVectorizer要快很多倍。

相关文章

  • 机器学习中的计时和性能

    问题描述 在机器学习中当我们比较集中算法之间的性能差异时,我们需要比较算法执行的时间,从而分析出算法的优劣,今天就...

  • 机器学习的度量指标

    在机器学习中,性能指标(Metrics)是衡量一个模型好坏的关键,性能指标根据问题不同,主要分为:回归类性能指标和...

  • 高性能计算性能评测

    高性能计算集群的性能评测大致分为机器级、算法级和程序级的性能评测。 机器级机器级的性能评测主要包括CPU和存储器的...

  • 机器学习思考

    序言 1、什么是机器学习? 通过计算的手段,利用经验来改善自身的性能。机器通过学习,在结果上性能改善的部分,...

  • 3.machine_learning_eval_metric

    机器学习评估与度量指标 -from周志华《机器学习》 1.1机器学习基本概念 这里的内容主要包括:性能度量、比较检...

  • 深度学习(五):机器学习基础

    何为学习 对机器学习中的“学习”比较正式的定义是:对于某类任务 P 和性能度量 T,一个计算机程序被认为可以从经验...

  • Nuke Python 性能分析

    使用性能计时器 在Nuke中打开性能计时器时,就可以通过Python读取性能信息。就能知道每个节点的运算时间。在调...

  • 机器学习中的评价指标

    在人工智能领域,机器学习的效果需要用各种指标来评价。本文将阐述机器学习中的常用性能评价指标,矢量卷积与神经网格的评...

  • ​特征工程:预处理

    数据和特征决定了机器学习的上限 特征工程是利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过程。...

  • Spark机器学习笔记

    Spark机器学习笔记 机器学习 机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个...

网友评论

      本文标题:机器学习中的计时和性能

      本文链接:https://www.haomeiwen.com/subject/quaueqtx.html