科研绘图神器推荐:轻松画出专业神经网络结构图
前言科研绘图是所有研究入门的第一课之一,好的绘图会让你的论文更吸引眼球,尽管绘图方面生物信息方向的的绘图很酷炫,快成了美术专业大比拼了。我常常调侃道:作为“研究型人才”,活生生让论文给变成了一个艺术家(😂)。
本文将会缩短你的试错时间,快速让你有目标的去学习和选择科研绘图软件。这将会是科研入门的众多文章中的一个方面,内容很多,本文主要涉及软件推荐。
必要基础首先需要明确一个点,我们最终的目的是科研绘图,也就是说满足科研要求。所以绘图之前需要先了解如下内容:
格式要求科研绘图最终输出的格式可以包括:PNG,JPG,Tif等格式,具体格式要求根据期刊的不同而不同,为了保险起见,请以Tif 格式为唯一输出格式标准。
注:Tif 和 Tiff 指的是同一个格式,之所以你能看见两种文件后缀,是因为早期 MS-DOS(Windows 系统的爷爷)使用的是文件命名规则是:[8.3 filename],所以也就遗传下来了,不过随着近代的发展,已经不限制文件后缀的长度了,所以你会看到两种文件后缀,不过他们本质还是一种文件。
其他标准在了解基础的输出格式后,我们还需要确定一个标准:PPI。当然你 ...
地球化学数据的封闭效应
前言当我们在做机器学习利用地球化学数据分析的时候,例如:分类任务,地球化学异常分析等。涉及地球化学不得不考虑的一个问题是,地球化学的封闭效应所带来的偏差。
封闭效应什么是封闭效应封闭效应 (Closure Effect) ,也称为常数和效应 (Constant Sum Effect) ,是地球化学数据分析中一个需要特别注意的统计现象。 它的产生是由于我们通常使用成分数据 (Compositional Data) 来表示样品的化学组成,例如:
百分比 (%)
百万分率 (ppm)
由于这些数据表示的是各组分占总体的比例 ,它们的总和必然是一个常数 (例如 100% 或 1,000,000 ppm)。这意味着每个元素的含量不是独立的,而是与其他元素的含量相互制约。改变其中一个元素的含量必然会影响其他元素的相对比例。
地球化学数据的封闭效应在数学角度来说,这些数据是存在于一个叫单纯形的空间。
闭合效应可能导致元素之间表现出“伪相关关系”,即表面上看起来元素之间有相关性,但实际上这种相关性是由“定和”约束造成的,而非真正的相互依赖。
由于传统统计方法是基于欧式空间,使得在处理这种成分数 ...
提升成矿预测模型的关键:深度学习数据增强技术指南
前言这部分内容可能和之前有些跨越,我会在后面慢慢补全一些深度学习成矿预测的其他内容。这篇文章的内容涉及在成矿预测,或者成矿远景区预测,成矿远景图预测,或者地球化学异常识别都是一样类似的道理。我们在做成矿预测图(Mineral Prospectivity Mapping, MPM)的时候会不得不面临数据少的问题,对于第一次接触这个的研究人员而言更是头疼。这部分内容将会尽我个人所能去说明这个事情。
本文将围绕如下几点讲述:
什么是数据增强?
**为什么要进行数据增强? **
现在主流的数据增强方法有哪些?
需要注意的是,这部分内容是基于”图像“级别的成矿预测数据,而不是”像素“级别的成矿预测。关于更多的”图像“和”像素“级别的内容可以关注我的个人公众号:码上地球。我会在后续讲述这部分内容。
什么是数据增强数据增强,有的人叫他数据扩增或者数据扩充,他们表达的都是一个意思。指的是一种通过人工生成或变换现有数据来扩大训练数据集规模和质量的技术。
为什么要进行数据增强数据增强终归是因为正/负样本数量不足,导致模型训练效果不佳或者无法训练。更多的问题集中于如下几点:
对于 ...
深度学习入门概要
前言论文进行到了深度学习的相关部分,尤其是当下火热的 CV(计算机视觉)的部分,写到如此我的论文部分也就是开始的地方了,这部分并不会涉及 Pytorch 框架的安装以及基础的 Python 问题,关于这个问题可以参考 【sklearn】机器学习环境搭建,Python 的部分可以参考 Python 。
深度学习框架深度学习框架可以理解为一种工具,就像是现实中的锤子一样,它可以帮助我们更快速方便的捶打一些东西,当然你也可以选择使用别的什么东西来捶打,而这个使用的工具就是不同的深度学习框架,你甚至可以不使用深度学习的框架,完全自己弄的话也是可以的,只不过这个效率上来说会慢很多。
深度学习框架帮助我们封装了很多方法,屏蔽了很多我们不需要关注的细节,例如,求偏导,反向传播等。也许你看到这里并不是很明白这些词是什么意思,并不要紧,慢慢来做下去就会明白了。
全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
斜体内容来源:百度百科
在现在来说,主流的只有两大框架:Tensorflow 和 PyTorch ...
蒙特卡洛方法
前言这是一些碎片化知识的集合,我将它们归类为碎片化知识。它们琐碎,且应用层面相对较大,还会涉及到一些其他的知识。
这部分内容将会涉及:概率统计,贝叶斯网络相关内容。
蒙特卡罗法蒙特卡洛方法一般指蒙特卡罗法,蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象的数值模拟方法。是按抽样调查法求取统计值来推定未知特性量的计算方法。蒙特卡罗是摩纳哥的著名赌城,该法为表明其随机抽样的本质而命名。故适用于对离散系统进行计算仿真试验。在计算仿真中,通过构造一个和系统性能相近似的概率模型,并在数字计算机上进行随机试验,可以模拟系统的随机特性。*
内容来源:百度百科
简单来说,蒙特卡洛方法是一种基于随机抽样来解决各种计算问题的算法框架。现在我们来举一个例子来说明它:
使用蒙特卡洛方法计算 π背景圆周率 π 是圆的周长与直径的比率,是一个无理数,大约等于 3.14159。尽管有很多方式可以计算 π,但使用蒙特卡洛方法来估算 π 是一个非常有趣且直观的方式。
步骤
准备一个正方形和一个内切圆:假设有一个边长为 2 的正方形(因此半径为 1 )。在这个正方形内部有一个内切圆。
随机投点:在这个 ...
【sklearn】常见监督分类算法实战
前言终于到了激动人心的地方了,这部分将会说明如何使用sklearn库相关函数来调用并实现相关机器学习模型的训练和预测。对于不懂代码的小伙伴来说,在一般情况下也可以复制并在相关数据集上套用,并对相关参数我会进行说明。
如你所见,这篇标题中指的是:监督学习分类的sklearn机器学习。在参考和使用本篇代码请确保你已经下载安装并配置好 Python 相关环境(如果没有,请参考【sklearn】机器学习环境搭建)和如下举例的包。
关于本篇的说明:
使用的 Python 版本为 3.10.9(理论上你只要是 v3.0 以上就可以)
在相关机器学习的文章中使用但是不限于如下的基本 Python 包,如果有使用其他包,将会在文章内容中做详细说明:
scikit-learn
pandas
NumPy
matplotlib
另外请注意,本篇不会详细说明每个算法的原理,这并不是本文的初衷,所以如果你对算法的原理不了解或者感兴趣可以先了解算法的原理,再参考本文的代码实现
常见集成学习算法
常见分类算法
API
类别
适用类型
K近邻算法(KNN)
sklearn.neighbors
机 ...
【sklearn】机器学习环境搭建
前言在写常见分类算法实战一文的时候,考虑到部分伙伴可能是第一次接触机器学习,所以我不得不先说明如何先给自己的电脑搭建好机器学习相关的基础环境,这样才可以在我们的电脑上跑代码。
所以这篇文章将会是纯新手向,希望可以对相关小伙伴有帮助。
Python 安装你可以选择在搜索引擎中搜索Python或者点击我访问官网,进入官网后,界面如下所示:
选择 【Downloads】,然后选择 【All releases】,会打开新的页面。
在新的页面下面会有相关版本的 Python,你可以选择指定版本的 Python 来下载安装(如果你有版本需求的话),如果你是个新手,不知道选择哪个版本,就无脑最新版即可。
找到指定版本的 Python 后,选择 【Download】 后会弹出新的窗口,然后下滑找到最底下,选择适合你操作系统的安装包即可,如下所示:
例如:如果你是 Windows 系统的电脑,只需要查看如上图中的红框部分的内容即可。关于上述安装包的区别如下所示:
embeddable package:指的这个安装包是一个压缩包,是便携版的,下载完成解压即可使用
Installer:指的 ...
Python那些糖语法
前言如果你有掌握过其他计算机语言的话,则你学习 Python 的时候一开始将会非常容易,基本的声明,定义,基本数据类型,相关逻辑,循环,方法等,这些可以很快的掌握并适应,当然 Python 还有很多糖语法,这部分就是记录一些 Python 的小地方和一些糖语法来方便查询和学习。
前排提醒:本示例使用的 Python 版本为3.10.9
装饰器装饰器是一种很有意思的糖语法,它可以在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能。我们来使用一个示例来理解这个装饰器的实际应用:
现在我们有一个计算两个值和的函数sum_ab,后来,我们需要改动代码,需要给这个函数增加一个打印输出提醒的功能,代码如下所示:
123456789# 计算两个数的和def sum_ab(a,b): print(f'和为:{a+b}')# 我们现在需要增加的功能# 打印输出函数def print_toast(): print('执行成功')
在常规状态下,我们可以选择将新增的功能直接编写添加到我们的sum_ab函数中,如下 ...
【sklearn】孤立森林
前言我在对地质学某些类型岩石的微量元素数据进行数据收集处理的时候,对异常数据进行筛选使用到了孤立森林,一开始没打算就此写这篇博客,不过就目前来说,我认为写这个博客有利于我后面的参考和记忆,遂以此记录,并且将会尽量将 sklearn 应用方面写更多的博客。
关于本篇的说明:
使用的 Python 版本为 3.10.9(理论上你只要是 v3.0 以上就可以)
在相关机器学习的文章中使用但是不限于如下的基本 Python 包,如果有使用其他包,将会在文章内容中做详细说明:
scikit-learn
pandas
NumPy
matplotlib
关于这个机器学习相关博客分类问题,我大概率后续会进行其他方式分类,目前都扔到机器学习分类中有些笼统。
孤立森林是什么?隔离森林又名孤立森林,是一种从异常点出发,通过指定规则进行划分,根据划分次数进行判断的异常检测方法。 由周志华老师教授等人于2008年在第八届IEEE数据挖掘国际会议上提出。
内容来源:百度百科
孤立森林在有的地方会被翻译成孤点森林,不过孤立森林用的会比较多,简单来说孤立森林是用来对数据做异常检测的,它可以在大数据量的 ...
【7.1】非均衡分类问题
前言非均衡问题(Imbalanced Problem)是指在一个数据集中,不同类别之间的样本数量差异较大的情况。例如,一个二分类问题中,其中一类的样本数比另一类多很多,通常会被认为是一个非均衡问题。这部分是讨论机器学习算法在应用方面的评价问题。
在前面,我们构建了一个用于检测患疝病的马匹是否存活的系统。在那里,我们构建了分类器,但是并没有对分类后的情形加以讨论。假如某人给我们牵来一匹马,他希望我们能预测这匹马能否生存。我们说马会死,那么他们就可能会对马实施安乐死,而不是通过给马喂药来延缓其不可避免的死亡过程。我们的预测也许是错误的,马本来是可以继续活着的。毕竟,我们的分类器只有80%的精确率(accuracy)。如果我们预测错误,那么我们将会错杀了一个如此昂贵的动物,更不要说人对马还存在情感上的依恋。
本文内容学习来源感谢:
《Machine Learning in Action》
《智能之门》
哔哩哔哩,维基百科等网络
前排说明
本文所有代码基于 Python 3.10 版本,理论上你的版本为 3.X 皆可运行。
在代码的注释中看到符号:❓,则表示注释的代码部分函数解释说明可 ...