精华内容
下载资源
问答
  • Python获取代码运行时间的几种方法

    万次阅读 多人点赞 2018-03-23 23:23:25
    #python 标准库手册推荐任何情况下尽量使用time.clock(). #只计算了程序运行CPU的时间,返回值是浮点数 import time start =time.clock() #中间写上代码块 end = time.clock() print('Run...

    目录

    1、计算程序运行CPU的时间

    2、计算CPU的总运行时间

    3、方法三

    4、方法四


    1、计算程序运行CPU的时间

    #python 的标准库手册推荐在任何情况下尽量使用time.clock().
    #只计算了程序运行CPU的时间,返回值是浮点数
    import time
    start =time.clock()
    #中间写上代码块
    end = time.clock()
    print('Running time: %s Seconds'%(end-start))

    #运行结果如下

    #Running time: 2.26660703157 Seconds

    2、计算CPU的总运行时间

    #该方法包含了其他程序使用CPU的时间,返回值是浮点数
    import time
    start=time.time()
    #中间写上代码块
    end=time.time()
    print('Running time: %s Seconds'%(end-start))

    #运行结果

    #Running time: 4.90400004387 Seconds

    3、方法三

    #该方法包含了其他程序使用CPU的时间
    import datetime
    start=datetime.datetime.now()
    #中间写代码块
    end=datetime.datetime.now()
    print('Running time: %s Seconds'%(end-start))

    #运行结果

    #Running time: 0:00:02.412000 Seconds

    4、方法四

    #在 Unix 系统中,建议使用 time.time(),在 Windows 系统中,建议使用 time.clock()
    #实现跨平台的精度性可以使用timeit.default_timer()
    import timeit
    start=timeit.default_timer()
    #中间写代码块
    end=timeit.default_timer()
    print('Running time: %s Seconds'%(end-start))

    #运行结果

    #Running time: 2.31757675399 Seconds

     

    注释:以上四种代码运行环境是Win7系统,都是在相同的代码块下运行的,可以对比代码运行时间获取windows系统下的最优方法;对于其他系统可以进行测试获取最优方法!

     

    交流学习资料共享欢迎入QQ群:955817470

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 时间序列聚类方法

    万次阅读 2019-05-30 14:36:13
    时间序列是按照时间排序一组随机变量,它通常是相等间隔的时间段内,依照给定采样率,对某种潜在过程进行观测结果。 时间序列数据是实值型序列数据,具有数据量大、数据维度高以及数据是不断更新等特点...

    时间序列的聚类方法

    时间序列是按照时间排序的一组随机变量,它通常是在相等间隔的时间段内,依照给定的采样率,对某种潜在过程进行观测的结果。

    时间序列数据是实值型的序列数据,具有数据量大、数据维度高以及数据是不断更新的等特点。

    时间序列聚类方法的分类

    什么是聚类?聚类是一种无监督学习方法,聚类就是按照某个特定标准(如距离)把一个数据集分割成不同的类或簇,使类内差异最小,类间差异最大。传统的聚类方法针对静态数据,所谓静态数据就是其特征不随时间变化。

    由于时间序列的特征包含随时间变化的值,所以不是静态数据。对于时间序列的聚类来说,有两种思路:

    • 一种是修改现有的聚类方法以适用于时间序列
    • 一种是将时间序列转换为静态数据,然后在使用现有的聚类方法

    前一种思路直接作用于原始数据,称为基于原始数据的方法,难点在于要找到适用于时间序列的距离/相似性度量。

    第二种思路首先将原始的时间序列数据转换为低维的特征向量或若干模型参数,称为基于特征的或基于模型的方法。

    由于金融交易数据普遍存在信噪比低、非线性、非平稳、非正态的特点,因此直接利用原始数据进行聚类往往效果不好。所以后两种方法是研究的重点。这两种方法都是通过一定的方式将原始时间序列转化为静态的特征或模型参数,然后通过传统的静态数据的聚类方法进行聚类。

    基于模型的方法认为相似的时间序列应该产生相似的模型,所以通过比较模型之间的相似性可以达到时间序列聚类的目的。困难在与模型选择和参数确定两个问题。常用的模型:

    • ARMA模型
    • HMM模型
    • 马尔科夫链

    基于特征提取的聚类主要应用于高维时间序列,特别是高频金融时间序列,经过特征提取后可有效降维。针对时间序列的数学特性。对时间序列进行特征提取,用提取的特征项对时间序列进行时间序列的重新描述,然后对重新描述的时间序列聚类。
    在这里插入图片描述

    时间序列聚类的步骤

    • 数据简化
    • 两个时间序列相似性的度量
    • 时间序列聚类的通用算法
    • 评估聚类结果的标准

    数据简化

    • DFT 离散傅里叶变换
    • DWT 离散小波变换
    • SVD 奇异值分解
    • PLA 分段线性估计
    • PAA 分段聚合近似
    • SAX 符号化聚合近似

    相似性/距离度量

    • 欧氏距离、Minkovski距离
      在这里插入图片描述

    • Pearson相关系数
      在这里插入图片描述

    • DTW(Dynamic time warping)

    在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同人的语速不同。在这种情况下,使用传统的欧几里得距离无法有效求解两个时间序列之间的距离。
    在这里插入图片描述
    大部分情况下,两个序列整体上具有非常相似的形状,但是这些形状在x轴上并不是对齐的。DTW的思想是把两个时间序列进行wraping,使特征点对齐,直观上理解,就是warping一个序列后可以与另一个序列重合,来得到两个时间序列性的最短距离。
    在这里插入图片描述

    矩阵第(m, n)个元素即是序列P和Q的DTW距离。通常使用一种动态规划的方法来寻找DTW路径,算法的时间复杂度是O(mn),迭代式如下:

    在这里插入图片描述

    举例来说,给定一个样本序列X和比对序列Y:

    • X:3,5,6,7,7,1; Y:3,6,6,7,8,1,1

    X/Y距离矩阵
    在这里插入图片描述
    在这里插入图片描述

    聚类方法

    常用于时间序列的聚类算法可以划分为如下几类:

    • 划分方法 例如k-means算法:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据
    • 层次方法 例如CRUE算法:采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类
    • 基于模型的方法 主要是指基于概率模型的方法和基于神经网络模型的方法,例如SOM神经网络

    k-means算法,也被称为k-均值或k-平均。该算法首先随机地选择k个对象作为初始的k个簇的质心;然后对剩余的每个对象,计算其与各个质心的距离,将它赋给最近的簇,然后重新计算每个簇的质心;这个过程不断重复,直到准则函数收敛。通常采用的准则函数为平方误差和准则函数,即SSE(sum of the squared error),其定义如下:
    SSE=i=1kxCixμi22 SSE = \sum\limits_{i=1}^k\sum\limits_{x \in C_i} ||x-\mu_i||_2^2
    k-means算法的具体步骤:

    输入是样本集D={x1,x2,...xm}D=\{x_1,x_2,...x_m\},聚类的簇数kk,最大迭代次数NN

    输出是簇划分C={C1,C2,...Ck}C=\{C_1,C_2,...C_k\}

    1. 从数据集D中随机选择k个样本作为初始的k个质心向量: {μ1,μ2,...,μk}\{\mu_1,\mu_2,...,\mu_k\}
    2. 对于n=1,2,...,Nn=1,2,...,N
      a) 将簇划分C初始化为Ct=    t=1,2...kC_t = \varnothing \;\; t =1,2...k
      b) 对于i=1,2…m,计算样本xix_i和各个质心向量μj(j=1,2,...k)\mu_j(j=1,2,...k)的距离:dij=xiμj22d_{ij} = ||x_i - \mu_j||_2^2,将xix_i标记最小的为dijd_{ij}所对应的类别λi\lambda_i。此时更新Cλi=Cλi{xi}C_{\lambda_i} = C_{\lambda_i} \cup \{x_i\}
      c) 对于j=1,2,…,k,对CjC_j中所有的样本点重新计算新的质心μj=1CjxCjx\mu_j = \frac{1}{|C_j|}\sum\limits_{x \in C_j}x
      d) 如果所有的k个质心向量都没有发生变化,则转到步骤3)
    3. 输出簇划分C={C1,C2,...Ck}C=\{C_1,C_2,...C_k\}

    k-means算法的性能分析

    主要优点:

    • 是解决聚类问题的一种经典算法,简单、快速。
    • 对处理大数据集,该算法是相对可伸缩和高效率的。

    主要缺点:

    • 必须事先给出k值,但很多时候并不知道数据集应该分为多少个类别才最合适。聚类结果对初值敏感,对于不同的初始值,可能会导致不同结果。
    • 初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。可以多设置一些不同的初值,对比最后的运算结果,一直到结果趋于稳定来解决这一问题,但比较耗时,浪费资源。
    • 只能处理等长的时间序列

    评估聚类结果的标准

    一般来说,在没有数据标签的情况下,对提取的聚类进行评估并不容易,它仍然是一个开放的问题。聚类的定义取决于用户,领域,而且是主观的。 例如,簇的数量,簇的大小,异常值的定义以及问题中时间序列之间相似性的定义都是主观的。

    • 有ground truth 将聚类结果与ground truth比较
      Rand Index
      Mutual Information
      Cluster Similarity Measure (CSM)
      Cluster purity
      Jaccard Score
      ……

    • 无ground truth 用于比较不同聚类方法得到的结果
      SSE(均方误差):对每个时间序列来说,就是到最近的集群的距离
      Silhouette Coefficient(轮廓系数) 
      ……

    参考
    Clustering of time series data—a survey
    Time-series clustering – A decade review
    https://www.cnblogs.com/pinard/p/6164214.html
    https://www.jianshu.com/p/7c2640973f01

    展开全文
  • Windows批处理文件中引用日期和时间的方法   下面是 a.bat 文件的内容:

    下面介绍在Windows批处理文件中引用日期和时间的方法。

    %DATE%输出的是: yyyy/mm/dd 星期* (例如:2008/12/18 星期四)
    引用格式:%DATE:~x,y%
    x=起始坐标,y=从x开始截取字符个数

    如:
    %DATE:~0,4% --> yyyy
    %DATE:~5,2% --> mm
    %DATE:~8,2% --> dd

    如取出格式为 YYYYMMDD 的日期:%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%     -->20081218

    %TIME%输出的是:hh24:mi:ss.ms (例如:10:49:12.17)
    引用格式:%TIME:~x,y%
    x=起始坐标,y=从x开始截取字符个数

    如:
    %TIME:~0,2% --> hh
    %TIME:~3,2% --> mi
    %TIME:~6,2% --> ss

    如取出格式为 HHMMSS 的时间:%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%     -->104912

    输出格式化后的日期时间:%DATE:~4,4%%DATE:~9,2%%DATE:~12,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%     -->20081218104912

     

    举例说明,把下面内容复制到一个.bat 文件保存运行。

     

    @echo off 
    
    echo  *** %DATE% 
    echo  *** %TIME% 
    
    set THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
    echo  %THISDATE%
    
    set THISTIME=%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
    echo  %THISTIME%
    
    set THISDATETIME=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
    echo  %THISDATETIME%
    
    pause


    运行结果:

     *** 2014-09-16 星期二
     *** 10:26:46.43
     20140916
     102646
     20140916102646
    请按任意键继续. . .

     

     

    展开全文
  • 安装npm install时,长时间停留fetchMetadata: sill mapToRegistry uri ...但是,最近两次操作都是长时间停留,网上找了一些原因,才发现后面URL地址可以由淘宝源代替,原来是资源问题导致 方法...

    安装npm install时,长时间停留在fetchMetadata: sill mapToRegistry uri http://registry.npmjs.org/whatwg-fetch处,

    此处需要在对应的URL处下载一些文件,只要网络稳定,一般花不了多长时间

    但是,最近两次操作都是长时间停留,在网上找了一些原因,才发现后面的URL地址可以由淘宝的源代替,原来是资源问题导致的

    方法如下:

    更换成淘宝的源

    npm config set registry https://registry.npm.taobao.org 
    – 配置后可通过下面方式来验证是否成功 
    npm config get registry 
    – 或npm info express

    展开全文
  • Python输入时设置等待时间的一种方法 # -*- coding: utf-8 -*- """ @author: __spyder__ """ import time import msvcrt import os def getInput( timeout = 5): start_time = time.time() input = '' while ...
  • 下面是我自己工作中遇到问题,和我自己解决方法。 要统计出项目中方法执行时间大于1秒那些方法!我们项目开发使用是SpringMVC 那么首先想到使用 Aop Aspet 切面统计,那样子更加方便也高效。 1:打开...
  • jsp中插入时间控件使用方法

    万次阅读 2016-07-29 22:30:07
    1.网上下载时间控件 My97DatePicker ,然后将整个jar包文件解压,  得到一个My97DatePicker文件夹,将整个文件夹放到工程目录下面WebRoot下面 2.jsp文件中插入如下代码 请选择年份: 3....
  • 之前由于仗着C盘空间大,任性往上面装了很...浏览器中一般常规方法都试了,什么自带磁盘清理、关闭休眠、压缩驱动啊,都没什么用。 经过我一天半不懈探索,终于找到了清理C盘最佳姿势。 参考知乎:https...
  • SpringBoot设置接口超时时间的方法

    万次阅读 2019-09-02 09:51:23
    SpringBoot设置接口超时时间的方法 这篇文章主要介绍了SpringBoot设置接口超时时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习...
  • MySQL模糊查询日期时间的方法

    万次阅读 2018-08-02 18:33:53
    今天写一个SSM项目时,其中需要到用模糊查询日期,...1.Convert转成日期时间型,用Like查询。select * from table1 where convert(date,DATETIME) like '2006-04-01%' 第一种方法应该适用与任何数据类型; 2.B...
  • 远程连接提示:两台计算机无法分配的时间内连接解决方法,这个发生之前,火狐浏览器突然也不能上网了,其他浏览器都正常。解决后两个问题同时解决。 今天使用远程桌面连接时候发生了连接失败问题,每次连接...
  • 一定时间内只让方法调用一次

    千次阅读 2018-05-25 14:51:54
    在一定时间内(假如 1s ),只调用一次,该方法调用的参数是100次调用中的最后一次的参数原理:利用List存储一定时间内的该方法的参数,使用定时器,在时间到达时,取出List里面最后一次的参数,再调用要调用的方法。...
  • 总结下利用python赚钱的方法闲余时间月赚2k-5k

    万次阅读 多人点赞 2019-10-14 09:36:09
    我之前做过半年少儿编程老师,一个小学四年级小孩子都能教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以...
  • Java判断时间在5分钟之内方法

    万次阅读 2017-09-21 23:24:50
    //要判断日期 c2.setTime(new Date());//初始日期 c3.setTime(new Date());//也给初始日期 把分钟加五 c3.add(Calendar.MINUTE, 5); c2.add(Calendar.MINUTE,-5);//减去五分钟 System.out.println("c1"+...
  • 时间序列归一化方法

    万次阅读 2015-03-30 19:16:42
    在机器学习、模式识别模型训练之前,通常需要对数据进行预处理工作,在哪种情况下选用哪种预处理方法,仍然是很多工作...由于时间序列特殊性(1、相邻序列之间模式相关性,2、在时间维度上数据是不断产生),因
  • 项目新增需求需要每天指定4个时间段给用户提示参加活动,当前时间为服务段返回. 当天很简单,直接对比两个时间(long型)大小就可以了,但是要求是每天都要执行.因此就需要针对时间戳进行字符转换和 截取操作...
  • SVProgressHUD对iOS开发者来说是一个很好用的第三方开发类库,但是用的时候,提示的显示时间有的时候非常的短,在上查找了很多的资料,发现并没有相关的资料....然后myMethod方法中实现显示蒙版的方法,即 这样就可以了
  • python计算程序的运行时间的方法开头Python程序中经常使用方法jupyter 中的快捷统计程序运行时间的方法总结 写开头 由于平时工作、测试或者实验需要,经常需要计算程序运行时间,其运行环境一般是jupyter或非...
  • 让QT 程序休眠一段时间的方法

    万次阅读 2018-07-23 17:23:00
    最开始我需要这样的需求时候,我第一反应想到的是QT Assistant 中搜索sleep方法,企图寻找让程序暂停、休眠一段时间的方法,不过,搜索结果显然令我很失望,并没有找到直接满足需求的sleep方法,不过看到了QThread...
  • 很多时候我们需要计算我们程序性能,这个时候我们常常需要统计程序运行的时间。下面我们就来说说怎么统计程序运行时间。 2. 实现方法 计算Python某个程序,或者是代码块运行的时间一般有三种方法...
  • 既然已经显示为时间了,要去掉时分秒,可以使用date函数, date("Y-m-d",strtotime($content['publish_time'])); 这是解决问题一种思维,
  • 一开始都是需要地方,写个方法,后来随着工程开发,这样的时间计算和格式化需要越来越多。干脆索性就直接写个日期时间管理类。下面就是具体方法代码: 首先定义一些静态常量,通常会作为参数
  • 设置PHP脚本执行超时时间的方法

    万次阅读 2018-10-11 10:59:02
    设置PHP脚本执行超时的时间有下面这样一些方法: php.ini 中限定程序最长执行时间是 30 秒,这是由 php.ini 配置文件中 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成程序代码,代码会...
  • 解决方法系统偏好设置-安全性与隐私-通用-高级 把“XX分钟不活跃后注销”勾去掉就好。
  • #include <time.h> #include <stdio.h> int main() { double start,end,cost; start=clock(); sleep(1); end=clock(); cost=end-start; printf("%f/n",cost); return 0;...}
  • JAVA中实现让程序等待一段时间的方法

    万次阅读 多人点赞 2019-04-16 23:19:11
    JAVA中想让代码等待一段时间再继续执行,可以通过让当前线程睡眠一段时间的方式。 方法一:通过线程的sleep方法。 Thread.currentThread().sleep(1000); 需要程序等待的地方加入这个语句,实现让程序等待,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 208,910
精华内容 83,564
关键字:

在时间的方法