
machineLearning
fly_Xiaoma
技术分享,技术学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
accuracy、precision、recall、宏平均、微平均
1、accuracy、precision、recallTP:实际为正,且划分为正的样本数,真正数。FP:实际为负,且划分为正的样本数,假正数。TN:实际为负,且划分为负的样本数,真假数。FN:实际为正,且划分为负的样本数,假负数accuracy:准确率,预测正确的结果占总数的比例 (TP+TN)/(TP+FP+TN+FN) precision:精确率,预测为正且正确的样本...原创 2019-10-14 11:04:58 · 1991 阅读 · 0 评论 -
pandas的merge()函数
merge需要依据共同的某一列或者某一行来进行合并left: 左表(DataFrame)right:右表(DataFrame)how:连接方式 left: 仅保留左表的键 right: 仅保留右表的键 outer:两表的键取并集 inner:两表的键取交集on:用来对齐的那一列的名字,用到这个参数的时候一定要保证左表和右表用来对齐的那一列都有相同的列名...原创 2019-03-28 12:16:10 · 3314 阅读 · 0 评论 -
python中的zip()函数
一、zip(*iterable)函数1、zip()函数的定义从参数中的多个迭代器取元素组合成一个新的迭代器 返回:一个zip对象,其内部元素为元组;可以转化为列表或元组 传入参数:元组、列表、字典等迭代器2、zip()函数的用法当zip()函数中只有一个参数时,zip(iterable)从迭代器中依次取一个元组,组成一个元组#zip()函数取单个参数list1=[1,2,3...原创 2019-03-28 15:30:29 · 133 阅读 · 0 评论 -
XGBoost和LightGBM的比较
目录1.XGBoostsgboost中树节点分裂时所采用的公式:xgboost的分裂步骤:xgboost总结LightGBM:基于决策树算法的分布式梯度提升框架LightGBM在模型的训练速度和内存方面的优化LightGBM的leaf-wise 的生长策略LightGBM支持类别型特征xgboost与LightGBM的区别1.XGBoostXGBo...原创 2019-04-02 13:44:58 · 33688 阅读 · 2 评论 -
LightGBM的简单实现
1、分类import lightgbm as lgbfrom sklearn import datasetsimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squared_error ...原创 2019-04-08 15:16:47 · 1635 阅读 · 0 评论 -
CTR预估中的WideAndDeep模型
目录CTR预估系统的工作流程为:以Google APP store为例,预测用户点击或者下载或者购买其中一个APP的概率。Retrival:Ranking:WideAndDeep模型:Wide部分(线性模型,常用LR):Deep部分(DNN):模型训练部分:使用范围:缺点:CTR预估系统的工作流程为: 大致分为两步:...原创 2019-04-11 20:52:24 · 970 阅读 · 0 评论 -
CTR预估中的DeepFM(深度分解机)模型
从文献中能够了解到DeepFM模型要优于WideAndDeep模型。1.DeepFM算法的提出DeepFM算法有效的结合了因子分解机与神经网络在特征学习中的优点;同时,提取到了低阶特征组合和高阶特征组合,特别是FM部分,它能够处理高维的稀疏特征(one-hot编码),我想这是它优于WideAndDeep中的Wide部分一个原因。在DeepFM中,FM算法负责对一阶特征以及由一阶特征两两...原创 2019-04-11 21:32:53 · 838 阅读 · 0 评论 -
Kaggle上遇到的那些坑-----提交结果(submission.csv)
Kaggle上提交训练结果有两种方式:在Kaggle页面上直接提交 使用指令提交先看第一种提交方式1、Kaggle页面上直接提交 不过,目前为止这个页面我只见过一次,后面再打开就不能提交了,好吧这是强迫我使用命令行提交啊。2、使用指令提交结果首先,你要从kaggle上下载一个API Token,用以标识你的身份: 点击下载后,会得到一...原创 2019-04-08 18:03:15 · 29765 阅读 · 12 评论 -
回首再看LightGBM
目录GBDT:LightGBM的改进:改进:取消了传统GBDT算法对数据的预排序。采用Histogram算法使用直方图的优点:使用直方图的缺点:LightGBM进一步改进---使用leaf-wise策略Leaf-wise缺点:LightGBM再进一步改进---直方图做差LightGBM直接支持类别型特征LightGBM调参需要注意:要了解Ligh...原创 2019-04-11 23:09:14 · 695 阅读 · 0 评论 -
理解随机森林(RandomForest)、Bagging和Boosting的概念
目录1、什么是随机森林2、随机森林的特点缺点3、随机森林的评价指标--袋外误差(oob error)4、随机森林的生成过程5、Bagging和Boosting的概念与区别Bagging算法(套袋法):Boosting(提升法)Bagging,Boosting的主要区别决策树与这些算法框架进行结合所得到的新的算法:6、决策树ID3,C4.5决策树...原创 2019-04-02 22:15:05 · 11086 阅读 · 1 评论 -
推荐系统召回四模型之:全能的FM模型
原文地址:https://zhuanlan.zhihu.com/p/58160982?utm_source=ZHShareTargetIDMore&utm_medium=social&utm_oi=40535670652928既然你点开这篇文章了,我假设你是在某司做推荐系统的算法工程师。这个假设的正确率我估计大约在20%左右,因为根据我的经验,80%的算法工程师是很博爱的...转载 2019-04-25 20:01:16 · 3306 阅读 · 0 评论 -
xLearn---机器学习(CTR预估)中处理大规模稀疏数据的杀器
1、xLearn框架介绍liblinear、libfm和libffm这三个框架好像来自台湾国立大学团队研发,xLearn同样来自这个团队。xLearn就是专为处理大规模稀疏数据而生的,广泛应用于如广告点击率预测、推荐系统等。且xLearn的性能优于libffm、libfm和liblinear总的来说xLearn是libffm、libfm和liblinear这三个框架的综合,且计算性能提...原创 2019-04-14 18:23:29 · 2387 阅读 · 1 评论 -
正负样本不均衡的解决办法
机器学习中,最重要的一个过程就是模型训练,但是在做模型训练之前需要对数据进行预处理也就是常见的数据清洗和特征工程。数据清洗过程中,比较重要的一步就是查看正负样本是否均衡。那么数据集中出现正负样本不均衡,怎么解决呢?常用的有一下几种方法:采样,采样主要包括上采样(oversampling,有的称为过采样)和下采样(undersampling,有的称为降采样) 数据合成,利用已有样本...原创 2019-04-14 21:48:35 · 6728 阅读 · 0 评论 -
xgboost原理
作者:雪伦_来源:优快云原文:https://blog.youkuaiyun.com/a819825294/article/details/512064101.序 距离上一次编辑将近10个月,幸得爱可可老师(微博)推荐,访问量陡增。最近毕业论文与xgboost相关,于是重新写一下这篇文章。 关于xgboost的原理网络上的资源很少,大多数还停留在应用层面,本文通过学习陈天奇博士的...转载 2019-04-27 12:37:54 · 443 阅读 · 0 评论 -
基尼指数
基尼指数定义是一种不等性度量; 通常用来度量收入不平衡,可以用来度量任何不均匀分布; 是介于0~1之间的数,0-完全相等,1-完全不相等; 总体内包含的类别越杂乱,基尼指数就越大基尼不纯度指标在CART算法中, 基尼不纯度表示一个随机选中的样本在子集中被分错的可能性。基尼不纯度为这个样本被选中的概率乘以它被分错的概率。当一个节点中所有样本都是一个类时,基尼不纯度为零。假设y...原创 2019-04-27 15:49:03 · 8017 阅读 · 0 评论 -
TF-IDF原理及使用
1、什么是TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文件频率)简单来说:一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越能够代表本篇文章。词频(term frequency,TF)指一个词语在该文件中出现的次数。这个数字通常会被归一化---词频除以文章总词数。注意:一些通用的词语对于主题并...原创 2019-03-21 15:47:24 · 2121 阅读 · 0 评论 -
Otto商品分类--PCA&tSNE
目录PCA***训练部分***1.工具2.准备数据3.PCA降维4.绘制PCA维的方差5.保存结果,PCA降维后的表示可作为特征提取的一部分6.保存特征编码过程中用到的模型,用于后续对测试数据的编码7.PCA前两维上显示降维后的数据分布***测试部分***读取数据准备数据PCA降维保存结果,PCA降维后的表示可作为特征提取的一部分tNSE...原创 2019-03-04 13:32:25 · 801 阅读 · 0 评论 -
Otto商品分类--LightGBM
***模型训练部分***原始特征+tfidf特征1.工具import pandas as pdimport numpy as npimport lightgbm as lgbmform lightgbm.sklearn import LGBMClassifierfrom sklearn.model_selection import GridSearchCVimport...原创 2019-03-03 13:54:17 · 1152 阅读 · 5 评论 -
(六)线性回归模型优化求解之‘梯度下降法’
1、理解梯度下降法 2、梯度下降法和OLS的梯度下降 3、岭回归的梯度下降、Lasso 4、随机梯度下降法以及它的实现方法-SGDRegressor随机梯度下降法: SGDRegressor优化相关的参数: ...原创 2019-02-01 21:05:08 · 879 阅读 · 0 评论 -
(七)线性回归模型优化求解之‘坐标轴下降法’、回归模型预测性能评价指标
目录1、次梯度法2、梯度下降法与次梯度法比较、坐标轴下降法3、Lasso的坐标轴下降法4、梯度下降法总结5、回归模型的评价指标6、Scikit-Learn中三种评价模型性能的方式:1、次梯度法 2、梯度下降法与次梯度法比较、坐标轴下降法 3、Lasso的坐标轴下降法 4、梯度下降法总结 5、回归模型的评价指标 ...原创 2019-02-01 21:15:32 · 511 阅读 · 0 评论 -
(八)交叉验证与模型选择
目录 1、校验集、Scikit-Learn的校验集数据划分2、校验集划分的例子、交叉验证3、Scikit-Learn中的k折交叉验证数据划分4、两个采用k折交叉验证评估模型性能的函数(cross_val_score、cross_validate)5、cross_val_score6、实现cross_val_score函数的例子7、cross_validate8、...原创 2019-02-01 21:31:10 · 1847 阅读 · 0 评论 -
获取sklearn中模型优化的原始数据(如Boston_housing、iris)
在做线性回归模型分析时经常会用到一些数据,比如波士顿房价预测、鸢尾花等,有时候从网上搜索的数据不是很完整,有些是别人做过分析之后传上去的数据。在这里有一个获取原始数据最简单的办法,就是去sklearn模块中去取数据,路径如下D:\Anaconda\Lib\site-packages\sklearn\datasets\data里面的数据有: 这些数据足够做练习了。...原创 2019-02-02 11:56:25 · 959 阅读 · 0 评论 -
Scikit-Learn实现线性回归数据分析
目录1、使用pandas来读取数据2、生成X,y数据3、划分训练集和测试集4、运行Scikit-Learn的线性模型5、对模型进行评价6、交叉验证7、画图观察真实值与预测值的变化关系数据源是单车共享数据,前期已经实现了特征工程(数据的预处理),所以可以直接拿来使用。1、使用pandas来读取数据from sklearn.model_selection im...原创 2019-02-04 13:32:53 · 1620 阅读 · 0 评论 -
(一)机器学习概述及使用工具
目录1、什么是机器学习、机器学习的任务类型-监督学习2、机器学习的任务类型-非监督学习3、增强学习、学习环境-Numpy4、学习环境-Pandas、Matplotlib、Scilit-Learn1、什么是机器学习、机器学习的任务类型-监督学习 2、机器学习的任务类型-非监督学习 3、增强学习、学习环境-Numpy 4、学习环境...原创 2019-01-29 20:08:23 · 495 阅读 · 0 评论 -
(二)线性回归模型、回归中的损失函数、对损失函数的概率解释
目录 1、什么是回归任务2、回归中的损失函数、L1损失3、Huber损失、L2损失4、损失函数的概率解释<选修>注:损失函数描述的是预真实值域预测值之间的差异性、正则是减少模型中的过拟合或者说收缩线性回归系数1、什么是回归任务 2、回归中的损失函数、L1损失 3、Huber损失、L2损失 4、损失函数的概率解释(最佳...原创 2019-01-29 20:17:09 · 2768 阅读 · 0 评论 -
(三)过拟合
目录 1、最小二乘回归:2、常用的正则项(L1正则和L2正则):1、最小二乘回归: 2、常用的正则项(L1正则和L2正则): ...原创 2019-01-29 20:22:58 · 203 阅读 · 0 评论 -
(四)带正则的线性回归模型
目录目录1、最小二乘线性回归以及Scikit-Learn中的实现函数2、LinearGegression()的常用方法、奥卡姆剃刀原理3、岭回归:L2损失+L2正则、Scikit-Learn中的岭回归、Lasso:L2损失+L1正则4、Scikit-Learn中的Lasso、弹性网络:L2损失+(L1正则+L2正则)5、正则的效果、回归模型中正则项的概率解释1、最小二乘...原创 2019-01-29 20:31:09 · 639 阅读 · 0 评论 -
网格搜索GridSearchCV方法的参数parm_grid设置
在做分类或者回归模型的过程中,避免不了要经历参数调优的过程,其中一种常用的方法就是结合交叉验证的网格搜索方法,它有一个参数param_grid,如果想做懒人式调优可以一次性把参数设置完,比如:param_grid={'kernel':['linear','rbf'],'C':[0.001,0.01,0.1,1,10,100,1000], 'gamma':...原创 2019-02-21 20:59:45 · 6116 阅读 · 0 评论 -
随机森林案例--Otto商品分类
目录***特征工程部分***1.工具准备2.读取数据3.准备数据4.默认参数的随机森林模型5.随机森林超参数调优通过计算确定n_estimators=200,调其他参数当max_features=26,模型性能抖动上升,无需细调可以看出max_depth单调上升,继续扩大max_depth通过调整,发现max_depth=40最优,接下来调...原创 2019-02-22 13:05:54 · 5274 阅读 · 0 评论 -
Otto商品分类--XGBoost训练
目录***模型训练部分***1.工具类2.读取数据第一步:学习率为0.1,粗调基学习器的数目n_estimators第二步:调整树的参数:max_depth & min_child_weight粗调,参数的步长为2设置其他参数值交叉验证GridSearchCV交叉验证结果可视化微调,参数的步长为1第三步 行采样比例第五步 列采样比例第五步...原创 2019-02-25 14:25:41 · 1412 阅读 · 0 评论 -
SVM案例分析:Otto商品分类
目录 一.SVM基础部分1.工具2.读取数据3.准备数据4.模型训练默认参数的SVC线性SVM正则参数调优找到最佳参数后,用全体训练数据训练模型二.SVM中的RBF核部分1.读取数据2.准备数据3.模型训练RBF核SVM正则参数调优最佳超参数:找到最佳参数后,用全体训练数据训练模型一.SVM基础部分1.工具import ...原创 2019-02-20 15:10:59 · 1974 阅读 · 0 评论 -
Otto商品分类--决策树模型
目录训练部分** 1.工具准备2.读取数据3.准备数据4.默认参数的决策树模型5.决策树超参数调优保存模型,用于后续测试查看特征重要性:测试部分**决策树思路:原始特征+tfidf特征训练部分** 我们以Kaggle2015年举办的Otto Group Product Classification Challenge竞赛数据为例,...原创 2019-02-21 10:58:53 · 1890 阅读 · 0 评论 -
(五)线性回归模型化求解之‘解析法’
目录1、线性回归的目标函数、目标函数的最优解2、OLS的最优解:Moore-Penrose广义逆、岭回归的最优解-SVD分解3、讨论1、线性回归的目标函数、目标函数的最优解 2、OLS的最优解:Moore-Penrose广义逆、岭回归的最优解-SVD分解 3、讨论 ...原创 2019-02-01 20:59:16 · 919 阅读 · 0 评论