精华内容
下载资源
问答
  • 数据结构:八大数据结构分类

    万次阅读 多人点赞 2018-09-05 18:23:28
    数据结构分类 数据结构是指相互之间存在着一种或多种关系的数据元素的集合该集合中数据元素之间的关系组成 。 常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示: 每一种数据结构都...

    本文目录:

    数据结构分类

    数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。
    常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:
    这里写图片描述
    每一种数据结构都有着独特的数据存储方式,下面为大家介绍它们的结构和优缺点。

    1、数组

    数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1。

    int[] data = new int[100];data[0]  = 1;
    

    优点:
    1、按照索引查询元素速度快
    2、按照索引遍历数组方便

    缺点:
    1、数组的大小固定后就无法扩容了
    2、数组只能存储一种类型的数据
    3、添加,删除的操作慢,因为要移动其他的元素。

    适用场景:
    频繁查询,对存储空间要求不大,很少增加和删除的情况。

    2、栈

    栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。
    这里写图片描述
    栈的结构就像一个集装箱,越先放进去的东西越晚才能拿出来,所以,栈常应用于实现递归功能方面的场景,例如斐波那契数列。

    3、队列

    队列与栈一样,也是一种线性表,不同的是,队列可以在一端添加元素,在另一端取出元素,也就是:先进先出。从一端放入元素的操作称为入队,取出元素为出队,示例图如下:
    这里写图片描述
    使用场景:因为队列先进先出的特点,在多线程阻塞队列管理中非常适用。

    4、链表

    链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。
    这里写图片描述
    链表的优点:
    链表是很常用的一种数据结构,不需要初始化容量,可以任意加减元素;
    添加或者删除元素时只需要改变前后两个元素结点的指针域指向地址即可,所以添加,删除很快;

    缺点:
    因为含有大量的指针域,占用空间较大;
    查找元素需要遍历链表来查找,非常耗时。

    适用场景:
    数据量较小,需要频繁增加,删除操作的场景

    5、树

    是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

    • 每个节点有零个或多个子节点;
    • 没有父节点的节点称为根节点;
    • 每一个非根节点有且只有一个父节点;
    • 除了根节点外,每个子节点可以分为多个不相交的子树;

    在日常的应用中,我们讨论和用的更多的是树的其中一种结构,就是二叉树
    这里写图片描述
    二叉树是树的特殊一种,具有如下特点:

    1、每个结点最多有两颗子树,结点的度最大为2。
    2、左子树和右子树是有顺序的,次序不能颠倒。
    3、即使某结点只有一个子树,也要区分左右子树。

    二叉树是一种比较有用的折中方案,它添加,删除元素都很快,并且在查找方面也有很多的算法优化,所以,二叉树既有链表的好处,也有数组的好处,是两者的优化方案,在处理大批量的动态数据方面非常有用。

    扩展:
    二叉树有很多扩展的数据结构,包括平衡二叉树、红黑树、B+树等,这些数据结构二叉树的基础上衍生了很多的功能,在实际应用中广泛用到,例如mysql的数据库索引结构用的就是B+树,还有HashMap的底层源码中用到了红黑树。这些二叉树的功能强大,但算法上比较复杂,想学习的话还是需要花时间去深入的。

    6、散列表

    散列表,也叫哈希表,是根据关键码和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。

    记录的存储位置=f(key)

    这里的对应关系 f 成为散列函数,又称为哈希 (hash函数),而散列表就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里,这种存储空间可以充分利用数组的查找优势来查找元素,所以查找的速度很快。

    哈希表在应用中也是比较常见的,就如Java中有些集合类就是借鉴了哈希原理构造的,例如HashMap,HashTable等,利用hash表的优势,对于集合的查找元素时非常方便的,然而,因为哈希表是基于数组衍生的数据结构,在添加删除元素方面是比较慢的,所以很多时候需要用到一种数组链表来做,也就是拉链法。拉链法是数组结合链表的一种结构,较早前的hashMap底层的存储就是采用这种结构,直到jdk1.8之后才换成了数组加红黑树的结构,其示例图如下:
    这里写图片描述
    从图中可以看出,左边很明显是个数组,数组的每个成员包括一个指针,指向一个链表的头,当然这个链表可能为空,也可能元素很多。我们根据元素的一些特征把元素分配到不同的链表中去,也是根据这些特征,找到正确的链表,再从链表中找出这个元素。

    哈希表的应用场景很多,当然也有很多问题要考虑,比如哈希冲突的问题,如果处理的不好会浪费大量的时间,导致应用崩溃。

    7、堆

    堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有以下的性质:

    • 堆中某个节点的值总是不大于或不小于其父节点的值;

    • 堆总是一棵完全二叉树。

    将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。

    堆的定义如下:n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下关系时,称之为堆。
    (ki <= k2i,ki <= k2i+1)或者(ki >= k2i,ki >= k2i+1), (i = 1,2,3,4…n/2),满足前者的表达式的成为小顶堆,满足后者表达式的为大顶堆,这两者的结构图可以用完全二叉树排列出来,示例图如下:
    这里写图片描述
    因为堆有序的特点,一般用来做数组中的排序,称为堆排序。

    8、图

    图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

    按照顶点指向的方向可分为无向图和有向图:
    这里写图片描述
    这里写图片描述
    图是一种比较复杂的数据结构,在存储数据上有着比较复杂和高效的算法,分别有邻接矩阵 、邻接表、十字链表、邻接多重表、边集数组等存储结构,这里不做展开,读者有兴趣可以自己学习深入。

    展开全文
  • 还记得数据结构这个经典的分类图吧: pic1 今天主要关注一下线性表。 什么是线性表 线性表的划分是从数据的逻辑结构上进行的。线性指的是在数据的逻辑结构上是线性的。即在数据元素的非空有限集中 (1) 存在唯一的...

    还记得数据结构这个经典的分类图吧:


    今天主要关注一下线性表。

    什么是线性表

    线性表的划分是从数据的逻辑结构上进行的。线性指的是在数据的逻辑结构上是线性的。即在数据元素的非空有限集中

    (1) 存在唯一的一个被称作“第一个”的数据元素,(2) 存在唯一的一个被称作“最后一个”的数据元素,(3) 除第一个外,集合中的每个数据元素均只有一个前继元素,(4)除最后一个外,集合中的每个数据元素均只有一个后继元素。

    那么对于线性表,从存储结构上分,可以有顺序存储结构和链式存储结构。顺序存储结构包括顺序表、顺序队列和顺序栈;链式存储结构包括链表、链队列和链栈。所有这些分类数据结构的实现,后续的博文将陆续进行介绍。

    展开全文
  • 数据分析之数据分类了解

    千次阅读 2018-07-27 21:47:18
    一、分类数据 ...是指没有内在固有大小或高低顺序,一般以数值或字符表示的分类数据。如性别变量中的男、女取值,可以分别用1、 2表示,民族变量中的各个民族,可以用‘汉’‘回’‘满’等字符表...

    一、分类数据

    分类数据代表着对象的属性特点。诸如人群的性别、语言、国籍大都属于分类数据。分类数据通常也可以用数值表示(例如1表示女性而0表示男性),但需要注意的是这一数值并没有数学上的意义仅仅是分类的标记而已。

    1、定类数据

    是指没有内在固有大小或高低顺序,一般以数值或字符表示的分类数据。如性别变量中的男、女取值,可以分别用1、 2表示,民族变量中的各个民族,可以用‘汉’‘回’‘满’等字符表示等。这里,无论是数值型的1、 2 还是字符型的‘汉’‘回’‘满’,都不存在内部固有的大小或高低顺序,而只是一种名义上的指代。下图中表示的便是一个样本典型的分类数据,分别描述了个体的性别和语言属性

    2、定序数据

    具有内在固有大小或高低顺序,一般可以用数值或字符表示。它相对于定类数据类型来说存在一种程度有序现象

    如职称变量可以有低级、中级、高级三个取值,可以分别用1、2、3等表示,年龄段变量可以有老、中、青三个取值,分别用A B C表示等。这里,无论是数值型的1、2 、3 还是字符型的A B C ,都是有大小或高低顺序的,但数据之间却是不等距的。因为,低级和中级职称之间的差距与中级和高级职称之间的差距是不相等的;

    上图中的四个选项依次表示了不同的受教育程度,但却无法量化初级教育与高中的差别和高中与大学差别间的不同。定序数据缺乏对于特征间差别的量化使得它更多的只能用于评价利于情绪和用户满意度等一系列非数值特征。

    二、数值数据

    1. 定距数据

    通常是指诸如身高、体重、血压等的连续型数据,也包括诸如人数、商品件数等离散型数据

    定距变量用于表示对象等差属性的描述方法。当我们使用定距变量时我们可以明确的知道数值间的顺序和差别,并计量这种差别。对于温度的描述就是一个定距数据典型的例子。

    但定距变量存在的问题在于它没有一个绝对的基准零值,对于上图中的温度来说0度并不意味着没有温度。对于定距变量来说我们可以进行加减操作却无法进行乘除或者比例计算操作。由于不存在绝对零值使得描述性和推理性的统计方法都无法在定距数据上应用。

    2. 定比数据

    定比数据和定距数据一样都是有序的数据排列,但定比数据存在一个绝对的零值,所描述的都是具有零值基准的变量,包括重量、高度和长度等。

     

    离散数据

    离散数据是指其取值是不连续的分离值,数据只能在一些特定点取值。这样的数据不能定量测量但可以进行统计计量,并可将其蕴含的信息通过分类的方式进行表示。掷硬币便是最著名的例子,我们无法预测出下一次硬币的正反但是可以通过统计历史数据来估测概率的分布。

    当处理离散数据时我们需要对两个问题进行深入思考:数据是否可以计数统计,是否可以分割成较小的部分。如果结论于此相关数据可以被测量而不能够计数,那么意味着我们需要处理的便是连续的数据类型。

     连续数据

    连续数据类型代表着对象可测量的连续取值,虽然不能够计数但是可以用某种尺度进行连续的测量取值,例如人的身高和年龄便是连续的数值。通常情况下人们只用或者实数来进行表示。

    展开全文
  • 数据结构—顺序表详解

    千次阅读 多人点赞 2019-04-05 21:03:57
    线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常...
    目录
    (一)线性表的介绍
    (二)顺序表

    (一)线性表的介绍

    • 线性表:线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…
    • 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。
      (1)逻辑上是线性结构,物理结构连续——顺序表;
      (2)逻辑上是线性结构,物理结构不连续——链表。

    (二)顺序表

    将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。

    • 顺序表是线性表,逻辑结构与存储位置吻合。

    • 一般采用数组存储。

    • 顺序表的分类:

    静态顺序表使用定长数组存储
    动态顺序表使用动态开辟的数组存储

    注:使用动态顺序表可以自由控制内存大小,避免开辟内存不够或者开辟内存过大的问题。

    • 将表中元素依此存入数组
      i: int[] array————存在实际数据(可以理解为一座可以容纳n各人的房子)
      ii: int size————存在数据个数(可以理解为方子中实际住了多少人)
      在这里插入图片描述

    1. 头插

    • 头插:即在顺序表的第一个元素之前插入一个新的元素。
    • 思想:
      图2:
      在这里插入图片描述
      (1)若要在第一个元素的位置插入一个新的元素,则原来所有的元素都必须后移一个位置。需后移size个元素。
      (2)为了使后移的元素不被覆盖,后移的顺序用改为:从后往前移。
      (3)确定空间下标 与 数据下标
      数据下标:可以理解为移动前元素的下标;
      空间下标:可以理解为移动以后元素的下标。

    空间下标:[size,1]
    数据下标:[size-1,0]

    (4)array[空间下标] = array[数据下标];
    数据下标=空间下标-1
    (5)array[0] = 新元素;
    (6)size++;

    2. 尾插

    • 尾插:在顺序表得最后一个元素后面添加一个元素
    • 思想:
      图3:
      在这里插入图片描述
      (1)顺序表中所有得元素都不需要移动,直接在最后插入一个新的元素
      (2)array[size] = 新元素;
      (3)size++

    3. 从中间任何位置插入

    • 思想:
      图4:
      在这里插入图片描述
      (1)从中间任何位置插入,也包括从头插和尾插。
      (2)明确要插入新元素的位置index,不能越界。(index>=0 && index <= size);
      (3)将index及其之后的元素全部后移一个位置;
      (4)先后移,再插入,且从后往前移动;
      (5)确定空间下标[size,index+1];
      (6)确定数据下标[size-1,index];
      (7)array[空间下标] = array[数据下标];
      数据下标=空间下标-1
      (8)array[index] = 新元素;
      (9)size++

    4. 头删

    • 头删:即把顺序表中得第一个元素删除
    • 思想:
      图5:
      在这里插入图片描述
      (1)删除第一个元素,则其后的元素就必须前移一个位置,需要移动的元素个数为size-1;
      (2)移动顺序:从前往后;
      (3)确定空间下标[0,size-2];
      (4)确定数据下标[1,size-1];
      (5)array[空间下标] = array[数据下标];
      数据下标=空间下标+1
      (6)移动完之后: this.array[–this.size] = 0。

    5. 尾删

    • 尾删:即删除顺序表中的最后一个元素。
    • 思想:
      (1)其他元素都不用移动,只需要删除最后一个元素即可
      (2)this.array[–this.size] = 0;

    6. 从中间任何位置删除

    • 思想:
      图6:
      在这里插入图片描述
      (1)确定index得位置;
      (2)将该位置及之后的所有元素前移一个位置;
      (3)移动顺序:从前往后移动;
      (4)确定数据下标:[index+1,size-1];
      (5)确定空间下标:[index,size-2];
      (6)array[空间下标] = array[数据下标];
      (7)移动完之后,this.array[–this.size] = 0;

    7,顺序表增删的具体代码:

    (1)定义接口,接口中定义要实现的方法

    
    /**
     * author:kelly_fanfan
     */
    interface IArrayList {
        //顺序表的增删查改
    
        //头插
        //把item插入到线性表的前面
        void pushFront(int item);
    
        //尾插
        void pushBack(int item);
    
        //从中间插入
        //把item插入到index下标位置处,index后的数后移
        void add(int item,int index);
    
        //头删
        //删除前面的而数据
        void popFront();
    
        //尾删
        void popBack();
    
        //删除index处的数据,index后的数据前移
        void remove(int index);
    }
    
    

    (2)用一个子类实现接口,覆写接口中的方法

    
    /**
     * author:kelly_fanfan
     */
    public class MyArrayList implements IArrayList{
    
        private int[] array; //保存数据的空间
        private int size; //保存有效数据个数、
    
        MyArrayList(int capacity){
            this.array = new int[capacity];
            this.size = 0;
        }
    
        @Override
        public void pushFront(int item) {
            ensureCapacity();
            for(int i = size; i >= 1;i--){
                this.array[i] = this.array[i-1];
            }
            this.array[0] = item;
            this.size++;
        }
    
        @Override
        public void pushBack(int item) {
            ensureCapacity();
            this.array[this.size] = item;
            this.size++;
        }
    
        @Override
        public void add(int item, int index) {
            ensureCapacity();
            if(index < 0  || index > this.size){
                throw new Error();
            }
            //i 表示空间下标
            for(int i = this.size; i>= index+1;i++){
                this.array[i] = this.array[i-1];
            }
            this.array[index] = item;
            this.size++;
        }
    
        @Override
        public void popFront() {
            for(int i = 0;i <= this.size-2;i++){
                this.array[i] = this.array[i+1];
            }
            this.array[--this.size] = 0;
        }
    
        @Override
        public void popBack() {
            if(this.size == 0){
                throw new Error();
            }
            this.array[--this.size] = 0;
           // this.size--;
        }
    
        @Override
        public void remove(int index) {
            for(int i = index; i <= this.size-2;i++){
                this.array[i] = this.array[i+1];
            }
            this.array[--this.size] = 0;
        }
    
    //为了防止出现数组空间不足的情况,定义此方法用来扩容
    //this.array  _——住的老房子
    //this.size——房子里住的人
    //什么时候应该搬家——this.size==this.array.length
    //(1)先找新房子
    //(2)搬家
    //(3)通知新房子所在位置:this.array = 新房子的地址
    //(4)退掉老房子
        public void ensureCapacity() {
            if(this.size < this.array.length){
                return;
            }
    
            //(1)找新房子,一般找原来的两倍大
            int capacity = this.array.length*2;
            int[] newArray = new int[capacity];
    
            //(2)搬家
              for(int i = 0;i < newArray.length;i++){
                  newArray[i] = this.array[i];
              }
    
            //(3)去学校登记新房子的位置,退掉老房子
            this.array = newArray;
        }
    
    
    }
    
    

    (3)定义测试类

    package www.bit.java;
    
    /**
     * author:kelly_fanfan
     */
    public class Main {
        public static void main(String[] args) {
            MyArrayList arrayList = new MyArrayList(10);
            arrayList.pushBack(1);
            arrayList.pushBack(2);
            arrayList.pushBack(3);
            arrayList.popBack();
            arrayList.popBack();
            arrayList.popBack();
            arrayList.add(2,200);
            arrayList.add(3,30);
            arrayList.add(4,40);
            arrayList.popFront();
            arrayList.popBack();
            arrayList.remove(3);
        }
    }
    
    
    展开全文
  • 即大名鼎鼎ImageNet2012竞赛的数据集,在图像分类数据集中属于最常用的跑分数据集预训练数据集。 主要内容可以参考ILSVRC2012_devkit_t12.gz的readme.txt中文翻译版 内容详解 下载的文件主要包括以下几个文件: ...
  • 【Pandas】Pandas数据分类

    千次阅读 2018-11-02 11:47:13
    与统计分类变量相比,分类数据可能有一个顺序(例如“强烈同意”与“同意”或“第一次观察”与“第二次观察”),但数值运算(加法,除法......)是不可能的。 分类数据的所有值都是类别或np.nan。顺序由类别的顺序...
  • 为了方便使用,博文中附上了包括数据集整理及数据预处理在内的所有代码及处理好的数据集,同时对代码进行了解释,其要点如下:UCI数据集介绍、不同数据集的整理程序、148个整理好的数据集与对应程序。
  • 数据挖掘算法——常用分类算法总结

    万次阅读 多人点赞 2019-06-17 10:55:22
    常用分类算法总结分类算法总结NBC算法LR算法SVM...分类算法的分类过程就是建立一种分类模型来描述预定的数据集或概念集,通过分析由属性描述的数据库元组来构造模型。分类的目的就是使用分类对新的数据集进行划分...
  • 还记得数据结构这个经典的分类图吧: 今天主要关注一下线性表。 什么是线性表 线性表的划分是从数据的逻辑结构上进行的。线性指的是在数据的逻辑结构上是线性的。即在数据元素的非空有限集中 ...
  • 处理分类数据 非数值型编码

    千次阅读 2018-06-06 19:19:28
    处理分类数据目前为止,我们处理的都是数值型变量。但是真实世界的数据集通常都...在讲解处理分类数据的技巧之前,我们先创建一个新的DataFrame对象:上面创建的数据集含有无序特征(color),有序特征(size)数值型...
  • 数据挖掘之分类

    千次阅读 2015-10-04 10:51:14
    数据挖掘之分类 一、分类综述 1、过分拟合问题: 过拟合的原因: (1)噪声造成的过分拟合(因为它拟合了误标记的训练记录,导致了对检验集中记录的误分类); (2)根据少量训练记录做出分类决策的模型也容易...
  • 线性非线性数据结构分类

    千次阅读 2017-03-01 15:29:15
    数据结构按逻辑存储结构,可以分为不同的类型  按逻辑可以分为以下三种:  1.集合  2.线性结构 是一个有序的数据元素集合,除第一个元素最后一个元素外,其他元素与元素之间是首尾相接的,所以称之为线性...
  • 另外机器学习实战这本书是本人看了这么多书籍或者资料中唯一一本坚持从头看到尾,看完了的书籍,包括其中的代码皆实践运行过,收获颇多,个人认为虽然这本书时间上已经算是老资料了,但其中作者的各种总结代码的...
  • 一、分类数据/变量VS顺序数据/变量的定义 分类数据分类数据指某些数据属性只能归于某一类别的非数值型数据,例如性别男女就是分类数据。 注意:分类数据没有明显的高/低/大/小等包含等级/顺序/排序/好坏等逻辑...
  • (新手向)keras resnet 训练自己的数据集 图像分类

    万次阅读 多人点赞 2019-08-23 15:09:23
    使用 keras 中的 resnet 模型来进行图像分类其实很简单,比较麻烦的问题在于处理数据集的部分。这里先把大概的框架讲一下,最后再说数据集的处理。 导入各种python库 首先要导入各种库 import os,sys import numpy ...
  • 而博主最近看的王道论坛2020的数据结构开篇就有按照逻辑结构存储结构将各种数据结构进行分类,本文就结合所有知识点充分讲解各个数据结构之间的区别与联系。 二、相似概念的线性表区分 在数据结构考试题目中我们...
  • 即大名鼎鼎ImageNet2012竞赛的数据集,在图像分类数据集中属于最常用的跑分数据集预训练数据集。 主要内容可以参考ILSVRC2012_devkit_t12.gz的readme.txt中文翻译版 内容详解 下载的文件主要包括以下几个文件...
  • 数据结构基础概念篇

    万次阅读 多人点赞 2017-11-14 13:44:24
    数据结构就是研究数据的逻辑结构物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。数据:所有能被输入到计算机中,且能被计算机处理的...
  • 从使用的广义角度上看,数据挖掘常用分析方法主要有分类、聚类、估值、预测、关联规则、可视化等。从数据挖掘算法所依托的数理基础角度归类,目前数据挖掘算法主要分为三大类:机器学习方法、统计方法与神经网络方法...
  • 数据结构学习——树的基本分类

    千次阅读 2015-03-29 20:21:05
    以下是摘自维基百科的一些树的基本分类: 无序树:树中任意节点的子节点之间没有顺序关系,这种树称为无序树,也称为自由树;有序树:树中任意节点的子节点之间有顺序关系,这种树称为有序树; 二叉树:每个节点...
  • 数据挖掘:模型选择——监督学习(分类) 机器学习算法可分为监督学习非监督学习。本文主要讨论非监督学习中的分类任务。 一、简单介绍 简单的说,监督学习就是有标签的数据,有需要预测的变量。 分类任务就是预测...
  • C语言数据结构实战(一)顺序表的插入与删除博客分类: C语言 今天学习了思成老师的数据结构实战教程 写了一个顺序表 插入删除的操作 把源码共享给大家 一共包括list.c stu.h main.c list.h .h文件是头文件 需要...
  • 超硬核!数据结构学霸笔记,考试面试吹牛就靠它

    万次阅读 多人点赞 2021-03-26 11:11:21
    上次发操作系统笔记,很快浏览上万,这次数据结构比上次硬核的多哦,同样的会发超硬核代码,关注吧。
  • 最近有小伙伴面试,对数据结构算法比较头疼,我整理了一波资料,帮助大家快速掌握数据结构算法的面试,感觉有用的下伙伴,点赞支持哦! 不叨叨,直接上干货。 目录 Q1:数据结构算法的知识点整理: Q2:...
  • 数据挖掘中的分类算法比较

    千次阅读 2014-07-22 16:31:02
    为了满足这种需求,数据挖掘技术的得到了长足的发展,而分类数据挖掘中是一项非常重要的任务,目前在商业上应用最多。本文主要侧重数据挖掘中分类算法的效果的对比,通过简单的实验(采用开源的数据挖掘工具 -Weka...
  • 数据挖掘与数据分析

    万次阅读 多人点赞 2018-05-28 13:58:14
    一、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点实现手法有所区分。 数据挖掘和数据分析的不同之处: 1、在应用工具上,数据挖掘一般要通过...
  • 文章目录数据离散化类型 数据离散化类型 操作数据的逻辑分层,所谓离散化是将无限空间中的有限个体映射到有限空间。数据离散化操作主要在连续数据上执行。处理后,数据值范围分布将从连续属性更改为离散属性。此...
  • 用朴素贝叶斯对wine数据分类

    万次阅读 2015-11-10 09:51:53
    该实验的数据集是MostPopular Data ...经过几天对数据集以及分类算法的研究,详细研究了朴素贝叶斯分类其他学习算法,包括决策树神经网络等等。同时由于这个数据集有13个属性,用决策树实现起来会很复杂。我最终

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 172,048
精华内容 68,819
关键字:

包括分类数据和顺序数据