ML
TravelingLight77
仰望星空,脚踏实地。
展开
-
混淆矩阵:用于多分类模型评估(pytorch)——总结2
混淆矩阵(confusion matrix) 1. 混淆矩阵介绍2. 代码实现2.1 数据集2.2 代码:混淆矩阵类2.3 在验证集上计算相关指标2.4 结果 1. 混淆矩阵介绍 这里不多说,可参考 混淆矩阵相关概念调用sklearn库计算混淆矩阵的指标 2. 代码实现 2.1 数据集 此数据集用于多分类任务(检测番茄叶片病虫害)。这里测试的数据集一共1250张图,1000张用于训练,250张用于...转载 2021-09-19 11:10:19 · 3522 阅读 · 2 评论 -
深度学习分类任务常用评估指标——总结(重点)
一、分类模型指标1 准确率和错误率(该指标评价的前提样本分布平衡)准确率和错误率既可用于二分类也可用于多分类: 下述公式是准确率、错误率针对二分类情况时候的计算公式1.1 准确率(该指标评价的前提样本分布平衡)针对 所有类别 ,计算acc,其计算公式如下:理解: 在样本(测试集)中所有预测正确的类别个数 与 所有样本的比值,它是针对所有的类别计算的。精确率和准确率是比较容易混淆的两个评估指标,两者是有区别的。精确率是一个二分类指标,而准确率能应用于多分类,其计算公式为(对分类):1.2 错原创 2021-09-18 11:36:59 · 1672 阅读 · 0 评论 -
深度学习分类任务评价指标——总结1
0 分类问题评价指标 混淆矩阵 混淆矩阵:Actual :实际的正类或父类; Predicted : 预测的;1 :正类 0:父类 predictedpredicted 10 Actual 1TPFN Actual :0FPTN ...转载 2021-09-17 17:37:40 · 299 阅读 · 0 评论 -
最强数据集集合:50个最佳机器学习公共数据集丨资源
最强数据集集合:50个最佳机器学习公共数据集丨资源转载 2021-09-05 15:48:51 · 218 阅读 · 0 评论 -
机器学习的回归评价指标——总结
机器学习的回归评价指标 回归类算法的模型评估一直都是回归算法中的一个难点,但不像无监督学习算法中的轮廓系数等等评估指标,回归类与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。只不过在分类型算法中,这个差异只有一种角度来评判,那就是是否预测到了正确的分类,而在回归类算法中,有两种不同的角度来看待回归的效果: 第一,是否预测到了正确的数值。 第二,是否拟合到了足够的信息。 这两种角度,分别对应着不同的模型评...转载 2021-01-10 19:39:26 · 5625 阅读 · 2 评论 -
机器学习:多分类模型评价准则
机器学习中,遇见的往往是二分类问题比较多,二分类模型的模型评价准则很多,Auc_score,F1_score,accuracy等等都是比较常用的。而针对多分类问题来说,有些二分类的评价准则就相对而言不怎么适用了。虽然可以将多分类问题转化为多个2vs2问题进行讨论,步骤繁杂的同时效果也得不到保障。目前在进行多模态的一个分类研究,在模型评价时也废了不少脑筋,所以在这里将看到的比较常用的多分类评价准则进行整理,便于日后学...转载 2021-01-10 17:39:08 · 870 阅读 · 0 评论 -
机器学习二分类模型评价指标详述
问题建模 机器学习解决问题的通用流程:问题建模——特征工程——模型选择——模型融合 其中问题建模主要包括:设定评估指标,选择样本,交叉验证 解决一个机器学习问题都是从问题建模开始,首先需要收集问题的资料,深入理解问题,然后将问题抽象成机器可预测的问题。在这个过程中要明确业务指标和模型预测目标,根据预测目标选择适当指标用于模型评估。接着从原始数据中选择最相关的样本子集用于模型训练,并对样本子集划分训练集和测试集...转载 2021-01-10 17:32:37 · 4757 阅读 · 1 评论 -
评价分类算法模型的方法总结——针对二分类模型
print("精确率和召回率为:", classification_report(y_test, lr.predict(x_test), labels=[2, 4], target_names=['好', '坏']))当样本不平衡时候,以上指标:精确率和召回率评价模型,并不全面原创 2021-01-10 17:05:27 · 184 阅读 · 0 评论 -
逻辑回归的总结以及实战
实战代码def logisticregression(): """ 逻辑回归进行癌症预测 :return: None """ # 1、读取数据,处理缺失值以及标准化,为原数据加上列名 column_name = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape', ...原创 2021-01-09 23:00:00 · 200 阅读 · 0 评论 -
过拟合与欠拟合总结——岭回归实战
实战代码from sklearn.datasets import load_bostonfrom sklearn.metrics import mean_squared_errorfrom sklearn.linear_model import Ridgefrom sklearn.model_selection import train_test_splitdef linearL2(): """ 用带L2正则化的线性回归——岭回归,实现波士顿房价...原创 2021-01-08 23:06:23 · 177 阅读 · 0 评论 -
线性回归实战
实战代码from sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LinearRegressionfrom sklearn.linear_model import SGDR...原创 2021-01-07 12:23:57 · 201 阅读 · 0 评论 -
机器学习总结1
原创 2021-01-06 10:53:12 · 84 阅读 · 0 评论 -
贝叶斯公式实战
from sklearn.datasets import fetch_20newsgroupsfrom sklearn.model_selection import train_test_splitfrom sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.naive_bayes import MultinomialNBdef nb_news(): """ 用贝叶斯算法,对新闻进行分类 :原创 2021-01-05 11:57:55 · 129 阅读 · 0 评论 -
模型选择与调优,交叉验证与网格的搜索相结合总结
实战举例def knn_gsv(): """ 用knn对鸢尾花进行分类,并用网格搜索技术进行优化 :return: """ # 1、获取数据 iris = load_iris() # 2、划分数据集 x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=22) # 3、特征...原创 2021-01-04 22:44:42 · 220 阅读 · 1 评论 -
train_test_split用法总结
sklearn.model_selection.train_test_split随机划分训练集和测试集 官网文档:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split 一般形式: train_t...转载 2021-01-04 21:12:44 · 6163 阅读 · 0 评论 -
KNN算法实战
"""@Time : 2021/1/4 20:37@File : KNN.py"""from sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.neighbors import KNeighborsClassifierdef knn..原创 2021-01-04 21:07:31 · 180 阅读 · 0 评论 -
机器学习——卷积神经网络总结
为什么用CNN我们都知道CNN常常被用在影像处理上,如果你今天用CNN来做影像处理,当然也可以用一般的neural network来做影像处理,不一定要用CNN。比如说你想要做影像的分类,那么你就是training一个neural network,input一张图片,那么你就把这张图片表示成里面的pixel,也就是很长很长的vector。output就是(假如你有1000个类别,output就是1000个dimension)dimension。那我相信根据刚才那堂课内容,若给你一组training da原创 2020-12-01 21:39:07 · 164 阅读 · 0 评论 -
PyTorch简介
概述PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。发展PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由T原创 2020-11-30 12:09:32 · 2646 阅读 · 0 评论 -
交叉熵损失函数
转自简单的交叉熵损失函数,你真的懂了吗?说起交叉熵损失函数「Cross Entropy Loss」,脑海中立马浮现出它的公式:交叉熵函数我们已经对这个交叉熵函数非常熟悉,大多数情况下都是直接拿来使用就好。但是它是怎么来的?为什么它能表征真实样本标签和预测概率之间的差值?上面的交叉熵函数是否有其它变种?也许很多朋友还不是很清楚!没关系,接下来我将尽可能以最通俗的语言回答上面这几个问题。1. 交叉熵损失函数的数学原理我们知道,在二分类问题模型:例如逻辑回归「Logistic Regressi转载 2020-11-23 17:48:01 · 2279 阅读 · 0 评论 -
李宏毅机器学习——反向传播算法总结
背景 梯度下降链式法则连锁影响(可以看出x会影响y,y会影响z)BP主要用到了chain rule反向传播(1)损失函数(Loss function)是定义在单个训练样本上的,也就是就算一个样本的误差,比如我们想要分类,就是预测的类别和实际类别的区别,是一个样本的,用L表示。(2)代价函数(Cost function)是定义在整个训练集上面的,也就是所有样本的误差的总和的平均,也就是损失函数的总和的平均,有没有这个平均其实不会影响最后的参数的求解结果。(3)总体损失函数(Total lo原创 2020-11-22 22:15:34 · 362 阅读 · 0 评论 -
李宏毅机器学习——深度学习简介总结
深度学习的发展趋势回顾一下deep learning的历史:1958: Perceptron (linear model)1969: Perceptron has limitation1980s: Multi-layer perceptronDo not have significant difference from DNN today1986: BackpropagationUsually more than 3 hidden layers is not helpful1989: 1 h原创 2020-11-22 21:42:19 · 168 阅读 · 0 评论 -
李宏毅机器学习——Why Deep总结
问题1:越深越好?learning从一层到七层,error rate在不断的下降。能看出network越深,参数越多,performance较也越好。问题2:矮胖结构 v.s. 高瘦结构比较shallow model较好还是deep model较好,在比较的时候一个前提就是调整shallow和Deep让他们的参数是一样多,这样就会得到一个矮胖的模型和高瘦的模型。这个实验的后半段的实验结果是:我们用5层hidden layer,每层2000个neural,得到的error rate是17.2%(原创 2020-11-22 12:10:54 · 389 阅读 · 0 评论 -
机器学习——Recipe of deep learning总结
当你的模型表现不好,应该怎么处理?如上图建立deep learning的三个步骤• define a set function• goodness of function• pick the best function做完这些事情后,你会得到一个neural network。在得到neural network后。神经网络的表现(1)首先你要检查的是,这个neural network在你的training set有没有得到好的结果(是否陷入局部最优),没有的话,回头看,是哪个步骤出了什么问题,.原创 2020-11-21 12:45:50 · 665 阅读 · 0 评论 -
机器学习之sigmoid函数
先说一下,ML小白。 这是第一次写个人博客类似东西, 主要来说说看 sigmoid 函数,sigmoid函数是机器学习中的一个比较常用的函数,与之类似的还有softplus和softmax等函数,这里也就不说,先来看看sigmoid函数的表达式的和图像 sigmoid函数表达式如下转载 2020-11-21 11:43:17 · 3116 阅读 · 0 评论 -
Python实现多元线性回归
Python实现多元线性回归 线性回归介绍 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。其表达形式为y = w'x+e,e为误差服从均值为0的正态分布。回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自...转载 2020-11-19 17:30:33 · 7616 阅读 · 2 评论 -
机器学习之决策树预测——泰坦尼克号乘客数据实例
机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。 数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。从数据产生决策树的机器学习技术叫做决策树学习,通俗说就是决策树。一个决策树包含三种类型的节点:决策节点:通常用矩形框来表示机会节点:通常用圆转载 2020-11-19 17:27:47 · 801 阅读 · 0 评论 -
scikit-learn决策树算法中特征重要性的计算
sklearn.tree.DicisionTreeClassifier类中的feature_importances_属性返回的是特征的重要性,feature_importances_越高代表特征越重要,scikit-learn官方文档1中的解释如下: The importance of a feature is computed as the (normalized) total reduction of the c...转载 2020-11-19 17:18:45 · 1683 阅读 · 0 评论 -
scikit-learn 决策树算法中特征(自变量)重要性的计算
sklearn.tree.DicisionTreeClassifier类中的feature_importances_属性返回的是特征的重要性,feature_importances_越高代表特征越重要,scikit-learn官方文档1中的解释如下: The importance of a feature is computed as the (normalized) total reduction of ...转载 2020-11-19 17:03:55 · 1590 阅读 · 0 评论 -
李宏毅ML——Backpropagation(bp)总结
@[toc]文章说明反向传播(Backpropagation)算法是怎么让神经网络(neural network)变的有效率的。背景梯度下降(Gradient Descent)在这里插入图片描述反向传播(Backpropagation)并不是和梯度下降(Gradient descent)不同的一个方法。他只是一个比较有效率的演算法,让你在计算梯度向量的时候比较有效率把结果计算出来。链式法则(Chain Rule)关键就是求导的链式法则(Chain Rule),下图就是链式法则求导转载 2020-11-13 22:49:39 · 164 阅读 · 0 评论 -
链式法则总结
链式法则(chain rule)微积分中求导法则,用于求复合函数的导数; 链式法则应用广泛,比如神经网络中的反向传播算法就是已链式法则为基础演变的;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式法则; 链式法则:两个函数组合起来的复合函数,导数等于里面函数代入外函数值的导乘以里面函数之导数; 链式法则有两种形式: 应用链式法则求复合函数导数最基础的还是函数的分解; ...原创 2020-11-12 23:05:21 · 46229 阅读 · 0 评论 -
【李宏毅机器学习笔记】Logistic Regression 逻辑回归
背景博客参考:https://blog.csdn.net/Allenlzcoder/article/details/78994291 上篇博客学习了概率生成式模型,本篇将介绍另一个模型,即判别式模型,也由此,“逻辑回归”,闪亮登场!作为神经网络的基本单元,本篇也十分重要~! 思考:为什么不用square error做线性回归? 因为linear regression在建模后其输出值是任意值(可能大于1...转载 2020-11-12 18:24:01 · 162 阅读 · 0 评论 -
李宏毅机器学习笔记:Brief Introduction of Deep Learning + Backpropagation(后向传播算法)
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube、网易云课堂、B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对这些知识内容的理解与补充。(本笔记配合李宏毅老师的视频一起使用效果更佳!) Lecture 6: Brief Introduction of Deep Learning 本节课主要围绕Deep Learing三步骤:(1)function set...转载 2020-11-12 18:13:42 · 198 阅读 · 0 评论 -
李宏毅 机器学习笔记 Brief Introduction of Deep Learning
横轴是时间,从2012年的第一个季度到2016年的第一个季度,纵轴是谷歌内部项目使用深度学习的数量的变化图。 回归深度学习的历史: 一个隐藏层可以代表任意的函数,为什么需要这么深的网络呢? RBM intialization并不是真正的突破,起到的效果很有限,所以现在文献中很少提了。 深度学习的步骤如下所示: 全连接层: 计算结果如下所示: 给定神经网络的结构,本质上相当于定义一个函数集合。 相邻层之...转载 2020-11-12 18:11:34 · 124 阅读 · 0 评论 -
李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning
台湾大学李宏毅老师的机器学习课程是一份非常好的ML/DL入门资料,李宏毅老师将课程录像上传到了YouTube,地址:NTUEE ML 2016 。 这篇文章是学习本课程第4-6课所做的笔记和自己的理解。 Lecture 4: Classification: Probabilistic Generative Model 以根据宝可梦各属性值预测其类型为例说明分类问题。 训练数据是若干宝可梦的各属性值及其类型。 1...转载 2020-11-11 22:54:55 · 182 阅读 · 0 评论 -
机器学习专业名词中英文对照
部分转自知乎 部分转自AI人工智能专业词汇集 部分转自百度文库 可参考链接:机器之心 other activation 激活值 activation function 激活函数 additive noise 加性噪声 autoencoder 自编码器 Autoencoders 自编码算法 average firing rate 平均激活率 average sum-of-squares error 均...转载 2020-11-08 16:21:46 · 1762 阅读 · 0 评论 -
梯度下降算法原理讲解——机器学习
博文目录 1. 概述2. 梯度下降算法2.1 场景假设2.2 梯度下降2.2.1 微分2.2.2 梯度 2.3 数学解释2.3.1 α2.3.2 梯度要乘以一个负号 3. 实例3.1 单变量函数的梯度下降3.2 多变量函数的梯度下降 ...转载 2020-11-04 16:17:56 · 483 阅读 · 0 评论 -
机器学习算法:梯度下降法——原理篇
梯度下降法(Gradient Descent,GD)是一种常用的求解无约束最优化问题的方法,在最优化、统计学以及机器学习等领域有着广泛的应用。本文将深入浅出的为读者介绍梯度下降法的原理。1.问题明确同大家一样,作者在刚听闻梯度下降法这个专业名词的时候也是心中一紧,发出夺命三连问:这是啥?这能干啥?这咋用啊?上面已经提到梯度下降法适用于求解无约束最优化问题,那么什么是无约束最优化问题呢?——不要怕,我们先来看几个你绝对能看懂的例子(当然前提你得有一些统计学和运筹学基础昂,小白先去补课!):形象的例.转载 2020-11-04 15:34:23 · 1621 阅读 · 0 评论 -
李宏毅 机器学习笔记 Classification
1. 绪论 Classification:Probabilistic Generative Model,本节课讲的是基于概率生成模型的分类。 分类任务本质上是找到一个函数,函数的输入是输入数据,输出是类别。应用范围比较广,例如信用卡评分、医学诊断、手写数字识别、人脸识别等等。 下图是对不同的宠物小精灵划分类别,如火系、冰系、草系等等。 下图是给定了一些宠物小精灵的特征,然后去预测它的类别。 下面我们以二...转载 2020-11-03 22:00:23 · 164 阅读 · 0 评论 -
李宏毅 机器学习笔记 Classification
1. 绪论 Classification:Probabilistic Generative Model,本节课讲的是基于概率生成模型的分类。 分类任务本质上是找到一个函数,函数的输入是输入数据,输出是类别。应用范围比较广,例如信用卡评分、医学诊断、手写数字识别、人脸识别等等。 下图是对不同的宠物小精灵划分类别,如火系、冰系、草系等等。 下图是给定了一些宠物小精灵的特征,然后去预测它的类别。 下面我们以二...转载 2020-10-23 09:08:06 · 182 阅读 · 0 评论 -
正则化方法:防止过拟合,提高泛化能力
正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集,对训练集外的数据却不work。 为了防止overfitting,可以用的方法有很多,下文就将以此展开。有一个概念需要先说明,在机器学习算...转载 2020-10-07 16:33:33 · 1011 阅读 · 0 评论