![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 78
XINFINFZ
24岁。毕业于武汉大学心理学本科。
展开
-
python基于机器学习的姓名预测性别网页app开发
使用tensorflow构建中文姓名-性别预测模型,并使用dash构建网页app。原创 2023-04-18 16:40:00 · 1739 阅读 · 1 评论 -
Pyts入门之时间序列的分类---SAX-VSM算法详解(三)
简介相信不少人会被这个标题唬住,什么叫SAX-VSM算法,其实并不难,容我细细道来。首先它来自2013年的"SAX-VSM: Interpretable Time Series Classification Using SAX and Vector Space Model"这篇论文,全称为Symbolic Aggregate approXimation in Vector Space Model(在向量空间模型中进行符号聚合近似),其实就是先进行符号聚合近似(SAX),再进行词向量的转换(VSM),细心原创 2022-03-02 15:56:59 · 1751 阅读 · 0 评论 -
Pyts入门之时间序列的分类---K近邻算法及调参小技巧(二)
简介书接上文(2021.11.05),在介绍了pyts的时间序列简单特征提取之后,我们来介绍一下对时间序列的分类算法,从KNN(k-nearest neighbors)算法开始,一篇文章介绍一个分类算法。因为工作上的一些烦心事情,最近一直都没写文章,可能关注我的小伙伴都忘了为啥关注我,实在抱歉,那么我们进入正题,首先需要先对KNN算法(分类)有个大概的了解:1.它不是K-means算法(K-means是无监督的聚类算法,新手经常会把它们搞混)。2.它是监督学习(supervised learning)原创 2022-02-28 13:48:24 · 1605 阅读 · 0 评论 -
修改onnx模型输出示例
前言如图是netron(github链接)软件中打开的onnx模型,可以看到右边模型的最终输出结果是分类值predict_0而非概率值,那么如何获取中间过程的概率值,或者说怎么把右边的图砍掉一截变成左边的图呢?代码读入模型import onnxonnx_model = onnx.load("xxx.onnx")graph = onnx_model.graph首先以图的形式读入你的模型,图一般包括node(节点),initializer(初始化),input(输入),output(输出)四部原创 2022-01-14 09:35:36 · 6026 阅读 · 3 评论 -
onnx模型输出之elem_type对应类型说明
修改onnx模型输出必备说明原创 2022-01-13 15:32:16 · 4137 阅读 · 2 评论 -
部署机器学习模型原理及实践(bentoml)
相信大家对自己训练好的模型如何进入生产都有疑惑,这篇文章以bentoml为例详细说明了如何正确部署一个机器学习的生产模型.原创 2022-01-10 16:15:49 · 2336 阅读 · 3 评论 -
玩转jpmml之tpot+sklearn2pmml自动化机器学习集成模型部署
前言应该是首发原创,网上没搜到。总体的逻辑是:数据导入----tpot自动化机器学习挑选最适合的模型和数据预处理思路----转换为sklearn代码----通过sklearn2pmml库转换为pmml模型----通过jpmml库调用pmml模型实现在java中部署。好像看起来很简单,但是实际处理中问题不少,且在外网上甚至搜不到相关答案,可以说完全自己摸索出来的路径,在这里给后来人借鉴宝贵经验。注:本章中的模型为stacking三层模型,因此和一般的机器学习模型转换存在相当大的差异。实验sklea原创 2021-12-30 11:00:04 · 911 阅读 · 0 评论 -
【sklearn】详解classification_report的分类报告计算
简介说来惭愧,好久不写博客,让我动笔的竟然是sklearn一个小小的api功能,以前评价模型用的都是总体的准确率,第一次用sklearn提供的分类报告功能竟然搞不懂是怎么计算的,怎么还分类别。就像下面这样:嗯,这都啥呀?老实说第一次看我只看懂了准确率即accuracy是怎么计算的。。。计算首先results是我们模型预测出的结果,y是真实标签,它们分别如下:yarray([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0原创 2021-12-21 16:27:59 · 15511 阅读 · 10 评论 -
使用win10+RTX4000从零搭建pytorch+CUDA+cudnn的经验之谈
前言最近有本地部署深度学习模型的需求,故采购了新电脑,以往都是在云端已经搭建好的环境下操作,还从来没有本地从零搭建,所以来总结一下昨天搭建时碰到的障碍和一些经验分享。注:本文不提供具体教程,因为写同类文章的太多了,需要可以点击这里。另,本文预装torch版本为1.9,明面上支持的cuda版本为10.2,但实际上最新的CUDA11.5也一样能用,所以啥都装最新的就完事了。别信啥特定版本匹配兼容什么的,问就装最新。拿到新电脑,我该做什么?我的第一步:找到英伟达控制面板和体验中心(安装最新显卡驱动)一般来原创 2021-11-30 11:53:40 · 5852 阅读 · 0 评论 -
pyts入门之时间序列的简单特征提取(一)
简介pyts简单的说就是打包了多种时间序列分类和处理算法的类scikit-learn库,国内介绍该库的文档相对较少,所以本人打算开一个新坑,在学习的同时结合自身的理解介绍pyts库的主要api和功能。那么在进入正题前先介绍一下pyts的基本概念,定义时间序列(x1,x2,x3…,xn),如果一个时间序列只有一个特征,那么xi属于实数集R,该时间序列为单变量时间序列,如果一个时间序列有多个特征,那么xi属于R^d,d指维度,xi为一个d维向量,该时间序列为多元时间序列(比如一串GPS就有纬度和经度两个坐标原创 2021-11-05 14:32:31 · 7511 阅读 · 4 评论 -
TfidfVectorizer计算复现和细节探究
简介tf-idf算法,我想很多人都知道它的由来和公式,更进一步,会在纸上用笔计算,但是在sklearn的实际实现中,却鲜有人去复现背后的计算细节和逻辑。本文将提出并解决以下细节问题:1.TfidfVectorizer和TfidfTransformer是什么关系?2.tf-idf中tf和idf在代码中分别是怎么实现计算的?3.idf中的文档是怎么定义的?4.为什么我用笔计算的和sklearn中计算出来的向量不一样?问题一直接上答案,TfidfVectorizer是由CountVectorizer原创 2021-10-28 09:05:03 · 1595 阅读 · 1 评论 -
sklearn中使用pca.components还原和转换矩阵
简介在经过sklearn.decomposition.PCA的transform()方法转换后,我们可以轻松得到原始数据转换后(降维)的矩阵,inverse_transform(X)方法可以让我们把转换后的矩阵变回为转换前的矩阵。但是我们无法知晓中间的过程,也就意味着我们无法轻松的移植到其他平台上。好在pca类提供了pca.componets_属性,可以帮助我们使用矩阵运算手写转换。代码示例from sklearn.decomposition import PCAdf_X = df.drop(col原创 2021-08-24 15:21:15 · 5430 阅读 · 0 评论 -
kubuntu虚拟机环境下安装R包prophet报错解决方案
初始报错环境Oracle VM VirtualBox 6.1.22Kunbuntu-21.04内存 2048MB存储空间20G报错和解决方法如果按我以上的环境去在R里直接install.packages(‘prophet’),会报三个依赖环境的错误,分别是libcurl,libdev和rstan。首先解决libcurl和libdev没安装的问题,先q()退出R环境装这两个开发工具:sudo apt-get install libcurl4-openssl-devsudo apt-get i原创 2021-08-17 15:31:43 · 257 阅读 · 0 评论 -
JPMML-evaluator简单示例代码和说明
概要书接上文,在简单的跑通鸢尾花示例代码之后要拿自己的模型下手了,在经历一番艰难调整之后总算跑通了第一个无监督学习模型。本例采用sklearn2pmml生成的pmml模型,模型由pmml.pipeline流水线构成,包含PCA方法和KMEANS方法,通过java的JPMML库进行调用,预测新的成员属于哪个群体。代码import org.dmg.pmml.FieldName;import org.jpmml.evaluator.*;import java.io.*;import java.util原创 2021-08-16 09:58:47 · 1098 阅读 · 8 评论 -
JPMML调用PMML机器学习模型零基础总结(内含新版本jpmml解决方法)
起因由于公司要上线机器学习的预测模型,而我用的是python语言,要在java上部署,所以需要我提供pmml文件,再通过jpmml库调用。但我不知道这种方式可不可行,同时交给别人调试也不方便,于是乎产生了自己搭建java-jpmml环境的想法。流程总体的流程大致是:python侧sklearn2pmml 直接生成 .pmml 模型文件下载JDK 16.0下载intellij idea社区版下载Maven(好像也可以不下载,毕竟intellij自带创建maven项目)在intellij中创建新原创 2021-08-13 15:54:15 · 3201 阅读 · 0 评论 -
optuna-dashboard自动超参数优化和可视化利器
介绍Optuna库是机器学习中提供自动化超参数优化的库,它和很多知名的机器学习库(如sklearn,keras,tensorflow,xgboost,lightgbm,pytorch等)是兼容的。dashboard是其中一个提供结果画图展示和可交互操作的功能,在当前的版本中已经被独立出来成为一个模块,下面将用一个简单的示例来展现它的效果。示例在使用之前,如果没有安装,可以使用以下命令进行安装。conda install -c conda-forge optuna或者pip install o原创 2021-05-17 13:31:14 · 4331 阅读 · 9 评论 -
pandas学习笔记之内存优化
函数在处理大型数据集的时候,经常碰见python把内存吃满的情况,影响性能,此时就可以对数据集在内存中的存储方式进行优化。所用函数如下:pandas.DataFrame.memory_usage(index=True, deep=False)返回该数据框所用的字节数(bytes)index参数控制索引占用字节是否出现在结果中。deep参数返回object对象在系统层面(不是很懂)的存储消耗。pandas.to_numeric(arg, errors=‘raise’, downcast=None)原创 2021-05-16 12:57:21 · 461 阅读 · 0 评论 -
Kaggle自然语言处理入门之推特灾难文本分类
前言第一次处理文本的时候还是做毕业论文时,那个时候什么也不懂,为了方便,用EXCEl进行了文本的预处理,然后用在线词云进行了画图和分词,导出的结果用ROST-CM做了情感分析和社会网络分析,最后用Gephi做了一个图,留下了不小的遗憾,好像非计算机专业的我就是入不了这个门。所以在Kaggle入门的路上看见NLP相关的东西总是有点忐忑,但是好奇心还是驱使我点开了这个数据集,这也成了我Kaggle入门以来花的时间最多的一个项目。数据集描述该任务全名为Natural Language Processing原创 2021-03-15 17:44:22 · 3556 阅读 · 3 评论 -
Kaggle入门第二天之tensorflow解决MNIST手写数字识别问题
目录前言数据集描述方法结论前言先不说别的,把今天参加digit-recognizer练习比赛的五次成绩放在这里留个纪念。第一次用tensorflow,很多基础概念也不是很了解,纯粹靠keras的API接口做出了神经网络并进行了一系列调整,还是学到了不少,写在这里并且分享给和我一样的真萌新一些经验吧。数据集描述作为计算机视觉机器学习领域的"Hello world",MNIST手写数字识别数据集想必大家都听说过。每个手写数字图片具有28像素的宽度和28像素的高度,总共有784个像素,每个像素都由一个在原创 2021-03-05 11:27:43 · 475 阅读 · 1 评论 -
(新手向)在matlab中运用SMOTE和前馈神经网络对wilt(枯萎)数据集进行机器学习
目录一.概述二.数据集描述三.方法数据预处理SMOTE算法Feed-forward网络四.结果一.概述近日,有位同学因为搞不懂matlab中的神经网络来问我怎么做,我说你把数据集发来给我看看,我稍微一看好像没啥毛病,他跟我说是UCI上面找的一个wilt数据集,而且已经划分好了训练集和测试集,我粗粗一看没啥毛病就把它直接放进了matlab的神经网络工具箱中进行训练,没想到训练出来的网络在测试集上...原创 2019-04-18 11:34:13 · 3656 阅读 · 31 评论