
学习笔记-机器学习
harden1013
这个作者很懒,什么都没留下…
展开
-
关联分析--FP-growth(12)
相较于Apriori,FP-growth可以加快速度,其过程主要分为:1.构建FP树;2.利用FP树挖掘频繁项集;#FP树构架设置class treeNode: def __init__(self, nameValue, numOccur, parentNode): self.name = nameValue self.count = numOccur self.nodeLink = None self.parent = p原创 2022-01-27 13:10:38 · 360 阅读 · 0 评论 -
关联分析--Apriori(11)
频繁项集--同时出现频率较高的特征集合关联规则--不同特征间关系较强支持度--项集在数据集中所占比例置信度--关联规则的支持度与单个特征支持度的比值举个例子,假设NBA全明星连续五日的观众投票最佳阵容如下:Date PG SG SF PF C 2.1 库里 哈登 詹姆斯 字母哥 约基奇 2.2 欧文 哈登 杜兰特 浓眉 约基奇 2.3 库里 东契奇 杜兰特 浓..原创 2022-01-27 11:11:43 · 1182 阅读 · 0 评论 -
K均值(10)
分类、回归---监督过程,解决“在标签数据前提下,输入X预测Y”非监督---数据本身有什么特点,数据簇K均值---给定K个聚类中心,根据与聚类中心距离聚类,更新聚类中心。代码实践如下:def kMeans(dataSet, k, distMeas=distEclud, createCent=randCent): #输入:数据集,类别数,距离计算方式,初始聚类中心 m = shape(dataSet)[0] clusterAssment = mat(zeros((m, 2原创 2022-01-26 21:30:37 · 1964 阅读 · 0 评论 -
分类回归树(9)
针对非线性问题无法通过全局线性模型来拟合,通常将该非线性问题切分成多个便于线性建模的数据,而分类回归树(CART)就是解决方案之一,大致流程如下:1.找到最佳的待切分特征;2.执行二元切分,左子树和右子树;3.如果节点不能切分,存为叶节点;# 创建分类回归树def createTree(dataSet, leafType=regLeaf, errType=regErr, ops=(1,4)): feat, val = chooseBestSplit(dataSet, leafTy原创 2022-01-25 15:20:23 · 363 阅读 · 0 评论 -
元算法之AdaBoost(8)
不同的分类器都拥有其优缺点,而元算法的目的即在于将不同分类器进行组合,从而获取集成方法的分类结果。元算法中有两大类常用的:bagging和boosting,bagging中常用的有随机森林法,而boosting中常用的有AdaBoost。bagging:不同分类器串行,每个新分类器在前一个分类器的训练结果上训练,分类器间等权;boosting:新分类器仅关注已有分类器的错分数据,权重表示分类器在上一轮表现的准确率;基于弱分类器--单层决策树,Adaboost的训练代码实现如下:def ad原创 2022-01-25 11:27:09 · 377 阅读 · 0 评论 -
回归预测(7)
当我们拥有2021年每月降水量,想要获得2022年每月降水量时,首先想到的就是估计降水量与各月的函数关系,从而预测未知月份的降水量。而解决上述问题,首先想到的算法就是--最小二乘构建如y=Bx的函数关系,可以展开成y=b0*cosx+b1*x+b2*tanx+……,x为解决该问题的基函数,B为对应每项基函数的系数阵,而最小二乘求解的方式也很简单:在求解得到系数阵后,对于新得到的x就能成功预测新的y值,代码实现如下:def standRegres(xArr,yArr): #输入:原创 2022-01-25 11:05:23 · 527 阅读 · 0 评论 -
支持向量机(6)
线性可分数据---可以通过一条直线将两组数据点区分开来。而这条直线被称作“分割超平面”或“决策边界”。支持向量,即为距离分割超平面距离最近的点。要想实现较好的分类优化求解方法,其原则即为支持向量到决策边界的距离最大化。小总结---约束为最小间隔数据点(支持向量)到决策边界的距离最大argmax{min(label*distance(点,分割边界))}支持向量机中还有一个重要概念---核函数,建立低维特征空间与高维特征空间的映射关系由于整体的SVM优化求解是一个较大的优化问题,直接求解不易原创 2022-01-21 19:39:12 · 434 阅读 · 0 评论 -
Logistic回归(5)
Logistic回归进行分类的总体思想:利用训练数据拟合分类边界线。理想情况下,分类类别输出函数为单位阶跃函数,即输出仅有0或1;但实际情况并非如此,可以采用例如sigmoid函数。设sigmoid输入为,采用梯度下降算法求解当错分率最小时的权重参数w,或者是采用梯度上升算法求解当正分率最大时的权重参数w,二者等价。梯度上升计算的代码如下:def gradAscent(dataMatIn, classLabels): # 输入:datamatin,classlabels--训练数据原创 2022-01-20 21:10:54 · 438 阅读 · 0 评论 -
分类性能评价指标(4)
遥感影像分类常用的评价指标--混淆矩阵 预测结果 类别 类1 类2 类3 真实结果 类1 24 2 5 31 类2 2 27 0 29 类3 4 2 30 36 30 31 35 81 类1的用户精度=24/30类1的制图精度=24/31类1的漏分误差=(31-24)/31类1的错分误差=(30-24)原创 2022-01-20 20:39:56 · 2916 阅读 · 0 评论 -
朴素贝叶斯(3)
通俗来说,贝叶斯是在计算概率值,而朴素贝叶斯假设先验数据类别均相互独立。先验数据--建立已知数据及已知类别测试数据--计算属于先验数据的条件概率,属于该类数据类别的概率越高则被预测为该类训练部分代码:def trainNB0(trainMatrix,trainCategory): # 样本数据集:trainMatrix # 样本标签:trainCategory numTrainDocs = len(trainMatrix) # 样本总数 numWord原创 2022-01-17 10:23:55 · 352 阅读 · 0 评论 -
决策树(2)
决策树的理解可以类比最近较火的综艺游戏,游戏规则如下:裁判确定一个关键词,选手可以向裁判提问15个问题,而裁判仅能回答是与不是,最终选手获得关键词。通常采用递归的方式构造决策树,主要流程如下:1.递归停止条件1:选取特征使得数据的特征相同时标签也与之严格一致,例如特征=【能飞,不能飞】,标签=【是猪1,非猪0】,能飞特征对应的一定是非猪;2.但满足标签1的还有其他特征,在上次特征划分后的数据上在此判断递归停止条件1,例如特征2=【能潜水,不能潜水】,在不能飞的特征下,选择特征2继续划分;3.原创 2022-01-16 19:50:52 · 1981 阅读 · 0 评论 -
KNN(1)
KNN--k近邻算法训练数据,数据+标签,即已知数据及其分类当新输入数据即测试数据时,计算与训练类的特征相似距离,作为分类结果主要算法流程如下:1.在特征空间中,计算测试数据点与训练数据点的距离;2.筛选距离最小的训练数据点,对应训练数据类的点数越多,即越可能分作该类;算法代码如下:def classify0(inX, dataSet, labels, k): # 训练数据:dataSet, labels # 测试数据:inX # 邻域大小:k原创 2022-01-16 19:18:25 · 2052 阅读 · 0 评论