机器学习
文章平均质量分 92
机器学习
__Miracle__
这个作者很懒,什么都没留下…
展开
-
机器学习----决策树Python实现
信息熵计算import mathimport collectionsdef entropy(rows: list) -> float: """ 计算数组的熵 """ result = collections.Counter() result.update(rows) rows_len = len(rows) assert rows_len # 数组长度不能为0 # 开始计算熵值 ent = 0.0 for r转载 2021-09-17 00:52:54 · 322 阅读 · 0 评论 -
机器学习----Navie Bayes
朴素贝叶斯算法(Navie Bayes)概率定义概率定义为一件事情发生的可能性 , 扔出一个硬币,结果头像朝上, P(X) : 取值在[0, 1]案例:判断女神对你的喜欢情况问题如下:被女神喜欢的概率?职业是程序员并且体型匀称的被女神喜欢概率?在女神喜欢的条件下,职业是程序员的概率?在女神喜欢的条件下,职业是程序员、体重超重的概率?计算结果为:P(喜欢) = 4/7P(程序员, 匀称) = 1/7(联合概率)P(程序员|喜欢) = 2/4 = 1/2(条件概率)P(程序员, 超转载 2021-08-27 10:03:04 · 341 阅读 · 0 评论 -
机器学习----概述
什么是机器学习定义: 机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测通俗上讲:就是让机器去学习,让机器去执行学习的目的是"减熵"(热力学第二定律:一个孤立的系统倾向于增加"熵")机器学习的必要性很多软件无法靠人工编程来解决,如:自动驾驶、计算机视觉、自然语言处理比如说:鸢尾花的识别难以用人工编程(特性很多)sklearn中提供了该数据集,主要内容有150个样本数据四个Attribute:sepal length in cmsepal width i转载 2021-08-26 09:46:06 · 303 阅读 · 0 评论 -
机器学习----聚类
聚类无监督学习 (unsupervised learning) 是找出输入数据的模式。比如,它可以根据电影的各种特征做聚类,用这种方法收集数据为电影推荐系统提供标签。此外无监督学习还可以降低数据的维度,它可以帮助我们更好的理解数据。聚类算法:一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。举例使用不同的聚类准则,会产生的聚类结果不同。转载 2021-08-26 09:43:11 · 1899 阅读 · 0 评论 -
机器学习----XGBoost和lightGBM
XGBoostXGBoost(Extreme Gradient Boosting)全名叫极端梯度提升树,XGBoost是集成学习方法的王牌,在Kaggle数据挖掘比赛中,大部分获胜者用了XGBoost。XGBoost在绝大多数的回归和分类问题上表现的十分顶尖最优模型的构建方法我们在前面已经知道,构建最优模型的一般方法是最小化训练数据的损失函数。我们用字母 L表示损失,如下式其中,F是假设空间假设空间是在已知属性和属性可能取值的情况下,对所有可能满足目标的情况的一种毫无遗漏的假设集合。式(1.1)转载 2021-08-25 09:40:47 · 605 阅读 · 0 评论 -
机器学习----集成学习(Ensemble Learning)
集成学习(Ensemble Learning)多种机器学习算法都能做同样的事情。让不同的算法针对同一个数据都跑一遍,最终使用投票的方法,少数服从多数,用多数投票的结果作为最终的结果。import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsX, y = datasets.make_moons(n_samples=500, noise=0.3, random_state=42)plt.scatter(X转载 2021-08-24 09:51:22 · 1059 阅读 · 0 评论 -
机器学习----支撑向量机(SVM)
SVM支持向量机(Support Vector Machine, SVM)图中是一个样本空间,里面有一些样本点,分成红色和蓝色两类。逻辑回归是要找到一根决策边界,由决策边界把数据分成两类。但可能存在这样一些数据(下图),可能存在多条决策边界。(不适定问题)逻辑回归定义了一个损失函数,通过最小化损失函数求出决策边界。假设逻辑回归算法最后求出的是这样一根直线(下图),它在前面的所给的样本空间中表现很好,但新来这样一个样本,那么很有可能它的分类结果是错误的。这根决策边界的泛化效果不够好,因为它离转载 2021-08-23 14:46:39 · 935 阅读 · 0 评论 -
机器学习----逻辑回归
逻辑回归简介logistic回归是一种广义的线性回归分析模型,以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。绘制sigmoid曲线import numpy as npimport matplotlib.pyplot as pltdef sigmoid(t): return 1. / (1. + np.exp(-转载 2021-08-21 14:09:15 · 597 阅读 · 0 评论 -
机器学习----使用梯度上升进行PCA求解
PCA简介PCA(Principal Component Analysis):也是一个梯度分析的应用,不仅是机器学习的算法,也是统计学的经典算法1.1 举个栗子例如下面一个两个特征的一个训练集,我们可以选择一个特征,扔掉一个特征下图分别是扔掉了特征一和特征二的两种方案,很明显右边这种的效果会更好一些,因为访问二扔掉特征二以后,点之间的分布情况更接近与原图,但是这不是更好的我们希望有一根直线,是斜着的,我们希望将所有的点都映射到这条直线上,那么这个时候我们就成功的将二维降到了一维,与此同时,这转载 2021-08-20 21:33:36 · 329 阅读 · 0 评论 -
机器学习----线性回归
线性回归算法简介线性回归算法以一个坐标系里一个维度为结果,其他维度为特征(如二维平面坐标系中横轴为特征,纵轴为结果),无数的训练集放在坐标系中,发现他们是围绕着一条执行分布。线性回归算法的期望,就是寻找一条直线,最大程度的“拟合”样本特征和样本输出标记的关系########## 样本特征只有一个的线性回归问题,为简单线性回归,如房屋价格-房屋面积将横坐标作为x轴,纵坐标作为y轴,每一个点为(X(i) ,y(i)),那么我们期望寻找的直线就是y=ax+b,当给出一个新的点x(j)的时候,我们希望预测转载 2021-08-19 18:25:09 · 588 阅读 · 0 评论 -
机器学习----多项式回归
多项式回归简介考虑下面的数据,虽然我们可以使用线性回归来拟合这些数据,但是这些数据更像是一条二次曲线,相应的方程是y=ax2+bx+c,这是式子虽然可以理解为二次方程,但是我们呢可以从另外一个角度来理解这个式子:如果将x2理解为一个特征,将x理解为另外一个特征,换句话说,本来我们的样本只有一个特征x,现在我们把他看成有两个特征的一个数据集。多了一个特征x2,那么从这个角度来看,这个式子依旧是一个线性回归的式子,但是从x的角度来看,他就是一个二次的方程以上这样的方式,就是所谓的多项式回归相当于我转载 2021-08-19 15:35:41 · 2249 阅读 · 0 评论 -
机器学习----KNN算法及机器学习的套路
机器学习:分类按照是否有标签(答案)有监督学习(都有标签)半监督学习(部分标签)无监督学习 (无标签)监督学习(Supervised learning)按照数据预测的结果分类 Classification 预测的值是离散的 股票的涨还是跌(二分类) 鸢尾花数据集分类,识别0~9数字回归 Regression 预测的值是连续的 股票的价格, 房屋的价格KNN算法的原理介绍优点k nearest neighbors原理案例介绍假设现在设计一个程序判断一个原创 2021-08-18 11:12:00 · 629 阅读 · 1 评论 -
机器学习----决策树
决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法决策树:是一种树形结构,本质是一颗由多个判断节点组成的树其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsiris = datasets.load_i转载 2021-08-13 09:09:50 · 763 阅读 · 0 评论 -
机器学习----梯度下降方法
梯度下降法不是一个机器学习算法是一种基于搜索的最优化算法作用:最小化一个损失函数这个二维平面与前面提到的所有二维平面不同。注意坐标系是什么。在直线方程中,导数代表斜率在曲线方程中,导数代表切线斜率在梯度下降法中,导数代表theta单位变化时,J相应的变化导数可以代表方向,对应J增大的方向在梯度下降法中,theta应该向导数的负方向移动在多维函数中,要对各个方向的分量分别求导,最终得到的方向就是梯度以下是定义了一个损失函数以后,参数theta对应的损失函数J的值对应的示例图,我们需要转载 2021-08-13 13:33:46 · 449 阅读 · 0 评论 -
机器学习----混淆矩阵(Confusion Matrix)
混淆矩阵(Confusion Matrix)假设有一个算法,其预测某种癌症的准确率为99.9%。这个算法好吗?99.9%的准确率看上去很高,但是如果这种癌症本身的发病率只有0.1%,即使不训练模型而直接预测所有人都是健康人,这样的预测的准确率也能达到99.9%。 更极端的情况,如果这种癌症本身的发病率只有0.01%,这算法预测的准确率还不如直接预测所有人都健康。 对于极度偏斜的数据(癌症患者的人数和健康人数量差别特别大)(skewed data),用准确率评价分类算法好坏有局限性.]解决方法:混淆矩阵转载 2021-08-12 09:05:37 · 16835 阅读 · 0 评论