![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
XH生信ML笔记
无计算机背景的生信入坑者一枚,生物狗一只,读博时初涉linux,以后陆续入坑python,r,Machine Learning,Deep Learning。主页主要是备份代码,如果能帮助到其他朋友就更好。
展开
-
如何使用git上传自己的代码到github
在做项目和发表论文时,最后一步是把代码上传到github供社区参考。使用git工具可以方便的把整个文件夹的代码上传到自己github代码仓库中。你首先需要安装git,默认安装即可,上传代码可分为3步:1. 初始化自己文件夹为代码仓库进入自己要上传的文件夹,用点击右键,“git bash here”,打开git 命令行终端。或者再git终端中使用cd github_code进入文件夹。# ...原创 2020-05-07 17:11:17 · 284 阅读 · 0 评论 -
如何保存fit后的标准化工具函数StandardScaler
我们在训练模型时,常常需要标准化数据,常用的是sklearn.preprocessing模块中的 StandardScaler。而在我们测试数据时,也需要在同样的尺度下进行预测。但我们并不想重新导入原来训练的数据来fit 然后预测,这个时候我们可以保存scaler 然后导入直接标化自己需要预测的数据fit 自己的标化器# 导入模块import numpy as npimport panda...原创 2020-05-07 15:34:36 · 6086 阅读 · 3 评论 -
如何利用sklearn中roc_curve 三行代码画ROC曲线
ROC曲线是评估模型效果的重要工具,其X轴为假阳性率,Y轴为真阳性率(也叫召回率recall),其意义在于,在真阳性率时,模型同时判错阳性的样本比例,因此曲线越陡,越表示模型效果好。ROC曲线下AUC面积越大表示模型效果越好,我们可以利用sklearn 中的roc_curve函数方便的画ROC曲线。#导入要用到的库# load the packageimport numpy as npim...原创 2020-04-10 15:56:49 · 4002 阅读 · 3 评论 -
如何导入训练好的tensorflow model 并用其来预测自己的数据?
在使用tensorflow时,经常需要用别人训练好的模型来预测我们自己我们自己的数据。一般分为轻量级的保存参数和保存整个模型。使用保存weights 可以参考本人另外一篇博客。这儿主要介绍导入别人训练好的以h5格式保存的model并用其预测自己的数据:1. 导入库import tensorflow as tffrom tensorflow.keras import datasets, l...原创 2020-03-29 22:03:22 · 3789 阅读 · 0 评论 -
如何设置在交叉验证中同时设置训练集,验证集,测试集三个数据集并实现循环
传统的交叉验证在做机器学习时,交叉验证时验证模型稳定性的重要手段。大部分交叉验证仅分为训练集和测试集,每次循环一次,直至覆盖所有数据。这个可以采用sklern中cross_validiation_score 直接运行,如:该方法的缺点之一是只能拆分成训练集和测试集,当需要验证集来调参数时,无验证集可用。先划分测试集,但不循环实现训练集,测试集,和验证集的一个方法时在训练数据前分割数据,取...原创 2020-03-07 06:28:50 · 2004 阅读 · 0 评论 -
如何通过numpy子集来筛选矩阵或者数组
使用pandsa数据框时经常需要通过某一列来筛选数据,有时需要用for循环来筛选目标列,但for循环太慢,可以通过numpy子集函数先筛选索引,然后通过布尔索引来筛选,可以极大提高筛选的速度,可以1秒筛选几百万的矩阵。第二步,对于每个样本,提取3条序列作为测试集合使用比如要解决如下问题:本人有个涉及质粒的矩阵,如下:>>> pdf6.head() 0 1 2 3 4 5...原创 2020-03-01 08:07:30 · 804 阅读 · 0 评论 -
使用countvectorizer 和tf-idf来编码文字/DNA序列
在做文字识别和自然语言处理时,countvectorizer 和tf-idf是常见的两种常见的对文字进行编码的方式。DNA在打断成kmer后,也可以按照文字编码的方式对kme进行编码。DNA如何编码可参考本人博客文章字符串(如DNA序列,蛋白质序列)的编码和用于机器学习和神经网络.这篇文章展示如何将DNA序列打断成kmer然后用countvectorizer 和tf-idf来编码,当然也可以直接...原创 2020-01-29 02:41:14 · 1057 阅读 · 0 评论 -
字符串(如DNA序列,蛋白质序列)的编码和用于机器学习和神经网络
在处理dna序列或这蛋白质序列时,常常需要把序列转化为数字,这样才能形成矩阵输入模型训练,一般而言,有三种方法用于序列编码:顺序编码,独热编码,kmer编码。1. 顺序编码第一种顺序编码即使把atcg四种碱基编码成具体数据,如把atct编码成[0.25, 0.5, 0.75, 1.0],其他的如n可以编码为0。首先处理序列,形成字符串str# function to convert a D...翻译 2020-01-07 02:55:48 · 8394 阅读 · 2 评论 -
最新版1.2.0scipy.misc中的toimage, imread、imresize、imsave出错的问题
在想把numpy 数据转为图像的时候需要用到imsave(),imresize, imsave 等问题但是在import scipy.misc 之后显示该库内没有imsave()错误如下:scipy.misc import toimageFile "D:/Agronne/Tensorflow/...../WGAN实战/gan_train.py", line 5, in <modul...原创 2019-12-25 03:05:31 · 336 阅读 · 0 评论 -
为什么卷积神经网络的layers层数不断升高?
通常卷积神经网络的层数是不断升高的,如经典的resnet和vgg网络。vgg的网络结构:conv_layers = [ # 5 units of conv + max pooling # unit 1 layers.Conv2D(64, kernel_size=[3, 3], padding="same", activation=tf.nn.relu), layers....原创 2019-12-21 09:05:52 · 1212 阅读 · 0 评论 -
numpy 数组生成稀疏矩阵并保存
如果矩阵中大部分的元素都为0,被称为稀疏矩阵。用NumPy的ndarray数组保存这样的矩阵,由于很多0将很浪费内存,由于矩阵的稀疏特性,可以通过只保存非零元素的相关信息,从而节约内存的使用。此外,针对这种特殊结构的矩阵编写运算函数,也可以提高矩阵的运算速度。1. 压缩矩阵from scipy import sparseallmatrix_sp=sparse.csr_matrix(allma...原创 2019-12-18 03:49:26 · 5282 阅读 · 0 评论 -
一次使用随机森林,罗辑回归,xgboost,及神经网络训练机器学习模型训练和测试分类数据
一次使用多个机器学习模型训练自己的数据使用sklearn 架构,使用随机森林,逻辑回归,支持向量机,xgboost训练模型,并计算测试数据的准确率和混淆矩阵随机森林逻辑回归xgboost支持向量机神经网络import numpy as npimport pandas as pdimport argparsefrom time import timefrom datetim...原创 2019-12-17 01:39:54 · 1229 阅读 · 0 评论 -
使用sklearn 神经网络训练模型
使用sklearn中神经网络模型对数据集进行训练和验证。数据见本人博客“随机森林模型预测和交叉验证“Neural Network trainning>>> from sklearn.model_selection import train_test_split>>> from sklearn.model_selection import cross_va...原创 2019-11-28 02:49:05 · 3474 阅读 · 2 评论 -
随机森林模型预测和交叉验证
使用随机森林模型来训练和交叉验证数据集。数据矩阵:allmatrix标签:targetrandomforest trainingpreliminary trainning>>> from sklearn.ensemble import RandomForestClassifier>>> from sklearn.model_selection i...原创 2019-11-28 02:37:30 · 8158 阅读 · 0 评论 -
二分类问题损失函数交叉熵的推导
首先看交叉熵的公式:重点在于二分类问题x取值只有两个:0 和1,因此只要把x=1和x=0的值代入公式即可:这一步我当时没搞清楚,很多讲推导的人就直接写下来,完全没搞明白∑符号怎么就没了,其实是把x=1和x=0带入公式就是每个样本的所有可能取值的和。由于p就是真实标签y,q是神经网络模型预测的概率值:进一步就可以得到:由于标签y=0或者y=1,因此上面加号两边只有一项留下来对所有样本...原创 2019-11-10 10:52:30 · 2131 阅读 · 0 评论 -
Tensorflow 2 Blas GEMM launch failed error
用的windows平台,同时开着jupyter notebook 和pychram,我的GPU比较小,G1050,只有2G。跑pycharm时,出现erro:tensorflow.python.framework.errors_impl.InternalError: Blas GEMM launch failed : a.shape=(128, 784), b.shape=(784, 512),...原创 2019-11-04 03:44:11 · 644 阅读 · 0 评论