离散化 订阅
离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200},{20,50000},{1,400};处理后:{3,4},{2,6},{1,5}; 展开全文
离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200},{20,50000},{1,400};处理后:{3,4},{2,6},{1,5};
信息
方    式
个体映射到有限的空间中
对    象
无限空间
作    用
提高算法的时空效率
中文名
离散化
应用领域
程序设计
外文名
Discretization
离散化概述
离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法。要掌握这个思想,必须从大量的题目中理解此方法的特点。例如,在建造线段树空间不够的情况下,可以考虑离散化。
收起全文
精华内容
下载资源
问答
  • 数据离散化 数据离散化就是分箱 一把你常用分箱方法是等频分箱或者等宽分箱 一般使用pd.cut或者pd.qcut函数 pandas.cut(x, bins, right=True, labels) x: 数据 bins: 离散化的数目,或者切分的区间 labels: 离散化后...
  • 在连续属性的情况下,需要一种将连续属性转换为离散属性的离散化算法。 此代码基于论文:“CAIM Discretization Algorithm”,详细信息可查找该论文[1]。 你可以从“ControlCenter.m”开始,在这里你会找到一个简单...
  • 本文涉及分数阶微分器和积分器的离散化,这是分数阶控制器数字化实现的基础。 首先,将参数化的Al-Alaoui变换表示为具有一个可变参数的一般生成函数,可以对其进行调整以获得常用的生成函数(例如Euler运算符,...
  • 此提交包含使用矩阵方法离散化分数阶微分方程所需的基本函数和演示。 该方法在以下文章中有所描述: [1] I. Podlubny,“离散分数阶微积分的矩阵方法”,分数阶微积分和应用分析,卷。 3,没有。 4, 2000, pp. 359-...
  • 连续传递函数离散化的方法与原理。讲述如何将连续的模拟域的传递函数离散到数字域的几种方法。介绍比较详细,包括方法原理及各种方法的优缺点
  • matlab中系统离散化.doc

    2020-12-16 11:20:18
    matlab中传递函数离散化特别是转化为差分方程可以使用c2d实现系数直接转化是不可以的c2d的具体用法可以参照matlab帮助下面举一例 ? % transfor function sys = tf([1 -1], [1 4 5]; % discretize ts = 0.1; % 采样...
  • 今天小编就为大家分享一篇使用pandas实现连续数据的离散化处理方式(分箱操作),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 该文介绍了基于离散化方法的T—S模糊控制系统控制器设计的问题。用离散化的方法,将 T—S模糊控制系统转化为一个离散采样系统,并利用离散采样系统的特性,提出了保守性更小的控制器设计方案。避免了T—S...
  • 如下所示: data = np.random.randn(20) factor = pd.cut(data,4) pd.get_dummies(factor) 0 0 0 0 1 1 1 0 0 0 2 0 0 0 1 3 0 0 1 0 4 1 0 0 0 5 0 1 0 0 6 0 1 0 0 7 0 1 0 0 ...其中参数中的4表
  • 离散化技术方法可以通过将属性(连续取值)域值范围分为若干区间,来帮助消减一个连续(取值)属性的取值个数。可以用一个标签来表示一个区间内的实际数据值。在基于决策树的分类挖掘中,消减属性取值个数的离散化...
  • 离散化

    千次阅读 多人点赞 2020-02-26 16:08:49
    离散化(Discretization),把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如: 原数据:1, 999, 100000, 15;...

    概念

    离散化(Discretization),把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:

    • 原数据:1, 999, 100000, 15;处理后:1,3,4,2。
    • 原数据:{100, 200},{20, 50000},{1, 400};处理后:{3,4},{2,6},{1,5}。

    有的时候,我们会发现对于一个序列,它的值域很大,对应算法的复杂度是 Θ(值域) 的。离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法。例如,在建造线段树空间不够的情况下,可以考虑离散化。

    离散化的原理和实现都很简单。为了确保不出错且尽可能地提高效率,我们希望离散化能实现以下几种功能:

    1、保证离散化后的数据非负且尽可能的小

    2、离散化后各数据项之间的大小关系不变,原本相等的也要保持相等。

    由此,找出数据项在原序列中从小到大排第几就是离散化的关键。可以通过下面的方法以 O(n logn) 的时间复杂度完成离散化,n 为序列长度。

    离散化一共有两种方法,方法一重复元素离散化后的数字相同,方法二重复元素离散化后的数字不相同。用的最多的是方法一。

    方法一:重复元素离散化后的数字相同

    例如:对于序列 [105,35,35,79,-7],排序并去重后变为 [-7,35,79,105],由此就得到了对应关系 -7->1, 35->2, 79->3, 105->4。

    基本的步骤可以分为:

    1、用一个辅助的数组把你要离散的所有数据存下来。

    2、排序,排序是为了后面的二分。

    3、去重,因为我们要保证相同的元素离散化后数字相同。

    4、索引,再用二分把离散化后的数字放回原数组。

    对应的代码如下:

    #include<algorithm> // 头文件 
    
    const int MAXN = 1e6+4;
    //n 原数组大小 num 原数组中的元素 lsh 离散化的数组 cnt 离散化后的数组大小 
    int lsh[MAXN], cnt, num[MAXN], n;
    
    for (int i=1; i<=n; i++) {
        scanf("%d",&num[i]);
        lsh[i] = num[i];	
    }
    
    sort(lsh+1 , lsh+n+1);//排序
    cnt = unique(lsh+1, lsh+n+1) - lsh - 1;//去重
    
    //二分查找
    for(int i=1; i<=n; i++) {
        num[i] = lower_bound(lsh+1 , lsh+cnt+1 , num[i]) - lsh;
    }

    在这段代码中,num[] 经过离散,范围就变成了 m。

    数据解析

    比如,这组数据:

    1,23424,242,65466,242,0

    排序后得到:

    0,1,242,242,23424,65466

    然后会去重,得到:

    0,1,242,23424,65466

    然后离散化的到:

    1,3,2,4,2,0

    注意事项

    1、去重并不是把数组中的元素删去,而是重复的部分元素在数组末尾,去重之后数组的大小要减一。

    2、二分的时候,注意二分的区间范围,一定是离散化后的区间。

    3、如果需要多个数组同时离散化,那就把这些数组中的数都用数组存下来。

    方法二:重复元素离散化后的数字不相同

    例如:对于序列 [105,35,35,79,-7],排序后变为 [-7,35,35,79,105],由此就得到了对应关系 -7->1,35->2,35->3,79->4,105->5。

    基本的步骤可以分为:

    1、用一个辅助的数组把你要离散的所有数据存下来。

    2、排序。

    3、枚举着放回原数组。

    对应的代码如下:

    #include<algorithm>
    
    struct Node {
        int data , id;
        bool operator < (const Node &a) const {
    	return data < a.data;
        }
    };
    
    const int MAXN = 1e5+4;
    Node num[MAXN];//原数组
    int rank[MAXN];//离散化后数组
    int n;
    
    for (int i=1; i<=n; i++) {
        scanf("%d",&num[i].data);
        num[i].id = i;
    }
    
    sort(num+1 , num+n+1);
    
    for (int i=1; i<=n; i++) {
        rank[num[i].id] = i;
    }

    这种方法复杂度比上面那一种要优,但不能处理重复元素。它直接用结构体存储原本的数列的元素的位置,然后排序以后将他们再重新赋值。那么 rank[] 就是结构体 num[] 离散化后的结果。

    数据解析

    原始数据:

    data: 3 6 5 10 8
    id : 1 2 3 4 5

    排序以后:

    data: 3 5 6 8 10
    id: 1 3 2 5 4

    离散化以后:

    data: 3 5 6 8 10
    id: 1 3 2 5 4
    rank: 1 2 3 4 5

    再按原来的顺序排列:

    data: 3 6 5 10 8
    rank: 1 3 2 5 4

    习题

    模板题

    模板题一,http://47.110.135.197/problem.php?id=5237

    模板题二,http://47.110.135.197/problem.php?id=5238

    其他题目

    洛谷 P1955,程序自动分析,https://www.luogu.com.cn/problem/P1955

    洛谷 P1667,数列,https://www.luogu.com.cn/problem/P1667

    VOJ 1056,图形面积,https://vijos.org/p/1056

    展开全文
  • 连续系统离散化方法

    2016-11-17 22:57:05
    连续系统离散化方法
  • 连续系统离散化问题

    2018-03-09 17:29:27
    连续系统离散化问题 1. 香农定理与控制系统采样周期 1) --香农定理 2)采样周期导致信号滞后—影响系统稳定
  • 这是有关PID离散化的总结,以及C语言实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  • SDE-CPU-EM-MC 欧拉-丸山离散化的随机微分方程单线程模拟
  • 隐式吉尔法从理论上十分适应于病态系统 但需要解决好以下问题 (1) 自启动 r阶多步算式无法自启动需要用单步法求出前r步值 (2) 预估迭代 迭代方法要求收敛性良好否则在大步长时会造成数 值发散 (3) 变步长 初始阶段...
  • 传递函数离散化方法相关,也包括其他内容,可以共同参考
  • irid_fsof 函数准备计算离散时间有限维 (z) 传递函数以近似连续时间分数二阶低通滤波器 (LPF) [1/(s^2 + a*s + b)]^r ,其中“s”是拉普拉斯变换变量; “r”是(0,1)范围内的实数; a 和 b 是 LPF [1/(s^2 + a*s + b...
  • 使用聚类算法对连续状态空间进行自适应离散化,得到了基于K-均值聚类的强化学习方法.该方法的学习过程分为两部分:对连续状态空间进行自适应离散化的状态空间学习,使用K-均值聚类算法;寻找最优策略的策略学习,使用替代...
  • 我设置的是1积分,为什么CSDN强制变成6积分甚至11积分? ADRC的m函数版本,离散化后的公式,用matlab-function写的
  • 当用粗糙集算法从连续量决策信息表中提取规则时,首先要对其进行离散化处理。针对连续量决策信息表离散化过程中存在的问题,本文中提出了2个定理并进行了证明。定理表明:在考虑决策信息表中属性值之间不可分关系的条件...
  • 我们显示,与使用冗余图像的传统场景离散化和深度剥离相比,非冗余渲染根据几种独立于视图和依赖于视图的度量标准,可以提高场景采样质量。 非冗余图像具有较高的碎片度,因此从样本进行场景重建的常规方法无效。 ...
  • 提出一种基于分类目标的启发式离散化算法, 通过该算法能够解决粗糙集理论中的连续属性离散化问题. 该算法充分考虑目标分类和属性的重要性, 在减少决策规则的同时完成了属性约简. 通过茶味觉信号的验证及与传统算法...
  • 为在应用粗糙集理论处理数据时,对连续属性进行离散化预处理,采用k均值算法对连续属性进行离散化的方法,将属性无监督聚类成两类.通过在UCI数据库上选取的4组数据进行实验,首先离散化,再通过粗糙集约简,最后使用k NN(k...
  • 离散化的方法

    2014-07-16 16:07:54
    离散化的方法,在网上看到大神写的,感觉很神奇,可以去掉重复的数据
  • 主要为大家详细介绍了python数据分析数据标准化及离散化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 总结了大半年,控制系统各种传递函数双线性变换离散化后的递推公式。相信能帮助大家
  • 这是 Tsai 等人在 2008 年发表的论文“A Discretization Algorithm Based on Class-Attribute Contingency Coefficient”中出现的离散化方法的正确 MATLAB 实现。 如果您尝试了其他一些实现,但没有收到论文中报告...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 185,360
精华内容 74,144
关键字:

离散化