数据科学学习
文章平均质量分 85
explore翔
安徽某985小硕,记录日常学习生活,欢迎大家交流指教。
展开
-
决策树和随机森林
随机森 林是一种集成方法,通过集成多个比较简单的评估器形成累积效果。这 种集成方法的学习效果经常出人意料,往往能超过各个组成部分的总和;也就是说,若干评估器的多数投票(majority vote)的最终效果往 往优于单个评估器投票的效果!1.决策树决策树采用非常直观的方式对事物进行分类或打标签:决策树的难点在于如何设计每一步的问题。在实现决策树的机器学习算法中,问题通常因分类边界是与特征轴平行的形式分割数据而造成的;也就是说,决策树的每个节点都根据一个特征的阈值将数据分成两组。下面通过示例来演示。原创 2021-03-15 17:00:00 · 550 阅读 · 0 评论 -
支持向量机(SVM)
关于SVM求解最佳解我们有一系列的矩阵运算,还有拉格朗日算子,比较复杂,下面只说如何使用,不深究算数推导。我们看下面这个图:虽然这三个不同的分割器都能完美地判别这些样本,但是选择不同的分 割线,可能会让新的数据点(例如图 5-54 中的“X”点)分配到不同的标签。显然,“画一条分割不同类型的直线”还不够,我们需要进一步思考。支持向量机提供了改进这个问题的方法,它直观的解释是:不再画一条 细线来区分类型,而是画一条到最近点边界、有宽度的线条。具体形式 如下面的示例所示:来看看这个数据的真实拟合结果原创 2021-03-08 20:30:31 · 144 阅读 · 0 评论 -
线性回归(基函数回归和正则化)
如果说朴素贝叶斯是解决分类任务的好起点,那 么线性回归模型就是解决回归任务的好起点。这些模型之所以大受欢迎,是因为它们的拟合速度非常快,而且很容易解释。你可能对线性回归模型最简单的形式(即对数据拟合一条直线)已经很熟悉了,不过经过扩展,这些模型可以对更复杂的数据行为进行建模。1、简单的直线拟合首先来介绍最广为人知的线性回归模型——将数据拟合成一条直线。直 线拟合的模型方程为 y = ax + b,其中 a 是直线斜率,b 是直线截距。 看看下面的数据,它们是从斜率为 2、截距为 -5 的直线中抽取的散点原创 2021-03-07 20:51:22 · 1118 阅读 · 0 评论 -
朴素贝叶斯分类
朴素贝叶斯模型是一组非常简单快速的分类算法,通常适用于维度非常高的数据集。因为运行速度快,而且可调参数少,因此非常适合为分类问题提供快速粗糙的基本方案。1、基本原理朴素贝叶斯分类器建立在贝叶斯分类方法的基础上,其数学基础是贝叶斯定理(Bayes’s theorem)——一个描述统计量条件概率关系的公式。 在贝叶斯分类中,我们希望确定一个具有某些特征的样本属于某类标签L的概率,通常记为 P (L |特征 )。贝叶斯定理告诉我们,可以直接用下面 的公式计算这个概率(我们举个例子吧,比如我们标签L为国籍,特原创 2021-03-06 20:37:52 · 3321 阅读 · 0 评论 -
机器学习-----特征工程
很兴奋我们终于来到了机器学习的正题,这是一个庞大的方向,我们学习的只是一些基本方法,真正熟练运用需要很多其他学科比如数理统计线性代数的知识融会贯通。开始学习吧。一些机器学习的基本概念相信大家或多或少都了解,这里就不再赘述了。我们来看看特征工程。1、为什么需要特征工程?在现实工作中,数据很少会这么干净。因此,机器学习实践中更重要的步骤之一是特征工程(feature engineering)——找到与问题有关的任何信息,把它们转换成特征矩阵的数值。个人理解就是先要通过一些方法找出有效的信息,然后向量化方便原创 2021-03-05 20:14:16 · 215 阅读 · 0 评论 -
matplotlib数据可视化简明教程----下(以及random的一些函数应用)
我们先来说一下当我们需要大量特定的随机数据时,如何用random模块实现呢?1、numpy.random.seed()与numpy.random.RandomState(),这两个功能都是使每次随机生成数一样;2、numpy.random.rand()官方文档中给出的用法是:numpy.random.rand(d0,d1,…dn)以给定的形状创建一个数组,并在数组中加入在[0,1]之间均匀分布的随机样本。例如:a=np.random.rand(3,3),就是创建一个3行3列的二维数组,里面的数字是原创 2021-03-04 20:24:36 · 358 阅读 · 1 评论 -
matplotlib数据可视化简明教程-----上篇
matplotlib作为数据可视化的强大工具,使我们必不可少需要掌握的知识点。1、一些必要技巧1.1 导入:import matplotlib as mplimport matplotlib.pyplot as pltplt 是最常用的接口,在本章后面的内容中会经常用到。1.2设置绘图风格plt.style.use(‘classic’)1.3 显示图形plt.show()2、画简易线形图在所有图形中,最简单的应该就是线性方程 y = f (x) 的可视化了。 import matpl原创 2021-03-02 21:02:04 · 191 阅读 · 0 评论 -
pandas简明教程
之前我们学了Numpy,他可以提供各种高效的操作,但是面对一些灵活的任务,numpy仍然有限制。所以在其基础上我们又发展了pandas。尤其是他的dataframe,series为数据清理提供了高效的方法。1、pandas对象简介pandas对象其实可以看成增强版的numpy,因为它不再只有整数索引,可以自定义行列索引,称为标签,这看起来和我们日常用的Excel表格很相似。我们需要知道pandas最基本的三个数据结构:Dataframe,Series,Index看一个例子:data=pd.Serie原创 2021-03-01 19:37:23 · 611 阅读 · 1 评论 -
最高效简明的numpy教程
1、为什么要有numpy在各种数据科学任务中,声音、文本、图像等数据都需要转换为数值型数据特别是数组形式进行处理。因此,如何有效存储操作数值型数组是绝对的基础过程。numpy和python内置的列表类型十分相似,但是随着数组维度上变大,numpy内部提供了更加高效的存储和数据操作,numpy几乎是数据科学生态的核心。2、理解python的数据类型python的一大优点是易用性,静态类型的语言如C每个变量都需要声明,动态的python可以跳过这个规定。这也说明了python变量不仅代表了值,还有一些额原创 2021-02-28 21:23:25 · 122 阅读 · 3 评论