随笔分类 - Algorithms
Thinking...
摘要:示例代码 import json import time import datetime import requests as req import numpy as np import pandas as pd import matplotlib.pyplot as plt import matp
阅读全文
摘要:一天的光滑数据 sub = [199.68, 187.16, 173.97, 159.85, 146.92, 135.29, 125.04, 114.86, 105.85, 97.93, 90.6, 84.19, 78.37, 72.85, 68.93, 66.59, 62.19, 58.59, 5
阅读全文
摘要:思路 1. 对原始数据一阶求导,得到一阶导数数组。 2. 对一阶导数数组求标准差。导数的标准差提供了导数值的波动性,标准差越小,曲线越平滑。 平滑曲线 import numpy as np import matplotlib.pyplot as plt from matplotlib import
阅读全文
摘要:原始数据 import matplotlib.pyplot as plt from matplotlib import font_manager fname="/usr/local/python3.6/lib/python3.6/site-packages/matplotlib/mpl-data/f
阅读全文
摘要:构造时序数据 import numpy as np import matplotlib.pyplot as plt # 设置参数 period = 128 num_cycles = 5 total_length = period * num_cycles # 生成周期性信号(正弦波形) np.ran
阅读全文
摘要:前言 高并发场景下,为了保障服务的高可用(过载保护),除了使用消息中间件做流量削峰之外,还可以在网关侧做限流; 而令牌桶则是常见的限流算法,本文简单记录下。 Token bucket 令牌桶算法维基百科 主要思想 1. There is a bucket of a token that can ho
阅读全文
摘要:前言 如何“优雅的轮询”,是生产环境中很常见一种场景, 所谓“优雅”,即在均衡分配的基础上,要保证连续的请求不能连续分配到某一个后端节点上; 可以理解为时间上的连续请求,要尽量分配到物理上的不同节点,避免某段时间内后端单台节点压力过大。 算法描述 On each peer selection we
阅读全文
摘要:Question 给定一个整数数组 nums , 找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 Anwser 当问题可以分解为彼此独立且离散子问题时,可以考虑使用动态规划来解决。 难点在于建模,即设计出动态规划解决方案(找出前后子问题的关系,体现在代码里就是计算公式)。
阅读全文
摘要:量化曲线的波动情况,即如何判断曲线是否平滑? # 求导,统计数据波动的次数,跟阈值作比较 def is_fluctuating(series): ets = series[-1][0] raw = [item[1] for item in series if item[0] >= (ets - 86
阅读全文
摘要:思路: - 取最近两个周期的数据分别做z-score标准化,然后对结果做差,最后在对结果求标准差。 - 比较标准差和1,小于1则是周期性数据。 原始数据 假设周期性是1天,有一条曲线,包含最近两天的时序数据。 import numpy as np import pandas as pd import
阅读全文
摘要:前言 在上一节图的遍历算法的基础上,解决最短路径问题。 存在无权有向图如下: v1表示起点,v9表示终点,请找出有几条路可以达到,并且最短路径是哪个? 深度优先搜索算法求解 from collections import deque Start = "v1" Terminal = "v9" Q =
阅读全文
摘要:前言 图的遍历算法是求解图的连通性问题、拓扑排序和求关键路径等算法的基础。 通常有两种遍历图的方式:广度优先和深度优先(有无向图和有向图都适用),下面以有向图为例给出基于python的两种实现。 已知图如下所示: 广度优先搜索 from collections import deque VISITE
阅读全文
摘要:问题一:一个文件含有5亿行,每行是一个随机整数,需要对该文件所有整数排序。 分治(Divide&Conquer),参考大数据算法:对5亿数据进行排序 对这个一个500000000行的 total.txt 进行排序,该文件大小 4.6G。 每读10000行就排序并写入到一个新的子文件里(这里使用的是快
阅读全文
摘要:二分查找 lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] def binary_search(lst,item): low = 0 high = len(lst)-1 while low <=
阅读全文
摘要:一、股票数据分析 1. 获取茅台股票数据并存储到本地csv文件 1 Signature: 2 ts.get_k_data( 3 code=None, 4 start='', 5 end='', 6 ktype='D', 7 autype='qfq', 8 index=False, 9 retry_c
阅读全文
摘要:twitter的AnomalyDetection 官网效果图如下: 尝试写了下面这个R程序: get_specify_df <- function(start_ts,stop_ts,category='totaluploadspeed'){ library(httr) library(rlist)
阅读全文
摘要:简单移动平均(sma) def moving_average(f_t): if type(f_t) is not np.ndarray: raise TypeError\ ('Expected one dimensional numpy array.') if f_t.shape[1] != 1:
阅读全文
摘要:Z-score Modified Z-score IQR(interquartile range) Conclusion 摘自:http://colingorrie.github.io/outlier-detection.html
阅读全文
摘要:Question 有如下一个字典,内嵌多维列表: 请把所有以 'hit' 开头的key所对应的list按顺序求和,示例结果:{ 'hit':[[9, 39, 69], [12, 42, 72]] } Answer
阅读全文
摘要:Python单例模式 Python基于线程安全的单例模式 惰性初始化 参考:https://www.cnblogs.com/xybaby/p/6425735.html 单例模式的实现一般都有两种方式: 要么在调用之前就创建好单例对象(eager way),要么在第一次调用的时候生成单例对象(lazy
阅读全文