
数据挖掘+机器学习(算法)
文章平均质量分 84
Soyoger
申明:个人微信公众号:AI技术研习社,公众号ID:ai2club。本博客只是用来学习,并不从事任何商业活动,其内容是自己总结或者来自互联网搜索到的,并没有过多关注版权问题,如有侵权内容,请私信我进行删除,谢谢。本博客内容主要围绕计算机领域热点技术和工作内容,不涉及版权问题,任何人可以查看、转载。
展开
-
用户画像2种数据存储的方式
目前,越来越多的企业,在大数据应用上,都会选择用户画像这一主题,为什么呢?因为用户画像相对于做推荐以及机器学习等简单容易的多,做画像,更多是就是对用户数据的整合,然后做一些用户聚类、用推荐算法,比如基于用户的推荐和基于商品的推荐,获取用户或者进行商品营销应用。而在我们的实际应用中,不仅有用户画像,而且有关于物的画像,比如设备画像。然而,大多数情况下有一种常见的错误想法是画像维度的数据越多越好,画像...原创 2018-04-08 14:32:08 · 11931 阅读 · 0 评论 -
机器学习对价格预测做模型与应用
说到价格预测,我们首先能想到的就是kaggle一个比赛,关于房价的预测,不过在房地产行业这么火热的时代,做一个中国版的房价预测也很有意思,但是博主想做的是一个对二手设备价格的预测,通过对二手设备的类型、年代、用过的时间、地理位置等各种特征,进行一个建模,来预测售价,不过这是个比较容易点的应用,未来对于能通过一张或者几张图片就预测二手设备的价格,我觉得这个是比较有挑战的。下面对价格的预测主要通过线性...原创 2018-04-11 14:33:27 · 14893 阅读 · 0 评论 -
金融反欺诈和金融构建信用评分或者金融预测特征抽取案例
之前在微信朋友圈读到过这样一篇文章,施一公:“我国的最大危机,是所有精英都想干金融!”,当然,笔者是非常赞同的,因为和钱距离越近的地方,越能赚到更多的钱,所以从个人或者企业的角度出发,选择金融是正确的方向,就连程序员也不例外。暂且不说这个危机是什么原因造成的,或体制或为了生存。作为程序员既然选择了金融,那就先把手上的工作做好。很惭愧,笔者还没有选择金融,说明还不是精英吧!我们都知道,这几年在大数据...原创 2018-06-30 10:22:13 · 4207 阅读 · 4 评论 -
XGboost 实战糖尿病预测
数据集:pima_indians-diabetes.csv(https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes)美国亚利桑那州的⽐马印第安⼈患糖尿病概率极⾼。WHO为此调查了21岁以上的⼥性患者,并记录了以下信息:1. 怀孕了⼏次2. ⾎糖3. ⾎压4. ⽪脂厚度5. 胰岛素6. 体质指数原创 2017-10-31 14:39:16 · 6005 阅读 · 3 评论 -
Kaggle_NCFM鱼品种识别
Kaggle比赛官网:https://www.kaggle.com/c/the-nature-conservancy-fisheries-monitoring代码:https://github.com/pengpaiSH/Kaggle_NCFM阅读参考:http://wh1te.me/index.php/2017/02/24/kaggle-ncfm-contest/相关的课程:http://cou...转载 2018-04-20 18:23:28 · 5690 阅读 · 3 评论 -
主流机器学习模型模板代码+经验分享[xgb, lgb, Keras, LR]
刷比赛利器,感谢分享的人。摘要最近打各种比赛,在这里分享一些General Model,稍微改改就能用的环境: python 3.5.2XGBoost调参大全: http://blog.youkuaiyun.com/han_xiaoyang/article/details/52665396 XGBoost 官方API: http://xgboost.read转载 2018-01-11 12:14:24 · 5879 阅读 · 3 评论 -
大数据竞赛平台——Kaggle 入门篇
这篇文章适合那些刚接触Kaggle、想尽快熟悉Kaggle并且独立完成一个竞赛项目的网友,对于已经在Kaggle上参赛过的网友来说,大可不必耗费时间阅读本文。本文主要介绍Kaggle,如何解决一个竞赛项目的全过程,请参考上一篇:kaggle入门-Bike Sharing Demand自行车需求预测1、Kaggle简介Kaggle是一个数据分析的竞赛平台,网址:https://w转载 2017-10-19 14:21:47 · 3069 阅读 · 0 评论 -
kaggle入门-Bike Sharing Demand自行车需求预测
接触机器学习断断续续有一年了,一直没有真正做点什么事,今天终于开始想刷刷kaggle的问题了,慢慢熟悉和理解机器学习以及深度学习。今天第一题是一个比较基础的Bike Sharing Demand题,根据日期时间、天气、温度等特征,预测自行车的租借量。训练与测试数据集大概长这样:// traindatetime,season,holiday,workingday,weather,temp,原创 2017-10-18 18:42:30 · 7097 阅读 · 0 评论 -
使用imbalanced-learn处理数据不均衡问题
官方文档:http://contrib.scikit-learn.org/imbalanced-learn/stable/over_sampling.htmlpip install -U imbalanced-learngit clone https://github.com/scikit-learn-contrib/imbalanced-learn.gitcd imbalanced原创 2017-12-04 13:16:27 · 3185 阅读 · 0 评论 -
理解GBDT算法(一)——理论
关于决策树decision tree的组合模型有两种:random forest 和 GBDT (gradient boosting decision tree)。1. GBDT的基本思想——积跬步以至千里 我们前面讲到,一棵决策树很容易出现过拟合现象。但是,我们把训练集通过反复学习(或者采样,或者不采样),得到多颗决策树,这样就可以一定程度上避免过拟合。前面的random fore原创 2017-11-06 10:00:07 · 901 阅读 · 0 评论 -
模型融合(stacking&blending)
1. blending需要得到各个模型结果集的权重,然后再线性组合。"""Kaggle competition: Predicting a Biological Response.Blending {RandomForests, ExtraTrees, GradientBoosting} + stretching to[0,1]. The blending scheme is re原创 2017-11-19 20:15:54 · 6370 阅读 · 3 评论 -
机器学习里面的树形模型
1. 决策树不用考虑scaler。2, xgboost 缺失值都可以不用考虑。3.libSVM的数据格式及使用方法总结首先介绍一下 libSVM的数据格式Label 1:value 2:value ….Label:是类别的标识,比如上节train.model中提到的1 -1,你可以自己随意定,比如-10,0,15。当然,如果是回归,这是目标值,就要实事求是了原创 2017-11-17 14:35:44 · 2680 阅读 · 0 评论 -
python 数据离散化和面元划分
数据挖掘中有些算法,特别是分类算法,只能在离散型数据上进行分析,然而大部分数据集常常是连续值和离散值并存的。因此,为了使这类算法发挥作用,需要对数据集中连续型属性进行离散化操作。那么,如何对连续型属性离散化呢?常见的有等宽分箱法,等频分箱法:等宽分箱法的思想是,将数据均匀划分成n等份,每份的间距相等。等频分箱法的思想是,将观察点均匀分成n等份,每份的观察点数相同。在对数据离散化前,原创 2017-11-02 19:51:51 · 3564 阅读 · 0 评论 -
机器学习中的数据预处理(sklearn preprocessing)
Standardization即标准化,尽量将数据转化为均值为零,方差为一的数据,形如标准正态分布(高斯分布)。实际中我们会忽略数据的分布情况,仅仅是通过改变均值来集中数据,然后将非连续特征除以他们的标准差。sklearn中 scale函数提供了简单快速的singlearray-like数据集操作。一、标准化,均值去除和按方差比例缩放(Standardization, or mean remo转载 2017-11-02 19:42:59 · 1539 阅读 · 0 评论 -
机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?
参考:https://www.zhihu.com/question/27068705原创 2017-10-23 16:56:11 · 694 阅读 · 0 评论 -
最小二乘法和梯度下降法有哪些区别?
最小二乘法的推导最小二乘法的目标:求误差的最小平方和,对应有两种:线性和非线性。线性最小二乘的解是closed-form即,而非线性最小二乘没有closed-form,通常用迭代法求解。迭代法,即在每一步update未知量逐渐逼近解,可以用于各种各样的问题(包括最小二乘),比如求的不是误差的最小平方和而是最小立方和。梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)...原创 2017-10-30 12:00:34 · 1022 阅读 · 0 评论 -
特征工程——categorical特征 和 continuous特征
看到有些介绍,“特征分为categorical特征 和 continuous特征“不解,查资料得单个原始特征(或称为变量)通常属于以下几类之一:连续(continuous)特征;无序类别(categorical)特征;有序类别(ordinal)特征。##连续特征 除了归一化(去中心,方差归一),不用做太多特殊处理,可以直接把连续特征扔到模型里使用。##无序特征原创 2017-10-19 11:39:19 · 2812 阅读 · 0 评论 -
数据挖掘之关联分析七(非频繁模式)
非频繁模式非频繁模式,是一个项集或规则,其支持度小于阈值minsup.绝大部分的频繁模式不是令人感兴趣的,但其中有些分析是有用的,特别是涉及到数据中的负相关时,如一起购买DVD的顾客多半不会购买VCR,反之亦然,这种负相关模式有助于识别竞争项(competing item),即可以相互替代的项。某些非频繁模式也可能暗示数据中出现了某些罕见事件或例外情况。如,如果{火灾=yes}是频繁的转载 2017-09-12 17:00:34 · 1438 阅读 · 0 评论 -
特征编码的一些技巧
如何进行数字编码。 对于次序型特征,手工编码转换表,然后使用Pandas的map函数。对于名义型特征,可以使用sklean提供的LabelEncoder类。buying_dict = {"low":0,"med":1,"high":2,"vhigh":3}car_num_encoded["buying"] = car_num_encoded["buying"].map(buying_di原创 2017-12-04 16:43:39 · 1193 阅读 · 0 评论 -
xgboost调参整理
尽管有两种booster可供选择,我这里只介绍tree booster,因为它的表现远远胜过linear booster,所以linear booster很少用到。1、eta[默认0.3]和GBM中的 learning rate 参数类似。通过减少每一步的权重,可以提高模型的鲁棒性。典型值为0.01-0.2。2、min_child_weight[默认1]决定最小叶子节点样本权重和。和GBM的 mi...转载 2018-03-15 20:51:21 · 1203 阅读 · 0 评论 -
模型评估准确率、召回率、ROC曲线、AUC总结
实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。 P = TP/(TP+FP)而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是...原创 2018-03-12 08:58:01 · 10281 阅读 · 0 评论 -
主成分分析PCA
简单介绍下PCA的应用PCA和线性回归的区别:PCA的目的和优势:原创 2018-08-15 17:59:24 · 2142 阅读 · 0 评论 -
机器学习的理论知识点总结
最近一边看书,一边梳理机器学习的知识点:1. 线性回归2.线性回归的损失函数(误差的平方和)3. 最小二乘法(手推导)4.批量梯度下降法(学习率大小问题)5.放缩scaling对梯度下降的影响6.多元线性回归7.逻辑斯蒂回归-二元分类8.LR代价函数9.神经网络10.前向传播和后向传播11.神经网络过程12.模型选择和交叉验证13.高偏差和高...原创 2018-08-03 14:56:15 · 2783 阅读 · 0 评论 -
SKlearn中的svm超参数总结
SKlearn中好多机器学习模型已经做好了,使用的时候直接调用就可以,俗称“调包侠”,我觉得挺有意思,这样大大降低了机器学习的门槛,最近几天一直在使用svm训练模型,其中数据样本不均衡以及打分一直上不去,特征工程也调了好久,现在开始对svm的一些参数进行调试,看看模型会不会变得更好。SVC参数解释 (1)C: 目标函数的惩罚系数C,用来平衡分类间隔margin和错分样本的,default C = ...原创 2018-05-23 11:54:27 · 21910 阅读 · 0 评论 -
流行学习简单入门与理解
最近博主再看西瓜书第十三章半监督学习,文章中作者提到需要少量查询的主动学习、K-means簇的聚类,以及流行学习。对于流行学习,博主也是第一次接触,下面我们来简单学习和理解一下流行学习。1. 半监督学习SSL的成立依赖于模型假设,当模型假设正确时,无类标签的样例能够帮助改进学习性能。SSL依赖的假设有以下三个:1)平滑假设(Smoothness Assumption):位于稠密数据区域的两个距离很...原创 2018-04-09 14:13:46 · 4464 阅读 · 0 评论 -
xgboost相比传统gbdt有何不同?xgboost为什么快?xgboost如何支持并行?
看了陈天奇大神的文章和slides,略抒己见,没有面面俱到,不恰当的地方欢迎讨论:传统GBDT以CART作为基分类器,xgboost还支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题)或者线性回归(回归问题)。传统GBDT在优化时只用到一阶导数信息,xgboost则对代价函数进行了二阶泰勒展开,同时用到了一阶和二阶导数。顺便提一下,xgboost工具支持自定...转载 2017-11-19 18:56:47 · 1268 阅读 · 0 评论 -
朴素贝叶斯(Naive Bayes),“Naive”在何处?
加上条件独立假设的贝叶斯方法就是朴素贝叶斯方法(Naive Bayes)。 Naive的发音是“乃一污”,意思是“朴素的”、“幼稚的”、“蠢蠢的”。咳咳,也就是说,大神们取名说该方法是一种比较萌蠢的方法,为啥?将句子(“我”,“司”,“可”,“办理”,“正规发票”) 中的 (“我”,“司”)与(“正规发票”)调换一下顺序,就变成了一个新的句子(“正规发票”,“可”,“办理”, “我”, “司”)。...原创 2017-11-18 13:28:23 · 1550 阅读 · 0 评论 -
SVM核函数的分类
下列不是SVM核函数的是:多项式核函数logistic核函数径向基核函数Sigmoid核函数这道题的答案是logistic核函数。不要把这里的sigmoid和logistic混淆了,为什么?看下面解释:支持向量机是建立在统计学习理论基础之上的新一代机器学习算法,支持向量机的优势主要体现在解决线性不可分问题,它通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题。构造出...原创 2017-10-27 11:28:21 · 6354 阅读 · 0 评论 -
logistic regession 损失函数
对于logistic regession问题(prob(t|x)=1/(1+exp(w*x+b))且label y=0或1)请给出loss function和权重w的更新公式及推导。Logistic regression 的loss function 是log loss, 公式表达为: w的更新公式可以由最小化loss function得到,即: 其中大括号里面的部分,等价于逻辑回归模型的对数似然...原创 2017-10-27 11:16:39 · 1033 阅读 · 0 评论 -
BAT机器学习面试1000题系列(第1~10题)
1.请简要介绍下SVMSVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。参考:http://blog.youkuaiyun.com/qq_36330643/article/details/775745872.请简要介绍下tensorflow的计算图 ...原创 2017-10-16 10:41:54 · 4141 阅读 · 1 评论 -
常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比
在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD、随机梯度下降法SGD、小批量梯度下降法MBGD,并且都有不同的优缺点。下面我们以线性回归算法(也可以是别的算法,只是损失函数(目标函数)不同而已,它们的导数的不同,做法是一模一样的)为例子来对三种梯度下降法进行比较。1. 线性回归假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。收集的数据中,每一个分...转载 2018-03-14 09:00:11 · 3129 阅读 · 0 评论 -
数据挖掘之关联分析六(子图模式)
子图模式频繁子图挖掘(frequent subgraph mining):在图的集合中发现一组公共子结构。图和子图图是一种用来表示实体集之间联系的数据结构。子图,图 是另一个图 的子图,如果它的顶点集V'是V的子集,并且它的边集E'是E的子集,子图关系记做 。支持度,给定图的集族 , 子图 的支持度定义为包含它的所有图所占的百分比。转载 2017-09-12 16:48:34 · 2981 阅读 · 0 评论 -
数据挖掘之关联分析五(序列模式)
购物篮数据常常包含关于商品何时被顾客购买的时间信息,可以使用这种信息,将顾客在一段时间内的购物拼接成事务序列,这些事务通常基于时间或空间的先后次序。问题描述一般地,序列是元素(element)的有序列表。可以记做 ,其中每个 是多个事件的集簇,即 ,如web站点访问者访问的web页面序列:计算机科学主修课程序列:序列可以用它的原创 2017-09-12 16:34:21 · 1910 阅读 · 0 评论 -
集成学习(ensemble learning)原理详解
集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。本文就对集成学习的原理做一个总结。1. 集成学习概述 从下图,转载 2017-08-27 16:30:52 · 68071 阅读 · 6 评论 -
数据的统计特性
数据分布特征可以从集中趋势、离中趋势及分布形态三个方面进行描述。 1、平均指标是在反映总体的一般水平或分布的集中趋势的指标。测定集中趋势的平均指标有两类:位置平均数和数值平均数。位置平均数是根据变量值位置来确定的代表值,常用的有:众数、中位数。数值平均数就是均值,它是对总体中的所有数据计算的平均值,用以反映所有数据的一般水平,常用的有算术平均数、调和平均数、几何平均数和幂平均数。2、变异指原创 2017-08-15 17:05:55 · 13980 阅读 · 1 评论 -
SMO优化算法(Sequential minimal optimization)
SMO算法由Microsoft Research的John C. Platt在1998年提出,并成为最快的二次规划优化算法,特别针对线性SVM和数据稀疏时性能更优。关于SMO最好的资料就是他本人写的《Sequential Minimal Optimization A Fast Algorithm for Training Support Vector Machines》了。我拜读了一下,下原创 2017-08-25 16:38:15 · 1216 阅读 · 0 评论 -
SVM(support vector machine)支持向量机原理详解
SVM是什么?SVM - support vector machine, 俗称支持向量机,为一种supervised learning算法,属于classification的范畴。在数据挖掘的应用中,与unsupervised的Clustering相对应和区别。广泛应用于机器学习(Machine Learning), 计算机视觉(Computer Vision) 和数据挖掘(Dat原创 2017-08-25 15:53:28 · 12341 阅读 · 0 评论 -
机器学习中正则化项L1和L2的直观理解
机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。下图是P原创 2017-08-21 17:36:12 · 837 阅读 · 0 评论 -
KNN(k-nearest neighbor的缩写)最近邻算法原理详解
k-最近邻算法是基于实例的学习方法中最基本的,先介绍基于实例学习的相关概念。基于实例的学习已知一系列的训练样例,很多学习方法为目标函数建立起明确的一般化描述;但与此不同,基于实例的学习方法只是简单地把训练样例存储起来。 从这些实例中泛化的工作被推迟到必须分类新的实例时。每当学习器遇到一个新的查询实例,它分析这个新实例与以前存储的实例的关系,并据此把一个目标函数值赋给新实例。 基于实例的...转载 2017-08-24 16:55:43 · 92012 阅读 · 9 评论 -
Cross-Validation(交叉验证)详解
假设我们需要从某些候选模型中选择最适合某个学习问题的模型,我们该如何选择?以多元回归模型为例:,应该如何确定k的大小,使得该模型对解决相应的分类问题最为有效?如何在偏倚(bias)和方差(variance)之间寻求最佳的平衡点?更进一步,我们同样需要知道如何在加权回归模型中选择适当的波长参数,或者在基于范式的SVM模型中选择适当的参数C?我们假设模型集合为有限集,我们的目的就是从这d个模型中,原创 2017-08-21 17:22:03 · 21642 阅读 · 0 评论