
机器学习and数据挖掘
文章平均质量分 58
slibra_L
Data mining g g g g g...
展开
-
开源时序建模框架Kats
KATS简介时间序列分析建模是数据科学和机器学习的一个重要的领域,在电子商务、金融、供应链管理、医学、气象、能源、天文等诸多领域有着广泛的应用。目前时间序列分析以及建模的技术非常多,但相对散乱。Facebook开源的Kats 是第一个开发标准并连接时间序列分析各个领域的综合 Python 库,用户可以在这里探索其时间序列数据的基本特征,预测未来值,监视异常,并将其合并到ML模型和pipeline中。Kats (Kits to Analyze Time Series) 是一个轻量级、易于使用、可扩展和通原创 2021-08-23 17:11:49 · 2286 阅读 · 1 评论 -
mac os安装spark
最近由于需要使用本机环境运行spark,所以进行了spark的安装,记得当年(2017年)装spark的时候折腾了几个小时才装好,没想到现在安装的流程这么简单,1. 下载安装包http://spark.apache.org/downloads.html这里我选的是spark-2.4.7-bin-hadoop2.7.tgz2. 安装cd /usr/localmv ~/Downloads/spark-3.0.0-preview2-bin-hadoop2.7.tgz ./ # 下载sp原创 2020-11-21 21:02:49 · 684 阅读 · 1 评论 -
服务器jupyter使用matplotlib显示中文
问题: 在服务器上jupyter使用matplotlib画图,中文显示为方块解决方案:1. 下载字体simhei2. 查找字体路径和缓存路径import matplotlib# 查找字体路径print(matplotlib.matplotlib_fname())# 查找字体缓存路径print(matplotlib.get_cachedir())3. 将下载好的字体文件,存放到目录:(根据上面的结果,找到字体存放位置)/home/dev/.conda/envs/python原创 2020-10-27 11:48:51 · 904 阅读 · 1 评论 -
pycharm2020报错 Error: failed to send plot to http://127.0.0.1:63342
pycharm2020报错 Error: failed to send plot to http://127.0.0.1:63342问题:使用pycharm2020连接远程Python解释器,画图plt.show()报错错误原因:在“http://127.0.0.1:63342”中的63342是环境变量os.environ[‘PYCHARM_DISPLAY_PORT’]或者os.getenv(“PYCHARM_MATPLOTLIB_PORT”)。远程解释器尝试将图像数据发送到 远程服务器的1原创 2020-09-08 12:47:06 · 3061 阅读 · 4 评论 -
sklearn接口报错Input contains NaN, infinity or a value too large for dtype(‘float64‘)
1. 错误场景某个包调用了sklearn接口,在fit(x,y)时报错Input contains NaN, infinity or a value too large for dtype('float64')2. 错误原因通过查看/sklearn/utils/validation.py文件,发现有一段这样的代码: if is_float and (np.isfinite(_safe_accumulator_op(np.sum, X))): pass elif原创 2020-08-11 10:54:51 · 18388 阅读 · 5 评论 -
spyder增加模块代码提示功能
最近在配置tensorflow,可是发现使用spyder的时候无法加载tensorflow的代码提示,需要自己输入完整的函数名称,十分不方便,于是从网上找了一些资料,来解决spyder无法出现代码提示的问题。 1、找到module_completion.py这个文件,我使用的是anaconda3,路径如下:D:\anaconda3\Lib\site-packages\spyder\utils\in原创 2017-12-12 10:38:36 · 15142 阅读 · 6 评论 -
windows下anaconda(Python)中xgboost的安装
之前安装xgboost走了不少弯路,现在终于配置好了,想在这里写一下可能出现的坑,经测试windows7和windows10下均可以使用1、首先在我的网盘里下载编译过的xgboost,https://pan.baidu.com/s/1hs48Hhy2、然后解压到E:\anaconda2\Lib\site-packages文件夹下,如果没有用anaconda,那么就解压到\python2.7...原创 2017-08-23 10:20:16 · 8384 阅读 · 4 评论 -
python模型转PMML
关于python模型的部署,目前有以下几种方式flask等python为服务框架,无需跨语言xgb4j,lgb4j等Java包,需跨语言,但只支持xgb/lgbPMML,跨语言,支持所有sklearn接口的模型综上所述,当遇到跨语言部署时,PMML是个万金油方式,可以将所有sklearn接口的模型转换为PMML文件,并用JAVA/SCALA相关的包进行解析,然而经过一番调研,网上关于p...原创 2019-05-21 09:57:32 · 7296 阅读 · 6 评论 -
pytorch训练出现loss=na
遇到一个很坑的情况,在pytorch训练过程中出现loss=nan的情况有以下几种可能:1.学习率太高。2.loss函数有问题3.对于回归问题,可能出现了除0 的计算,加一个很小的余项可能可以解决4.数据本身,是否存在Nan、inf,可以用np.isnan(),np.isinf()检查一下input和target5.target本身应该是能够被loss函数计算的,比如sigmoid激活...转载 2019-06-24 20:25:27 · 1017 阅读 · 0 评论 -
python3下使Word2Vec每次运行结果一致
如何在python3环境使Word2Vec每次运行结果一致我们经常使用gensim的Word2Vec来进行单词转向量,但是这个包存在一个问题,每次训练结果都不同,这就导致了特征无法复现。查阅Word2Vec的官方文档,在seed参数哪里可以发现这样的解释:seed (int) – Seed for the random number generator. Initial vectors f...原创 2019-08-05 10:06:43 · 1039 阅读 · 0 评论 -
Windows下fbprophet的安装
fbprophet时Facebook开源的时序预测包昨天花了三个小时时间,终于装好了fbprophet,在此记录一下踩过的坑。坑1:\VC\**SDK不存在原因:虽然安装了VS2015,但是C++组件没有安装完全解决:打开VS2015,文件-新建-项目,选择visual C++,安装C++组件坑2:error: command {VC路径} \VC\BIN\cl.exe’ failed...原创 2018-12-19 09:50:08 · 3031 阅读 · 0 评论 -
Jupyter Notebook安装及简单应用
1 简介简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。2 安装安装anaconda的前提下,使用如下代码:conda install jupyter notebook3 启动在终端中输入如下代码,会自动在浏览器...原创 2019-02-19 09:38:40 · 451 阅读 · 0 评论 -
密度聚类算法DBScan
利用密度聚类DBScan对样本进行分类。 基本思路: 1、读取两组不同数据训练 2、分别对两组数据进行聚类 3、将聚类结果视作一个多维空间的点,计算其到原点的欧氏距离 4、根据ans1和ans2的欧氏距离找到合适的阈值几个必要概念: ε-邻域:对于样本集中的xj, 它的ε-邻域为样本集中与它距离小于ε的样本所构成的集合。 核心对象:若xj的ε-邻域中至少包含MinPts个样本,则xj为原创 2017-11-28 15:54:29 · 640 阅读 · 0 评论 -
LightGBM和XGboost的对比
2017年初,微软开源了新的机器学习框架LightGBM,以GBDT为基础,据说在Higgs数据集上LightGBM比XGBoost快将近10倍,内存占用率大约为XGBoost的1/6 中文文档:http://lightgbm.apachecn.org/cn/latest/index.htmlXGBoost是此前最好的Boosting模型,既然传言LightGBM性能更高,那二者有什么不同呢...原创 2018-03-25 12:47:24 · 2594 阅读 · 0 评论 -
win10环境下xgboost0.7的安装
以前用过xgboost0.4,刚换了电脑准备安装最新版的xgboost,今天尝试了很多复杂的方法(先编译再安装),都失败了,最后使用了可一个简单的方法反而成功了,原来现在xgboost无需编译,只要一键即可安装下载whl文件,文件地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost,请看准是否和自己的相符,py35代表python...原创 2018-07-10 20:01:53 · 385 阅读 · 0 评论 -
【转】LightGBM 如何调参
看到一篇写得很好的文章,原文地址https://www.jianshu.com/p/b4ac0596e5ef本文结构:什么是 LightGBM 怎么调参 和 xgboost 的代码比较1. 什么是 LightGBMLight GBM is a gradient boosting framework that uses tree based learning algorith...转载 2018-07-31 20:18:54 · 1207 阅读 · 0 评论 -
贝叶斯优化参数
[贝叶斯优化]简介贝叶斯优化用于机器学习调参由J. Snoek(2012)提出,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布。简单的说,就是考虑了上一次参数的信息**,从而更好的调整当前的参数。他与常规的网格搜索或者随机搜索的区别是:贝叶斯调参采用高...转载 2018-10-25 20:55:09 · 5336 阅读 · 3 评论 -
特征顺序对模型的影响
== 最近在做一个部署模型的项目,发现批量预测的结果和部署之后的单条数据入模结果不一致,用了半天的时间才终于找到结果不一致的原因:==两次入模变量的列顺序不一致!以前一致认为lgb/xgb这样的模型时可以识别列名的,只要输入的特性相同就没有问题,但这种观点时错误的,做了一个简单的实验:from sklearn import datasetsimport lightgbm as lgbim...原创 2018-11-19 10:41:01 · 4280 阅读 · 3 评论 -
数据挖掘过程中的问题集合
问题1:以bid(客户一次消费行为id)进行建模,导致同一个客户对应的label不同解决:以cid(客户id,人维度)进行建模,对label归一化,统一处理为0或者1,相当于加权操作问题2:训练集和测试集中有重复数据,可能造成过拟合解决:实际训练时,对重复数据进行处理,如:剔除训练集的重复数据,但在测试集中保留。如果是参加算法比赛,可以将重复数据找出后做成规则,增加预测准确度...原创 2018-11-19 10:50:04 · 1134 阅读 · 0 评论 -
数据挖掘名词解释
concept drift(概念漂移)目标变量随着时间的推移发生改变。例如对金融衍生品价格预测、好坏分类指标等。sudden指的是迅速同时又不可逆的改变,强调的是发生的迅速。incremental和gradual都是强调改变发生的缓慢,incremental强调值的随时间改变,gradual则是数据分布的改变。也有些研究者将这两种变化划分为同一类,用incremental gradual...原创 2018-12-18 10:24:25 · 2821 阅读 · 0 评论 -
conda activate报错:gbk相关错误
使用conda create -n 建立新的虚拟环境后,使用activate无法进入虚拟环境,报了一个和gbk相关的错误,后来经排查发现,是系统环境变量中包含中文字符,把系统变量中所有装在中文路径下的软件卸载,这个问题就解决了。这就告诉我们,重要软件一定不要装在中文路径下!!!...原创 2019-03-26 11:25:02 · 2099 阅读 · 2 评论 -
XGBOOST常用参数介绍
在参加o2o预测比赛的时候用了xgboost模型,可是模型中的超参数很多,为了获得更好的成绩,只能一个一个参数去调,为了成绩上升0.0001分。 总结了以下xgboost中常用参数的意义:params={'booster':'gbtree', #gbtree使用基于树的模型进行提升计算,gblinear使用线性模型进行提升计算 'silent':0, #取0时表示打印出原创 2017-09-15 16:06:01 · 2787 阅读 · 0 评论