机器学习
ukakasu
这个作者很懒,什么都没留下…
展开
-
spark中udf使用
probabilities列取最大值的角标(以下为scala代码)1、自定义函数def pSort1(probability: DenseVector): Int = { val parry = probability.toArray //parry.zipWithIndex.maxBy(_._1)._2 parry.zipWithIndex.sortWith(_._1 > _....原创 2018-04-23 16:42:25 · 1082 阅读 · 0 评论 -
LightGBM简单使用
# pip install lightgbm==2.1.2import lightgbm as lgbimport pandas as pdfrom pandas import DataFrameimport gcfrom sklearn.model_selection import train_test_splitfrom matplotlib import pyplot #...原创 2018-09-27 14:40:02 · 2851 阅读 · 0 评论 -
LightGBM算法的特别之处
转自:https://blog.csdn.net/ictcxq/article/details/78733629 自从微软推出了LightGBM,其在工业界表现的越来越好,很多比赛的Top选手也掏出LightGBM上分。所以,本文介绍下LightGBM的特别之处。LightGBM算法在模型的训练速度和内存方面都有相应的优化。基于树模型的boost...转载 2018-09-27 15:01:19 · 1633 阅读 · 0 评论 -
常用异常检测算法
常用异常检测算法统计假设检验假设原数据服从某个分布(如高斯分布),然后计算 μ 和 σ ,再计算 μ ±3σ 的区间,最后落在区间之外的数据点就被认为是异常值。(可通过取log进行变换)统计检验方法适用于一维数据。比如在反欺诈领域,用户支付金额、支付频次、购买特定商品次数等等,都适用于上述方法。DBSCAN一个对象周围的密度等于该对象指定距离d内对象的个数。需要小心的选择d,如果d...原创 2018-10-08 15:01:41 · 4717 阅读 · 0 评论 -
时间序列预测--ARIMA、LSTM
时间序列预测–ARIMA、LSTMARIMAARIMA模型全称为差分自回归移动平均模型(Auto regressive Integrated Moving Average Model,简记ARIMA)。ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时...原创 2018-10-16 14:45:18 · 14138 阅读 · 1 评论 -
推荐算法
推荐算法1. slope one该算法适用于物品更新不频繁,数量相对较稳定并且物品数目明显小于用户数的场景。依赖用户的用户行为日志和物品偏好的相关内容。优点:1.算法简单,易于实现,执行效率高;2.可以发现用户潜在的兴趣爱好;缺点:依赖用户行为,存在冷启动问题和稀疏性问题。参考:https://blog.csdn.net/xidianliutingting/art...原创 2018-10-10 14:30:44 · 301 阅读 · 0 评论 -
如何感性地理解EM算法?
如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计。个人认为,理解EM算法背后的idea,远比看懂它的数学推导重要。idea会让你有一个直观的感受,从而明白算法的合理性,数学推导只是将这种合理性用更加严谨的语言表达出来而已。打个比方,一个梨很甜,用数学的语言可以表述为糖分含量90%,但只有亲自咬一口,你才能真正感觉到这个梨有...转载 2018-10-10 15:50:57 · 149 阅读 · 0 评论 -
pandas-profiling数据预览分析
安装与调用pip install pandas-profilingimport pandas_profilingjupyter中查看pandas_profiling.ProfileReport(df)保存文件查看pfr = pandas_profiling.ProfileReport(df)pfr.to_file("./example.html")参考:https:/...原创 2018-10-22 14:20:13 · 1333 阅读 · 1 评论 -
Graphviz、pydotplus绘制梯度提升树结构图
Graphviz、pydotplus绘制梯度提升树结构图安装pip install pydotplus安装Graphviz。https://blog.csdn.net/a1368783069/article/details/52067404# 梯度提升树结构图from sklearn import treeimport pydotplus # 绘制前十颗树,并保存为png# ...原创 2018-10-24 13:50:37 · 1506 阅读 · 0 评论 -
机器学习年鉴总结之数据集
三个数据集:1.训练数据集 — 用来训练你的算法模型2.开发数据集 — 用于调整学习模型,比如调整参数、选择特征等。这部分数据也称 作预留 交叉验证数据集。3.测试数据集 — 用于评估模型性能,这部分数据集不参与模型调整和参数更新。选择最终实际要用的数据,作为开发和测试样本集。使用同一分布的开发和测试数据集。在开发测试集上表现很好,但是在测试集上表现得并不理想。如果你的开发数据...原创 2018-11-13 14:21:01 · 245 阅读 · 0 评论 -
机器学习年鉴总结之偏差与方差
偏差、方差算法在开发样本集上的错误率为 16%,我们可以把这 16%分成两部分:1.算法在训练样本集上的错误率,本例中为 15%,这通常称作算法的偏差 。2.算法在开发/测试样本集上相对训练样本集上高出的错误率部分, 本例中,算法那在开发样本集上的错误率比在训练样本集上的错误率高 1%,这通常称作算法的方差 。减少可避免的偏差方法如果你的学习算法中的可避免偏差很高,你可以尝试使用下面的方...原创 2018-11-13 14:22:12 · 231 阅读 · 0 评论 -
1 特征工程
1 特征工程01 特征归一化、标准化方法归一化–线性函数归一化(Min-Max Scaling)标准化–零均值归一化(Z-Score Normalization)原因参数更新速度变得更为一致,收敛速度更快。特点标准化是更常用的手段,归一化的应用场景是有限的。标准化更好保持了样本间距。标准化更符合统计学假设。必须要特征在0到1之间,此时就只能用归...原创 2018-11-29 16:25:17 · 173 阅读 · 0 评论 -
2 模型评估
2 模型评估01 评估指标准确率的局限性准确率是指分类正确的样本占总样本个数的比例。当不同类别的样本比例非常不均衡时,可以使用更为有效的平均准确率(每个类别下的样本准确率的算术平 均) 作为模型评估的指标。精确率与召回率精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。召回率是指分类正确的正样本个数占真正的正样本个数的比例。F1 score是精准率和...原创 2018-12-14 08:51:43 · 242 阅读 · 0 评论 -
4 降维
4 降维01 主成分分析–PCAPCA选择的是投影后数据方差最大的方向。 由于它是无监督的, 因此PCA假设方差越大, 信息量越多, 用主成分来表示原始数据可以去除冗余的维度, 达到降维。02 线性判别分析–LDALDA选择的是投影后类内方差小、 类间方差大的方 向。 其用到了类别标签信息, 为了找到数据中具有判别性的维度, 使得原始数据 在这些方向上投影后, 不同类别尽可能区分开。...原创 2018-12-20 09:11:18 · 176 阅读 · 0 评论 -
5 非监督学习
5 非监督学习01 聚类聚类是在事先并不知道任何样本类别标签的情况下, 通过数据之间的内在关系把样本划分为若干类别, 使得同类别样本之间的相似度高, 不同类别之间的样本相似度低。02 K均值算法的优缺点缺点: 例如受初值和离群点的影响每次的结果不稳定、 结果通常不是全局最优而是局部最优解、 无法很好地解决数据簇分布差别比较大的情况(比如一类是另一类样本数量的100倍) 、 不太适用于离散...原创 2018-12-20 09:13:50 · 451 阅读 · 0 评论 -
文本分析--tfidf、word2vec
TF-IDF词频(TF) = 某个词在文章中的出现次数 / 文章总词数 或者 词频(TF) = 某个词在文章中的出现次数 / 拥有最高词频的词的次数。逆文档频率(IDF) = log(语料库的文档总数/包含该词的文档总数+1)TF-IDF = 词频(TF) * 逆文档频率(IDF)主要应用:关键词提取,找相似文章,文章自动摘要,作为分类或聚类的输入。word2vecword...原创 2018-10-12 09:31:57 · 6065 阅读 · 0 评论 -
聚类算法
K-MEANS算法K-均值是把数据集按照k个簇分类,其中k是用户给定的,其中每个簇是通过质心来计算簇的中心点。首先创建一个初始划分,随机地选择 k 个对象(中心点),每个对象初始地代表了一个簇中心。对于其他的对象,根据其与各个簇中心的距离,将它们赋给最近的簇,然后重新计算簇的平均值,将每个簇的平均值重新作为中心点,然后对对象进行重新分配。这个过程不断重复,直到没有簇中对象的变化。基本...原创 2018-09-21 10:31:51 · 211 阅读 · 0 评论 -
xgboost基本原理
目标函数其中,上式第一项称为误差函数,常见的误差函数有平方误差,logistic误差等等,第二项称为正则项,常见的有L1正则和L2正则,表示树的复杂度的函数,越小复杂度越低,泛化能力越强。基学习器分类树和回归树(CART)树集成模型学习每一次保留原来的模型不变,加入一个新的函数f到我们的模型中。f 的选择标准—最小化目标函数!通过二阶泰勒展开等,我们得到了最终的目标函数:...原创 2018-09-26 16:49:55 · 257 阅读 · 0 评论 -
xgboost on spark
背景 项目需要预测出每一类别的概率,spark ml、mlib中自带算法只能预测出所属类别满足不了需求,因此找到此算法。版本 spark1.6只能用XGBoost0.7之前的版本,此版本训练及预测只能使用rdd不能用df造成一定的不便,预测出的结果只有概率值,需自己与原始数据关联得到完整的记录,最大概率所属类别需自己算出。因此选择了spark2.0与XGBoost0.7。scala...原创 2018-04-23 16:52:28 · 4326 阅读 · 7 评论 -
xgboost、cx_Oracle安装
环境最好为centos7,centos6下需升级gcc1、安装gcc 下载:https://download.csdn.net/download/ukakasu/10368679 rpm -ivh *2、升级gcc 下载:https://download.csdn.net/download/ukakasu/103686902.1、安装gmp-4.3.2...原创 2018-04-23 17:18:27 · 153 阅读 · 0 评论 -
python中归一化、标准化模型保存与加载
归一化模型保存from sklearn import preprocessingmin_max_scaler = preprocessing.MinMaxScaler()X = min_max_scaler.fit_transform(X)from sklearn.externals import joblibjoblib.dump(min_max_scaler, 'scalar01'...原创 2018-04-24 15:34:59 · 9529 阅读 · 8 评论 -
机器学习中评价指标的选择
一、分类 二分类:eval_metric='auc'/'logloss' 多分类:eval_metric='mlogloss' 1、样本均衡: 准确度,二分类还可以选择auc。from sklearn.metrics import accuracy_scorefrom sklearn.metrics import classification...原创 2018-04-24 15:49:40 · 2034 阅读 · 0 评论 -
xgboost-spark源码更改及编译
为解决xgboost-spark只支持二分类,不支持多分类的问题。源码更改参照:https://github.com/dmlc/xgboost/pull/2172/commits/ff73ff02c97006ec67b3d2e09f8afc503d4f0ff11、安装cmake 3.2以上版本 wget https://cmake.org/files/v3.6/cmake-3.6....原创 2018-04-24 16:11:08 · 1038 阅读 · 0 评论 -
sklearn中数据集划分
1、回归from sklearn.model_selection import train_test_splittrain_X, test_X, train_y, test_y = train_test_split(X, y, test_size=0.25)2、分类X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_s...原创 2018-04-25 10:13:21 · 1704 阅读 · 0 评论 -
通俗易懂机器学习
机器学习 前言 机器学习是什么,是用来干什么的?机器学习就是样本中有大量的x(特征量)和y(目标变量)然后求这个function。机器学习是让机器寻找函数Y=f(X)的过程,使得当我们给定一个X时,会返回我们想要得到的Y值。例: 房价预测:X:位置、层数 -> Y:xxxx元/平相亲预测:X:高富帅、矮矬穷 -> Y:见、不见车牌识别...原创 2018-04-20 10:48:32 · 1863 阅读 · 0 评论 -
线性回归
线性回归回归方程 其中x0=1最小二乘法损失函数梯度下降引入:当我们得到了一个目标函数后,如何进行求解?如上直接求解?(并不一定可解,线性回归可以当做是一个特例)先假定有一个Loss Function只有一个变量w:然后我们把L(w)的图形画出来,横轴是w,纵轴是L,假设是下面这样一个图形:寻找L(w)最小值的方法是:**第一步:**随机选取一个w值 ;**第...原创 2018-09-18 11:12:21 · 177 阅读 · 0 评论 -
逻辑回归
逻辑回归# sigmoid 函数def sigmoid(z): return 1 / (1 + np.exp(-z))# 绘图nums = np.arange(-10, 10, step=1) #creates a vector containing 20 equally spaced values from -10 to 10fig, ax = plt.subplots(fi...原创 2018-09-19 10:12:17 · 275 阅读 · 0 评论 -
机器学习分类数据不均衡的简单处理
分类数据不均衡的简单处理下采样随机选择类别较多的数据与类别较少的数据一致。# X特征,y类别X = data.ix[:, data.columns != 'Class']y = data.ix[:, data.columns == 'Class']# 小类别数据个数number_records_fraud = len(data[data.Class == 1])# 小类别数据索引...原创 2018-09-19 10:16:40 · 461 阅读 · 0 评论 -
机器学习中L1和L2正则化
L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合具体参考:https://blog.csdn.net/jinping_shi/article/details/52433975...原创 2018-09-19 11:13:52 · 187 阅读 · 0 评论 -
决策树
决策树是表示基于特征对实例进行分类的树形结构。从给定的训练数据集中,依据特征选择的准则,递归的选择最优划分特征,并根据此特征将训练数据进行分割,使得各子数据集有一个最好的分类的过程。树的组成根节点:第一个选择点非叶子节点与分支:中间过程叶子节点:最终的决策结果如何切分特征(选择节点)问题:根节点的选择该用哪个特征呢?接下来呢?如何切分呢?决策树算法...原创 2018-09-19 16:37:56 · 124 阅读 · 0 评论 -
集成算法
集成学习框架:bagging,boosting和stackingBagging典型的代表:随机森林。从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果:Boosting典型代表:AdaBoost, Xgboost。训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。如果某...原创 2018-09-20 09:06:49 · 1270 阅读 · 0 评论 -
支持向量机
支持向量机SVM的英文全称是Support Vector Machines,我们叫它支持向量机。支持向量机是我们用于分类的一种算法。参考:https://blog.csdn.net/jiaoyangwm/article/details/79579784http://cuijiahua.com/blog/2017/11/ml_8_svm_1.html...原创 2018-09-20 16:36:07 · 169 阅读 · 0 评论 -
机器学习导图
原创 2019-04-04 17:02:54 · 312 阅读 · 0 评论