<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[taon1607的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/taon1607</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; taon1607]]></copyright><item><title><![CDATA[图像数据的处理]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/108185361</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/108185361</guid><author>taon1607</author><pubDate>Sun, 23 Aug 2020 17:35:01 +0800</pubDate><description><![CDATA[Opencv是处理计算机视觉任务中最常用的工具包，它的底层是采用C++语言编写的，同时提供python接口。这样既实现了运算效率高的特性，也实现了应用简单的特性。
这一小结，主要总结Opencv处理图像数据的方法，包括图像的读取，变换和保存。
1.图像的读取
#导入opencv工具包，安装: pip install opencv-python
import cv2

#导入图片
img = cv2.imread('D:\image_dataset\cat.jpg')
#查看图片的大小
print(img.s]]></description><category></category></item><item><title><![CDATA[词向量构造 - Tf-idf模型]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/108171571</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/108171571</guid><author>taon1607</author><pubDate>Sat, 22 Aug 2020 17:29:29 +0800</pubDate><description><![CDATA[前面我们总结过词袋模型，词袋模型将文本中所有不重复的词看作一个集合，然后对文本中的每句话进行编码。在句子中对于出现的词标记为1，未出现的词标记为0。这样我们就完成了对文本向量的编码，然后就可以调用机器学习模型来对其进行拟合。词袋模型解决了文本编码的问题，但词袋模型本身也存在着巨大的缺点。比如：词袋模型中向量只考虑词的出现频率，不考虑该词的具体含义；词袋模型构造的向量不考虑词出现的先后顺序；词袋模型构造的向量为稀疏矩阵，模型的效果非常有限。基于以上问题，Tf-idf模型出现了。
1.Tf-idf（词频-逆文档]]></description><category></category></item><item><title><![CDATA[词向量构造 - 词袋模型]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107962891</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107962891</guid><author>taon1607</author><pubDate>Wed, 12 Aug 2020 17:39:35 +0800</pubDate><description><![CDATA[对于机器学习任务而言，不管是什么类型的数据（语言，声音，图像，视频），都必须转化为数值型数据，一般均为向量或者矩阵。自然语言处理，经过了一个长期的发展过程，近几年取得了重大的突破。自然语言处理的突破主要得益于深度学习技术（自然语言处理专用算法）的进步以及计算机算力的提升（GPU并行计算）。
这一小节，我们将介绍自然语言处理发展历史中的第一个模型 - 词袋模型。
1.词袋模型（Bag of words）的定义
词袋模型：顾名思义，就是把文章中的所有词语装入到一个袋子当中，装入袋子中的词语是没有重复的。
下面用]]></description><category></category></item><item><title><![CDATA[汉语词频统计]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107322108</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107322108</guid><author>taon1607</author><pubDate>Mon, 13 Jul 2020 17:58:40 +0800</pubDate><description><![CDATA[该案例以党的十九大报告为例，统计报告中各个词语出现的频率。总体步骤为读入文本，分词，词频统计。通过观察词语频率最高的几个词，我们就可以大致了解这份报告的主要内容。
汉语中常见的停用词：我们，这里，但是，的，然而之类的词语，对于文章表达的主旨没有太大的影响。
十九大报告链接：
链接：https://pan.baidu.com/s/1xI91MdfXZzQ1Ibms9EEiAg
提取码：ne3l
#打开文件并读取文本内容
f = open('D:\\py_dataset\\十九大报告.txt','r',enco]]></description><category></category></item><item><title><![CDATA[回归算法的评估指标]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087712</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087712</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:42:55 +0800</pubDate><description><![CDATA[回归问题是机器学习要解决的四大问题之一，在我们的生活中也存在着很多回归问题。比如某一地区的房价预测，某一个学生高考成绩的预测，某一地区感染病毒人数的预测，某一公司2020年营业收入的预测等等。从以上的例子中，我们可知回归问题的目标是预测一个数值或者一个区间数值。
回归算法：对历史数据进行拟合，形成拟合方程。接下来使用该方程对新数据进行预测。下图中红线表示的是一元数据的拟合方程，如果数据是二元数据，那么它的拟合方程就是一个拟合平面，对于更高维的数据，它的拟合方程将更加复杂。

回归算法的评估指标：
对于回归算]]></description><category></category></item><item><title><![CDATA[多分类算法的评估指标]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087680</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087680</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:42:15 +0800</pubDate><description><![CDATA[在以往的分类问题求解当中，我们遇到的问题多为二分类问题，我们常用的评估指标有accuracy, precision, recall_score, f1-score, roc_auc_score等。但是在实际生活中，多分类问题也是大量存在的。这一小节，我们就详细的说明一下多分类问题的评估指标。

我们先来看一下sklearn库中的二分类的评估指标，以recall_score为例。在recall_score方法中，有一个很重要的参数’average’，它的默认值为’binary’。当在默认参数的情况，该评估方法]]></description><category></category></item><item><title><![CDATA[SKlearn二分类评价指标]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087650</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087650</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:41:27 +0800</pubDate><description><![CDATA[SKlearn的Metrics模块下有有许多二分类算法的评价指标，这里我们主要讨论最常用的几种。

1.准确度（Accuracy）
from sklearn.metrics import accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

1.1参数说明
y_true：数据的真实label值
y_pred：数据的预测标签值
normalize：默认为True，返回正确预测的个数，若是为False，返回正确预测的比例
samp]]></description><category></category></item><item><title><![CDATA[温度预测示例&参数优化工具RandomizedSearchCV]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087624</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087624</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:40:24 +0800</pubDate><description><![CDATA[一般情况下，我们做数据挖掘任务都是按照“数据预处理 - 特征工程 - 构建模型（使用默认参数或经验参数） - 模型评估 - 参数优化 - 模型固定”这样一个流程来处理问题。这一小节，我们要讨论的主题就是参数优化，前面我们讨论过GridSearchCV（网格搜索）这个工具，它是对我们的参数进行组合，选取效果最好的那组参数。

这一节，我们探索下参数优化当中的另一个工具RandomizedSearchCV（随机搜索），这名字咋一听感觉有点不太靠谱，对，它是有点不太靠谱，但为什么我们还要用它呢？因为它的效率高，它]]></description><category></category></item><item><title><![CDATA[模型调参工具GridSearchCV]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087584</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087584</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:39:29 +0800</pubDate><description><![CDATA[今天我们来讨论机器学习中一个非常重要的函数GridSearchCV，它是我们用来求解最佳参数组合的常用函数。例如：我们的随机森林算法有很多参数，如n_estimators,max_depth,min_samples_split等等，我们希望对比不同参数组合下的模型效果，来选出该模型的最佳参数。GridSearchCV可以自动对我们给定的参数进行组合，并得出每个组合的模型效果，通过比较其效果来选出最佳参数组合。

GridSearchCV API文档

sklearn.model_selection.Grid]]></description><category></category></item><item><title><![CDATA[样本不均衡数据处理]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087541</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087541</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:38:27 +0800</pubDate><description><![CDATA[当我们在做机器学习任务时，会经常遇到这样的数据集，两种样本的数量相差特别悬殊。这就会导致一个问题，在建模的时候，模型会特别注重数量多的样本，而忽视数量少的样本，觉得数量少的样本不够重要。生活中也有许多这样的例子，如在一份患者数据集当中，绝大多数患者都是正常的，只有极少数患者会得癌症。在一份银行贷款数据集中，绝大数用户都能按时还款，只有极少数用户会欠款不还。如果我们我们的模型只关注正常样本，而忽视了这些极少数的异常样本，那么这样的模型是没有什么实际价值的。

银行贷款是一件犯错成本很高的事情，我们需要根据用户]]></description><category></category></item><item><title><![CDATA[数据预处理（系统整理）]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087465</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087465</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:36:52 +0800</pubDate><description><![CDATA[前两节，我们总结了数据预处理中的一个小部分 – 数据类型转换。这一节我们系统地总结下数据预处理相关知识点。纵然我们掌握了很多机器学习算法，十八般武艺，样样精通，可是在拿到一份数据集的时候，还是无法直接应用。因为我们的数据集真的是很“dirty”的，里面包含了大量的缺失值，异常值，离群值，非结构化数值等等。通常，在做机器学习或数据挖掘时，数据预处理会占用60%~70%的时间，所以这一部分也是整个机器学习任务中最具挑战性的部分。

###数据预处理的组成部分：
1.数据清洗
2.数据转换
3.数据描述
4.特征]]></description><category></category></item><item><title><![CDATA[连续型数据处理]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087408</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087408</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:35:15 +0800</pubDate><description><![CDATA[上一节，我们总结了离散型数据的处理方法，这一节我们整理下连续型数据的处理方法。一般来讲，离散型数据都是类别值，如：男生，女生，商务座，一等座，二等座等等。连续型数据基本上都是数值型数据，如年龄（10岁，11岁…），身高（110cm, 175cm…），海拔，薪资等等。
既然连续型数据都是数值，是可以直接拿来供计算机使用的，那么连续型数据该如何处理？这里我们提出一个处理思想：连续型数据离散化。连续型数据离散化以后的建模效果一定会比原来的好吗？这个答案是不一定的，任何时候我们都需要对两者结果进行比较，从而做出判断]]></description><category></category></item><item><title><![CDATA[数据预处理 - 类型转换（离散型）]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087357</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087357</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:33:57 +0800</pubDate><description><![CDATA[当我们拿到一个数据分析任务时，我们并不能直接调用数据挖掘算法来解决该问题。在实际的任务中，我们所面对的数据质量都不是特别的好，如果我们对质量较差的数据集直接应用算法建模，那么得到结果也可想而知。所以在调用算法之前，必须对数据进行预处理工作。数据预处理是整个数据挖掘过程中最累的一部分工作，但也是非常重要的一部分工作，只要得到质量较高的数据集，后期的建模工作才会更有意义。数据预处理涉及的方面非常的多，如缺失值处理，异常值处理，重复值处理，数据类型转换，样本处理等等。

这一小节，我们先来了解下数据类型转换中的离]]></description><category></category></item><item><title><![CDATA[数据预处理之归一化和标准化]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087319</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087319</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:32:41 +0800</pubDate><description><![CDATA[归一化
1、把数变为（0，1）之间的小数，主要是为了数据处理方便提出来的，把数据映射到0～1范围之内处理，更加便捷快速。
2、把有量纲表达式变为无量纲表达式
归一化是一种简化计算的方式，即将有量纲的表达式，经过变换，化为无量纲的表达式，成为纯量。
归一化算法有：
1.线性转换:
y=(x-minvalue)/(maxvalue-minvalue)

２.对数函数转换：
 y=log10(x)

３.反余切函数转换:
 y=atan(x)*2/pi

归一化编程实现：
import numpy as np
f]]></description><category></category></item><item><title><![CDATA[LDA线性判别分析]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/107087231</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/107087231</guid><author>taon1607</author><pubDate>Thu, 02 Jul 2020 16:30:41 +0800</pubDate><description><![CDATA[LDA（Linear Discriminant Analysis）线性判别分析是一种有监督数据降维算法，它与我们之前提到的PCA都是数据清洗过程中最常用的两种数据降维技术。但它们又有所不同，PCA的核心是将现有数据转换到低维度得空间中，数据的方差都变得最大。LDA的核心含义是对将现有数据进行转换，数据类别变得容易区分，其方差不一定是最大的。
LDA的作用：
1.将数据的维度降低，除去那些对结果影响不大的特征。如今我们的数据集中，数据的特征往往会达到成百上千维，可是这些维度都会对最终结果产生影响吗？其实不然，]]></description><category></category></item><item><title><![CDATA[LightGBM]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/106922360</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/106922360</guid><author>taon1607</author><pubDate>Tue, 23 Jun 2020 14:09:33 +0800</pubDate><description><![CDATA[LightGBM梯度提升框架是由微软亚洲研究院于2017年1月份提出的一个开源框架，LightGBM是一个快速的，分布式的，高性能的基于决策树的分布框架。在保证准确性不变的前提下，速度可提升10倍，内存降低为原来的1/3。
LightGBM的算法思想
LightGBM摒弃了现在大部分GBDT使用的按层生长（level-wise）的决策树生长策略，使用带有深度限制的按叶子生长（leaf-wise）的策略。level-wise过一次数据可以同时分裂同一层的叶子，容易进行多线程优化，也好控制模型复杂度，不容易过拟]]></description><category></category></item><item><title><![CDATA[超级算法之XGBoost]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/106922334</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/106922334</guid><author>taon1607</author><pubDate>Tue, 23 Jun 2020 14:08:36 +0800</pubDate><description><![CDATA[XGBoost(Extreme Gradient Boosting)：Boosting思想是将许多弱分类器集成在一起形成一个强分类器。XGBoost是集成算法的王牌算法，它可以使用多种分类器，线性分类器也可以使用，它是将众多的弱分类器集成在一起，从而形成一个强分类器。在Kaggle数据挖掘比赛中，XGBoost基本成为了必用的算法，因为它的效率高，而且效果好。

XGBoost算法思想
XGBoost的算法思想就是通过不断的添加树，不断地进行特征分裂来生长一棵树，每次添加一棵树，就是学习一个新的函数，去拟合]]></description><category></category></item><item><title><![CDATA[梯度提升算法（GBDT）]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/106922265</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/106922265</guid><author>taon1607</author><pubDate>Tue, 23 Jun 2020 14:07:46 +0800</pubDate><description><![CDATA[GBDT（Gradient Boosting Decision Tree）算法是集成算法中的一种，它的最基本分类器为CART二分类回归树，集成方式为梯度提升。

CART二分类回归树
CART回归树是GBDT算法的最基本分类器，CART回归树决定了每次分类时，叶子结点只能分出两个树枝，它与ID3，C4.5是不同的。
CART回归树经常涉及到一些问题。
选择哪个特征作为最优分裂特征？
怎么去切分一个特征？
确定分裂结束的条件？
模型的剪枝（后剪枝，预剪枝）？
Boosting
Boosting是一种模型的组合]]></description><category></category></item><item><title><![CDATA[英文词频统计]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/106921206</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/106921206</guid><author>taon1607</author><pubDate>Tue, 23 Jun 2020 13:07:38 +0800</pubDate><description><![CDATA[该案例以莎士比亚的四大悲剧之一《哈姆雷特》为例，来统计该文章中的词语出现的频率。总体的步骤为读入文本，大小写转换，特殊字符转换，分词，词频统计，排序。通过观察词语频率最高的几个词，我们大致可以了解该文章的主要内容。这一小节，我们没有涉及到英文文章中去停用词的操作。
停用词：出现的频率很高，但对文章表达主旨没有太大影响的词。在英文文章中，如：I, and, but, here, there, some之类的词语等。
文档链接：链接：https://pan.baidu.com/s/17ehiYKripA–noI]]></description><category></category></item><item><title><![CDATA[集成算法 - 随机森林]]></title><link>https://blog.youkuaiyun.com/taon1607/article/details/106897051</link><guid>https://blog.youkuaiyun.com/taon1607/article/details/106897051</guid><author>taon1607</author><pubDate>Mon, 22 Jun 2020 10:27:54 +0800</pubDate><description><![CDATA[这一节，我们来聊聊随机森林算法，虽然我对这些算法的理解也不是很深，但还是决定写一写。首先，集成算法是指多种算法的集合，因为单一的算法在处理某种问题时，可能会有所限制，集成算法会综合多种算法的结果，得到一个均值，效果往往会比单一算法好一些。
前面我们讨论过决策树，那随机森林就不难理解，它是由多个决策树组合而成的，可以是1棵树，10棵树，100棵树，甚至上千棵树。前面我们了解了决策树的构造过程，那么随机森林就是构造很多棵决策树，每棵决策树各不相同。那么如何保证构造出来的每棵决策树都不一样呢？这就要使用不同的数据]]></description><category></category></item></channel></rss>