机器学习
文章平均质量分 50
Great1414
不破不立
展开
-
时间序列(time serie)分析系列之线性回归or随机森林4
时间序列数据是一种典型的数据,时间序列预测方法比较多。比如ARIMA模型、Prophet模型、指数平均法、滑动平均法等等。 本文采用机器学习算法,如线性回归、随机森林等,完成时间序列预测,预测效果也比较好。原创 2019-01-03 17:20:46 · 13107 阅读 · 11 评论 -
python单元测试及TXT/HTML/XML报告(非常全)
python单元测试教程(全)Python中自带的单元测试框架是unittest模块,用它来做单元测试。unittest中:TestCase 测试用例TestSuite 多个测试用例集合TestLoader加载TestCase到TestSuite中TestRunner是来执行测试用例的可以直接使用unittest进行测试,但没有很好的报告,也可以使用其他补充包,如HtmlTestR...原创 2018-11-29 17:06:34 · 2396 阅读 · 1 评论 -
DTW归整路径距离
学习完补充....https://pypi.org/project/fastdtw/https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.htmlhttps://www.cnblogs.com/Daringoo/p/4095508.html转载 2018-10-25 20:38:55 · 1381 阅读 · 0 评论 -
几个数据缺失处理,时间序列的python包——fancyimpute/impyute/knnimpute/tslearn/
由于项目的需要,对时间序列数据中存在的数据缺失和异常进行处理,所以找到几个类似的python模块,里面有knn等方式填补缺失值的算法。目前正在尝试使用中,后续有案例发上来。先附上每个包的简介和GitHub:https://pypi.org/project/fancyimpute/https://github.com/iskandr/fancyimputehttps://blog.c...原创 2018-10-17 10:49:48 · 6796 阅读 · 1 评论 -
时间序列(time serie)分析系列之SARIMAX预测与异常诊断3
目录1.简介2.预测流程1.读取数据 2.判断数据稳定性3.分解模型 4.建立模型5.模型诊断 6.模型预测7.未来预测与诊断异常1.简介ARIMA是一种常见的时间序列处理模型。但在处理季节性影响时,我们利用季节性预测模型SARIMAX,表示为ARIMA(p,d,q)(P,D,Q)s 。 这里, (p, d, q)是ARIMA的非季节性参数,而(P, ...原创 2018-10-10 17:11:20 · 9158 阅读 · 14 评论 -
KNN缺失填补knnimpute/impyute/fancyimpute
常见的数据缺失填充方式分为很多种,比如删除法、均值法、回归法、KNN、MICE、EM等等。R语言包中在此方面比较全面,python稍差。 目前已有的两种常见的包,第一个是impyute,第二个是fancyimpute,具体的内容请百度,此方面的例子不是很多。比如fancyimpute中也集成了很多方式,包括均值、众数、频数填充,KNN填充、MCMC填充等。...原创 2018-10-19 12:28:15 · 24787 阅读 · 9 评论 -
移动平均法,滑动平均模型法(Moving average,MA)
什么是移动平均法移动平均法是用一组最近的实际数据值来预测未来一期或几期内产品的需求量的一种常用方法。移动平均法适用于即期预测。当产品需求既不快速增长也不快速下降,且不存在季节性因素时,移动平均法能有效地消除预测中的随机波动,是非常有用的。移动平均法根据预测时使用的各元素的权重不同,可以变为加权移动平均。 移动平均法是一种简单平滑预测技术,它的基本思想是:根据时间序列资料、逐项推移,依次计...原创 2018-10-16 12:22:23 · 13875 阅读 · 0 评论 -
数据缺失值填补
缺失值填充方法包括简单填充、属性填充和实例填充三种类型,本文主要研究属性填充方式。填充依赖原始数据的单一或少量属性维度,利用属性间的关系或属性潜在的规则对缺失值进行填充。常用的属性填充方法有:基于回归分析、信息增益、灰色预测的方法和EM 算法等。基于回归分析的填充方法通过拟合回归数学模型计算缺失值,该方法仅适用于满足确定数学模型的数据集;基于信息增益的方法,依据与缺失数据关联密切的属性...转载 2018-10-15 17:20:34 · 6041 阅读 · 0 评论 -
时间序列(time serie)分析系列之平均法(移动/指数)2
平均法移动平均法指数平均法原创 2019-01-12 21:50:28 · 4054 阅读 · 0 评论 -
样本不均时,如何处理(PU learning/OneClassSvm/AutoEncoder)
在样本不均匀,只有正样本和大量未标记样本,或者只有少量负样本时,该如何做分类研究。调研了几种方法,主要包括OneClassSvm, AutoEncoder, PU Learning原创 2019-10-10 19:45:47 · 1735 阅读 · 0 评论 -
时间序列及异常检测综述(资料)
文章目录1. 背景2. 时间序列预测方法3. ARIMA3.1 ARIMA模型预测的流程3.2 学习资料4. Prophet4.1 Prophet流程4.2 Prophet注意4.3 学习资料5. 其他时序方法6. 异常诊断相关方法7. 异常检测参考资料1. 背景时间序列数据(time series data)是在不同时间上收集到的数据,用于描述现象随时间变化的情况。时间序列是一种典型的数据,...原创 2019-03-06 17:11:28 · 10652 阅读 · 6 评论 -
机器学习调参之贝叶斯优化
文章目录一、简介二、理论三、hyperopt四、bayes_opt五、参考一、简介贝叶斯优化用于机器学习调参,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布。简单的说,就是考虑了上一次参数的信息,从而更好的调整当前的参数。与常规的网格搜索或者随机搜索的区...原创 2019-01-22 21:01:59 · 3302 阅读 · 0 评论 -
LR与SVM的联系与区别
文章目录一、LR与SVM的相同点1. LR与SVM都是分类算法2. LR与SVM都是有监督学习算法3. LR与SVM都是判别模型4. LR与SVM都是线性模型二、LR与SVM的不同点1. 损失函数不同2. 线性SVM是距离度量,需要normalization3. SVM自带正则化,LR必须额外添加4. SVM有核函数,LR一般不用核函数三、参考LR与SVM都是机器学习中经常会用到的算法。现在想深...转载 2019-01-28 12:25:25 · 538 阅读 · 0 评论 -
时间序列(time serie)分析系列之Prophet6
文章目录1.Prophet简介2.Prophet流程3.学习资料1.Prophet简介Prophet是Facebook开源的一个关于时间序列的框架。Prophet功能完善,既可以做未来预测,也可以填补缺失值,并且可以检测异常。Prophet的整体框架,整个过程分为四部分:Modeling、Forecast Evaluation、Surface Problems以及Visually Inspe...原创 2019-01-14 12:14:20 · 1248 阅读 · 0 评论 -
小波变换学习—pywavelets
最近正在学习音频方面的项目,涉及到了小波变换的内容。pywavelets是其中一个比较常见的小波模块。复现了下其他博客如下:小波变换-python pywaveletsnp.piecewise是根据条件筛选,然后执行例如lambda/函数等操作。参考链接np.piecewise#!/usr/bin/env python# encoding: utf-8import numpy as np...转载 2019-01-18 17:41:42 · 2210 阅读 · 0 评论 -
时间序列(time serie)分析系列之ARIMA预测3.1
文章目录1.ARIMA简介2.ARIMA示例3.保存模型4.总结1.ARIMA简介2.ARIMA示例3.保存模型如何保存ARIMA模型(修复bug)4.总结原创 2019-01-13 14:27:24 · 1880 阅读 · 0 评论 -
时间序列(time serie)分析系列之时间序列特征(feature)7
文章目录1.问题描述2.特征构建2.1时间特征2.2平移特征2.3窗口特征3.总结1.问题描述时间序列数据作为一种典型的数据,常存在于各行各业。比如客流、车流、销量、KPI指标等等。如何对时序数据加以利用,比如做未来预测,交通拥堵分类等问题。在采用机器学习算法之前,首先需要我们构建特征。因为大多数时序数据都是单变量或者维度特别少,所以特征的构建就比较重要。笔者总结了几种特征,供大家参考,有...原创 2019-01-13 11:49:20 · 18206 阅读 · 0 评论 -
异常检测模型
异常的类型:意料之外的峰谷、趋势变动、水平变化等。异常检测的方式主要分为两种,第一是直接预测出异常,第二是通过预测结果,然后根据置信区间判断异常。异常检测模型:STL分解CART树ARIMA指数平滑神经网络LSTMhttps://statsbot.co/blog/time-series-anomaly-detection-algorithms/https...原创 2018-09-30 09:43:05 · 4392 阅读 · 0 评论 -
异常点检测方法
Z分数dbscanisolation forests同比/环比/预测器/比较器95%置信区间 基于离散傅里叶变换的时间相似性查找(针对时间序列数据)转载 2018-10-15 14:05:34 · 554 阅读 · 0 评论 -
时间序列模型
import pandas as pdimport numpy as npimport matplotlib.pylab as pltfrom scipy import statsimport statsmodels.api as smfrom statsmodels.graphics.tsaplots import plot_acf, plot_pacffrom statsmode...原创 2018-09-29 09:51:28 · 541 阅读 · 0 评论 -
非均衡分类问题
前面刚学习了一些基本的分类算法,接触到了非均衡分类问题。常见的精度score指标,不一定能很好的评价模型的好坏。常用模型评价方法,主要包括交叉验证、网格搜索 非均衡分类有两种情形:情形一:正例和反例数量相差非常大。比如,分析信用卡信息集里面的正常样本和诈骗样本。正常样本固然比诈骗样本要多的多了。情形二:分类正确/错误的代价不同。比如,分析病人的体检数据,有病诊断为无病的...原创 2018-07-25 11:55:01 · 386 阅读 · 0 评论 -
机器学习系列之聚类
三种常用的聚类算法: (1)基本K均值:基于原型的,划分的聚类技术,试图从全部数据对象中发现用户指定个数的簇。 (2)凝聚层次聚类:开始每个点各成一簇,然后重复的合并两个最近的簇,直到指定的簇个数。 (3)DBSCAN:一种划分的,基于密度的聚类算法。优缺点,不再赘述,参考https://www.cnblogs.com/giserliu/archive/2015/...转载 2018-07-19 19:23:45 · 183 阅读 · 0 评论 -
常见的相似度计算方法
1. 欧氏距离2. 曼哈顿距离3. 切比雪夫距离4. 闵可夫斯基距离5. 标准化欧氏距离6. 马氏距离7. 巴氏距离(Bhattacharyya Distance)8. 汉明距离(Hamming distance)9. 夹角余弦10. 杰卡德距离 & 杰卡德相似系数11. 相关系数 & 相关距离12. 信息熵后续研究......参...转载 2018-07-25 10:09:16 · 1984 阅读 · 0 评论 -
机器学习系列之决策树
最近想把每个机器学习的算法,重新学习一遍。最好能自己编写一遍,但是一方面编程能力欠缺,另一方面时间有限。所以大本分代码都是跟着别人的技术博客,照葫芦画瓢。无论是编程能力,还是机器学习算法,都有待进一步提升。请注意下面的代码不完整,完整代码请参照下面分享的大牛的技术博客。#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'Gr...转载 2018-07-06 09:18:47 · 144 阅读 · 0 评论 -
机器学习系列之逻辑回归
极大似然估计:利用已知样本数据,去估计导致相关的参数。最小二乘法:梯度下降法:转载 2018-07-11 17:07:32 · 178 阅读 · 0 评论 -
机器学习算法优缺点及应用
一、DT优点:易于理解和解释,可以可视化分析;运行速度较快;可以很好的扩展到大型数据库中。缺点:对缺失值处理比较困难;容易出现过拟合问题;忽略数据中属性的相互关联;可能或陷于局部最小值中;ID3算法计算信息增益时结果偏向数值比较多的特征。改进:进行剪枝。采用交叉验证法和正则化的方法。使用基于决策树的combination算法,如bagging算法,randomforest算法,可以解决过拟合的问题...转载 2018-05-05 22:35:20 · 544 阅读 · 0 评论 -
机器学习之逻辑回归
Logistic Regression 就是一个被logistic 方程归一化后的线性回归。——某大神Logistic Regression的适用性:1.可用于概率预测,也可用于分类概率预测:预测每个可能性,选出可能性最大的N个。(支持向量机不行,超平面分割只有+1和-1)分类问题:设定一个阈值,高于阈值为一类,低于阈值为一类。2.仅能用于线性问题只有在feature和target是线性关系时,才...原创 2018-05-05 20:55:40 · 136 阅读 · 0 评论 -
最小二乘、极大似然估计、梯度下降法
最小二乘、极大似然估计、梯度下降法,是机器学习中常出现的名词。最小二乘和极大似然是目标函数,梯度下降是优化算法。机器学习的基本框架基本是模型、目标和算法。对于一个数据集,根据数据的特点和目的来选择相应的模型。选择了模型后,为了拟合或分类数据,所以要构造一个目标函数cost function。构造cost function后,有一部分目标函数,可以直接通过求导求解。而大部...转载 2018-07-22 15:20:16 · 836 阅读 · 0 评论 -
机器学习系列之支持向量机
这是一个介绍比较全面、易懂的文章,作者七月在线。https://blog.csdn.net/v_july_v/article/details/7624837SVM整个流程:本质是个分类方法1. 构造w^T + b 分类函数,然后目标是求解w、b2.寻求最大间隔,引出目标函数:1/2||w||^2,约束条件yi(w^Txi + b)>=13.引入拉格朗日因子,将目标函数、约束条...原创 2018-07-30 22:01:24 · 137 阅读 · 0 评论 -
机器学习系列之RandomForest/Adaboost
目录RandomForest每棵树生成规则:随机森林包含两个随机:Adaboost迭代过程: 加权结果:参见网址:RandomForest随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。将若干个弱分类器的分类结果进行投票选择,从而组成一个强分类器,...原创 2018-08-04 11:21:36 · 501 阅读 · 0 评论 -
机器学习系列之precision、recall/scaling、normalization
准确率precision:召回率recall: 待续。。。原创 2018-08-16 12:02:06 · 339 阅读 · 0 评论 -
机器学习系列之特征工程
数据的特征选择数据特征主要分为两部分,一部分是业务已经整理好的各种特征数据;另一部分是根据业务特征去构造的数据特征。特征选择的方法一、已有特征1.过滤法选择特征:方差越小,不同样本的特征值越相似,此特征作用越小;各个特征与输出值间的相关系数,选择相关系数较大的部分特征;假设检验,如卡方检验、F检验、t检验;互信息,信息增益。2.包装法选择特征最常用的包装法是...转载 2018-08-13 11:36:17 · 287 阅读 · 0 评论 -
机器学习系列之交叉验证、网格搜索
第一部分:交叉验证机器学习建立和验证模型,常用的方法之一就是交叉验证。在机器学习过程中,往往数据集是有限的,而且可能具有一定的局限性。如何最大化的利用数据集去训练、验证、测试模型,常用的方法就是交叉验证。交叉验证,就是重复的使用数据,对样本数据进行划分为多组不同的训练集和测试集(训练集训练模型,测试集评估模型)。交叉验证一般使用在数据不是很充足情况。一般问题,如果数据样本量小于一万条,就会...转载 2018-08-08 08:15:27 · 2465 阅读 · 1 评论 -
机器学习系列之GBDT
GBDT既可以用于回归,也可以用于分类。两者本质是一样的,分析流程也大致相同,区别在于loss function不同。首先,介绍一下提升方法,boosting就是把一系列的弱学习器反复学习,然后组合成强学习器。对于提升方法,主要需要回答两个问题:第一个是每一轮学习过程中如何改变训练数据的权值或概率分布;第二个就是如何将弱分类器组合成强分分类器。在前面讲到的Adaboost中,根据每次训练数...转载 2018-08-08 07:56:59 · 488 阅读 · 0 评论 -
机器学习系列之偏差、方差与交叉验证
一、偏差与方差在机器学习中,我们用训练数据集去训练(学习)一个model(模型),通常的做法是定义一个Loss function(误差函数),通过将这个Loss(或者叫error)的最小化过程,来提高模型的性能(performance)。然而我们学习一个模型的目的是为了解决实际的问题(或者说是训练数据集这个领域(field)中的一般化问题),单纯地将训练数据集的loss最小化,并不能保证在解决...原创 2018-08-08 07:54:14 · 915 阅读 · 0 评论 -
数据处理不常用语句3
###########################时间序列#################################data_bs.index = pd.date_range(start='2018-08-01 00:00:00',periods=744,freq='h',normalize=True)#####################################...原创 2018-08-14 19:39:30 · 179 阅读 · 0 评论 -
sklearn中pipeline机制
from sklearn import Pipeline管道机制在机器学习算法中得以应用的根源在于,参数集在新数据集(比如测试集)上的重复使用。管道机制实现了对全部步骤的流式化封装和管理(streaming workflows with pipelines)。注意:管道机制更像是编程技巧的创新,而非算法的创新。 待写。。。 参考:https://blog.csdn.n...转载 2018-08-01 19:13:49 · 791 阅读 · 0 评论 -
机器学习系列之集成学习
集成学习ensemble learning本身不是单独的学习算法,而是集众家之长,构建结合多个机器学习器完成学习任务。集成学习可以用于分类问题集成,回归问题集成,特征选择集成,异常点检测集成等。1.集成学习概述集成学习的思想:对于训练数据,通过若干个个体学习器,通过一定的结合策略,最终形成一个强学习器,用以完成学习任务。集成学习有两个主要的问题,需要解决,第一个就是如何获得若干个学...转载 2018-08-05 13:45:24 · 265 阅读 · 0 评论 -
机器学习之决策树
决策树:doc文件可以转换为图片或者PDF。entropy信息熵samples样本数量value = [2,1]表示负能量占2/3,正能量占1/2往左看:负能量往右看:正能量原创 2018-05-05 18:35:58 · 161 阅读 · 0 评论