周志华西瓜书
AppleYRY
求其上者得其中,求其中者得其下。
展开
-
总结
K选大了,容易过拟合;小了,容易欠拟合。线性回归的重点是:线性回归的推导(一种是梯度下降的推导,一种是最小二乘的推导)逻辑回归是一个重点(当不知道用什么算法的时候,先用逻辑回归),机器学习中,特征越多,越能描述一个事物多重线性:相关性很大小规模数据:几万,几十万都算小规模pysparkspark(pyspark)处理大规模数据集随机森林更多的用来去噪声,选特征;算法,模型处理的好坏,跟数据有很大关系。数据一定要预处理。svm用的不是很多数据结构 图的结构+谱聚类(tensorflow)自行原创 2020-05-21 17:13:19 · 445 阅读 · 0 评论 -
运营商客户流失预警建模与精准挽留
客户流失属于流程类的项目客户流失分析建模功能实现框架流程spass,spark,都可以做评估分类相对来说,提高查全率选分类原创 2020-05-19 18:50:06 · 531 阅读 · 0 评论 -
腾讯移动app广告转化率预估
题目瞄述:计算广告是互联网最重要的商业模式之一,广告投放效果通常通过曝光,点击和转化各环节衡量,大多数广告系统受广告效果数据回流的限制只能通过曝光点或点击作为投放效果的衡量标准开展优化。(转化:买东西就是转化)腾讯社交广告(http://ads.tencent.com)发挥特有的用户识别和转化跟踪数据能力,帮助广告主跟踪广告投放后的转化效果,基于广告转化数据训练转化率预估模型(PCVR,predicted conversion rate),在广告排序中引入PCVR因子优化广告投放效果,提升ROIpr原创 2020-05-19 16:52:21 · 1165 阅读 · 0 评论 -
小额贷款
参考网上的例子;dataset.copy().drop([‘y’,’_col10’],aixs=1)—删除表格中的列模型存储:sklearn.externals.joblibload:加载;dump:存储原创 2020-05-19 12:16:23 · 224 阅读 · 0 评论 -
机器学习分类综合案例
数据清洗;特征工程;缺失值填补;分类。na_values["?"]—空数据特别大,不适合放在内存里面处理,不适合用pandas处理pandas中的describe()可以将数据所有特征显示出来,describe()显示的是数字特征,非数字特征加上include=[‘0’]默认前5行。head(5)子图作用:将每一个特征尽可能的表现出来对所有特征有一个大的认知missingno查看确实值,中间画白色横线的都有缺失目标:了解有哪些特征;了解这些特征与目标之间的关系缺失值:要么去除;要么填补。填原创 2020-05-18 17:23:49 · 2834 阅读 · 1 评论 -
Pipeline一体化处理过程(了解)
数据集网站国内网站: 天池大数据竞赛中的O2O很厉害,卷商的数据.sklearn.preprocessing.Imputer是做数据处理的,不过目前已经弃用原创 2020-05-17 17:21:27 · 734 阅读 · 0 评论 -
正则化
过拟合的产生:噪声;复杂模型拟合数据正则化----简单的模型来拟合复杂的数据什么是正则化?—对它做一个限制,使其在一定 的范围内。高次项是包含低次项的;w要尽可能的小找最优解:就是找这个圆和之前的求解过程中相交的这个点。正则化可能会导致误差大,但是泛化性能会好。N:取平均 2:w^2中的2landa/N:N可有可无,可以设置lamda=lamda/N正则化圆的大小是由lamda决定的。下面是Ridge回归逻辑回归:1/(1+exp(-z))中z就是线性回归,可以在z中加入正则化原创 2020-05-17 12:35:36 · 393 阅读 · 0 评论 -
主成分分析(PCA降维)
降维:LDA—了解SVD—了解PCA—重点表示向量的时候是需要确定一组基的。基的模长是1降维目标:尽量在投射点上分散,不重合;重合会丢失很多信息。减去均值好处:5条数据都平面直角坐标系内方差值越大越分散协方差—算相关性补充:线性代数特征值,特征向量知识eig:可以协方差矩阵的特征值和特征向量有协方差矩阵可以直接求出特征值和特征向量降维:SVD;LDA。与PCA结果有区别...原创 2020-05-16 21:51:15 · 749 阅读 · 0 评论 -
基于Bagging与boosting的算法4---XGBoost的应用
参考xgboost官网 xgboost官网查看公式推理。(难)还有一个特征:xgboost可以在一定程度上进行并行了解Adaboost-参数:import pandas as pd from sklearn.ensemble import AdaBoostClassifierfrom sklearn.model_selection import GridSearchCV,train_test_splitimport matplotlib.pyplot as plt df =pd.re.原创 2020-05-16 12:04:54 · 411 阅读 · 0 评论 -
基于Bagging与boosting的算法3---GBDT
他也是一棵提升树第四部分:总结百度:机器学习中损失函数及其梯度每步优化一个损失函数加法模型:每次在损失上增加,减小损失。决策树既可以做分类,也可以做回归回归问题的提升树,算最小均方差就可以了。知道就可以GBDT是一个提升树—处理数据量比较大的问题,通过GBDT处理原始数据(梯度提升树,可以对数据进行分类,将分类好的数据交给逻辑回归,GBDT+LR例子)gbdt+lr参考网上GBDT+LT的代码。...原创 2020-05-12 12:35:08 · 402 阅读 · 0 评论 -
基于Bagging与boosting的算法2---AdaBoost
弱分类器—后一个在前一个的基础上提升误差越小,权重越大W_t(i)每个样本的权重样本权重更新的计算—错误样本,增加权重。错的才计算误差,正确的不计算误差错误的,权重提高;但不代表每次都抽到错误的。权重越大,被抽到的概率,越高https://scikit-learn.org/stable/在api里面搜索:Adaboost.参数自己调。...原创 2020-05-11 22:39:52 · 138 阅读 · 0 评论 -
基于Bagging和boosting算法 1---随机森林
bagging的特征:随机有放回的抽样;用随机森林做决策不能选择最优属性,只能选择随机属性。随机森林的基分类器是决策树;随机森林不能用最佳属性做节点选择,随机选择;k决定属性的个数,在k个属性中选择最优的;—这种方式可以防止每次取最优,但是k不能等于整个属性集。cart是用基尼指数衡量的,也可以用信息熵。cart造随机森林的时候是没有剪枝的。不剪枝意味调参数随机森林缺点:可解释性差;容易发生过拟合;随机森林代码:参考https://scikit-learn.org/stable/森林和决策树进原创 2020-05-11 17:43:55 · 786 阅读 · 1 评论 -
集成学习3_Stacking和Blending
Stacking部分stacking了解将训练集分成5个部分,进行交叉验证,每次会得到一个新的结果,将新的结果作为一个新的特征,然后又把新的特征当作训练集,进行第二轮的学习.上面是a1,下面是b1stacking就是栈的意思—训练一个,就压栈,最后会得到一个新的训练结果。—stacking想法Blending部分...原创 2020-05-10 22:27:28 · 466 阅读 · 0 评论 -
集成学习2_boosting
boosting的重要性和bagging一样,甚至比bagging更重要。bagging所有模型都能同时运行;boosting只能运行一个模型。原创 2020-05-09 22:39:21 · 115 阅读 · 0 评论 -
集成学习1_bagging
集成学习介绍如何预测结果:投票(取众数),平均法,加权平均。目的:提高分类准确率反馈—错误的东西高级集成技术bagging非常重要。bagging思想很重要最终的结果:取他们之间的 投票(众数)T一般情况默认取10;x是测试数据,c1是训练完以后的模型,不是学习模型为什么要求“不稳定”的分类?—如果稳定,分类都差不多。bagging干什么事?–将10个模型全部列出来。bagging的思想:从原始的数据集中随机抽取10个数据集;–有放回的抽取。构建了10颗决策树,注意:bagging示例中原创 2020-05-09 21:51:25 · 383 阅读 · 0 评论 -
朴素贝叶斯算法
样本属于某一类别的最大概率独立同分布用sklearn去求解贝叶斯(bayes)参考:https://scikit-learn.org/stable/高斯处理连续值波努力处理二分类数据不平衡的数据集—正类和负类的比例不一样原创 2020-05-09 17:06:07 · 150 阅读 · 0 评论 -
svm算法
支持向量机(理论)svm:找出最好的线分开找到最大间隙的算法叫做:优化如何将二维投射到三维——核函数kernellingsvm是的中间的2d最大范数就是求向量的模不用考虑中间2d有多大,都可以把两类设置成+1和-1.宽是d的问题。拉格朗日乘子法线性svm优化KKT条件——广义的拉格朗日乘子法了解smo非线性分类将2维空间映射到5维空间,w^t是5维向量,b是第6维一维空间不可分映射到高维空间,不一定可分;要找到合适的函数才可分。高维空间映射可以通过低围函数变化得到高维表达原创 2020-05-08 19:53:47 · 470 阅读 · 0 评论 -
sklearn的聚类实现
参考https://scikit-learn.org/stable/sklearn.cluster.KMeans;sklearn.cluster.dbscan;调参数——min_samples,eps;注意:叶子决定树的深度当样本比较大,通常用MiniBachKMeans;当样本比较小,通常用KMeans,和Difference.总结:其实就是knn...原创 2020-05-08 10:19:51 · 309 阅读 · 0 评论 -
基于密度的聚类DBSCAN(理论部分)
并不是在边界上的点就是边界点出发—表示方向;可达—够得着从P到q密度可达,p和m两个互相之间都是直接密度可达,如果密度可达则一定密度相连没分出来...原创 2020-05-06 21:26:35 · 339 阅读 · 0 评论 -
层次方法:agnes+DIANA算法
合并和分裂还有其它算法原创 2020-05-06 14:53:41 · 2525 阅读 · 0 评论 -
P(39):k-medoids算法
对于任意的样本点都有这4种情况产生p到现在中心点的距离-p到原来中心点的距离TC_ac:a被c替换的总代价;C_AAB:A这个点原来属于A这个中心后来属于B这个中心...原创 2020-05-05 16:12:28 · 255 阅读 · 0 评论 -
常用聚类方法kmeans
k个簇中心,平均法重新计算各个簇中心,簇心几乎不移动。输入:簇的数;数据集;输出:k个簇方法:从数据集中找出k个对象当作原始的簇心;import numpy as np a=np.array([(3,4),(3,6),(7,3),(4,7),(3,8),(8,5),(4,5),(4,1),(7,4),(5,5)])lines=""for i in a: for j ...原创 2020-05-04 20:49:37 · 417 阅读 · 0 评论 -
聚类的简单概述
提纲:真正的聚类算法有很多:几十种。面试经常会遇到:k-means算法和DBSCAN算法,还有一个是谱聚类。聚类分析概述:相似于knn(有监督学习);聚类是无监督学习。聚类—无监督分类方法(无训练集和训练过程),根据相似度来分类;关键点:1,相似度;2,多少类别。聚类一般来做初分类划分法重点是k-means;谱聚类:以图像的方式进行聚类相似性计算方法-d...原创 2020-05-02 22:41:32 · 242 阅读 · 0 评论 -
继‘决策树总结’之后的sklearn_决策树
分类算法实战:参考机器学习官网:https://scikit-learn.org/stable/modules/classes.html备注:该笔记不全,代码不能运行,只供复习需要,以后有时间,补全代码。限制树的参数:max_depth; min_samples_split;并不是叶子节点越多也好,要合适。还有max_leaf_nodes:最大叶子节点也可以去设自学图形化工具:grap...原创 2020-05-02 11:45:08 · 188 阅读 · 0 评论 -
决策树总结
决策树基本概念:针对应用场景,误差有些重要,有些不重要(误差要求不同)。什么是归纳学习?什么是演绎?混淆矩阵:准确率,差错率为什么会出错?—过拟合决策树用好了,有规则;用不好,过拟合。分类算法实战:画混淆矩阵的ROC曲线:...原创 2020-04-30 17:00:40 · 239 阅读 · 0 评论 -
决策树算法4:CHAID
原理:卡方计算(例子)”无数据“#如何使用卡方检测相关度from sklearn.feature_selection import SelectKBest,chi2import pandas as pd file='data.csv'df=pd.read_csv(file,encoding='gbk') #数据本身X=df.iloc[:,:-1].values ...原创 2020-04-30 15:38:27 · 9002 阅读 · 0 评论 -
决策树3:基尼指数--Gini index(CART)
原理:既能做分类,又能做回归。分类:基尼值作为节点分类依据。回归:最小方差作为节点的依据。节点越不纯,基尼值越大,熵值越大方差越小越好。总体的基尼值:0.343## 代码实践#整个c4.5决策树的所有算法:import numpy as npimport operatordef creatDataSet(): """ outlook-> 0:sunn...原创 2020-02-28 21:02:32 · 16671 阅读 · 1 评论 -
决策树算法2:(增益比率C4.5)
#算法原理最重要的是第一个多个分裂点?多分法,多叉决策树。1:0.88;2:0.918;3:0.954;······众数;概率值—缺失值将缺失值当作单独分类,进行计算。### C4.5简单实践#整个c4.5决策树的所有算法:import numpy as npimport operatordef creatDataSet(): """ outlook->...原创 2020-02-24 15:45:57 · 698 阅读 · 0 评论 -
决策树算法一:hunt算法,信息增益(ID3)
决策树入门决策树是分类算法中最重要的算法,重点决策树算法在电信营业中怎么工作?为什么叫决策树?因为树的叶子节点是我们最终预判的结果。决策树如何来?根据训练样本建立。问题1:为什么费用变换率放第一个?根据特征建决策树,会有n棵树,找出最优树。问题2:当我们特征是连续值的时候,到底从哪里开始切分?连续值要改为离散的。问题3:决策树能不能做回归决策树例子:不同的决策树对我们判定的...原创 2020-02-02 23:12:17 · 6879 阅读 · 0 评论 -
逻辑回归
回归:连续值预测逻辑回归:分类算法。–逻辑回归是干什么?定义:对定性变量的回归分析;定性:定量:之前的回归模型,处理的是因变量是数值型区间(负无穷到正无穷)变量,建立的模型描述的是因变量Y与自变量(X)之间的线性关系。期望=期望参数与自变量的分别乘积和;逻辑变换的公式:要记住注:结果是对称的,一般情况是0.5;如果结果不是对称的,一般情况不是0.5使用最小二乘法求:上面的函数服...原创 2019-12-23 11:59:36 · 381 阅读 · 0 评论 -
BGD(批量梯度下降)--学习笔记
函数凸凹性:用到的范数知识:详细解释:每一个元素的平方再开方。补充损失函数: Huber Loss知识点 #### loss函数可以通过loss参数进行设置。SGDRegressor支持以下的loss函数:SGD:随机梯度下降四个损失函数:...原创 2019-12-12 22:34:57 · 392 阅读 · 0 评论 -
线性回归
基础知识:回归是监督学习的这个重要问题,回归用于预测输入变量和输出变量之间的关系;很好的拟合已知模型,并很好的预测未知模型;什么是回归:1,回归问题分为模型的学习和预测两个过程。基于给定训练数据集构建一个模型,根据新的输入数据预测相应的输出;2,回归问题按照输入变量的个数可以分为一元回归和多元回归;按照输入变量和输出变量之间的关系类型,可以分为线性回归和非线性回归一元线性回归:1,...原创 2019-12-10 22:32:05 · 402 阅读 · 0 评论 -
KD树------knn的变种算法
knn:是一种蛮力实现的方法,如果数据量非常大的情况,计算量也非常大。KNN的两个变种算法:KD树和球树什么是KD树?KD树建树采用是从m个样本的n维特征中,分别计算n个特征的取值的方法,用方差最大的第K维特征nk来作为根节点。(选择特征nk的取值的中位数nkv对应的样本作为划分点,对于所有第k维特征的取值小于nkv的样本,划入左子树们,对于第k维特征的取值大于等于nkv的样本,划入右子树...原创 2019-12-08 18:39:04 · 775 阅读 · 1 评论 -
KNN
KNN:K-NearesrNeighbor–K最近邻(原理)K最近邻,就是k个最近的邻居的意识,即:每个样本都可以用他最近的k个邻居来代表。核心思想:如果一个样本在特征空间中的K个最相邻的样本,并且最相邻样本中的大多数属于某一个类别(该样本也属于这个类别,并具有该类别上样本的特性)KNN很大程度上取决于K的选择算法三要素:k值的选择距离度量方式--------百度上很多分类决策规制...原创 2019-12-04 17:26:33 · 174 阅读 · 0 评论