精华内容
下载资源
问答
  • @Test public void test22(){ Set<String> set = new HashSet<>(); set.add("aaa"); set.add("qqq"); set.add("www"); set.add("eee"); set....

     

        @Test
        public void test22(){
            Set<String> set = new HashSet<>();
            set.add("aaa");
            set.add("qqq");
            set.add("www");
            set.add("eee");
            set.add("rrr");
    
            List<String> list = new ArrayList<>(set);
            String str = String.join(",", list);
    
            System.out.println(str);
    
        }
        @Test
        public void test01(){
            ArrayList<String> list = new ArrayList<>();
            list.add("aaa");
            list.add("bbb");
            list.add("ccc");
    
            String join = String.join(",", list);
            System.out.println(join);
    
        }

     

     

    展开全文
  • 符号集合近似法SAX

    千次阅读 2020-06-28 18:19:08
    时间序列局部特征构造的方法:SAX算法(符号集合近似法) 符号集合近似法下的距离定义 符号集合近似法除了可以降低时间序列的维度之外,还有数据压缩作用 一些时间序列分类问题可能涉及时间序列属性的差异,这些...

    0. 内容

    • 时间序列局部特征构造的方法:SAX算法(符号集合近似法)
    • 符号集合近似法下的距离定义
    • 符号集合近似法除了可以降低时间序列的维度之外,还有数据压缩作用

    一些时间序列分类问题可能涉及时间序列属性的差异,这些属性被限制在特定的有区别时间区间内,即所谓的局部特征。

    1. SAX算法1

    笼统地理解,SAX((Symbolic Aggregate approXimation,符号集合近似)算法是将时间序列转换为字符串。和傅里叶变换、小波变换类似的地方是:都是一种变换。但是和由时域变换到频域不同,SAX是将其变换成字符串。其优点是可以借助丰富的字符串的数据结构和算法来分析时间序列。

    SAX算法的实现的效果:

    • 降低原始序列数据的维度;
    • 保留了数据的局部特征信息;
    • 对 数据噪声有一定承受能力,分段既消除噪声又实现了数据平滑;
    • 使得字符化后的序列上定义的距离和原始序列距离有强相关性,进一步说是保持序列变换前后的下界距离一致性;

    符号约定:

    • C = c 1 , c 2 , . . . , c n C=c_1,c_2,...,c_n C=c1,c2,...,cn是一个时间序列
    • C ˉ = c ˉ 1 , c ˉ 2 , . . . , c ˉ w \bar C=\bar c_1, \bar c_2,...,\bar c_w Cˉ=cˉ1,cˉ2,...,cˉw是一个分段聚集近似序列(Piecewise Aggreate Approximation, PAA)
    • C ^ = c ^ 1 , c ^ 2 , . . . , c ^ w \hat C=\hat c_1,\hat c_2,...,\hat c_w C^=c^1,c^2,...,c^w符号表示得到的序列
    • w w w:PAA表示原始时间序列 C C C的片段数目
    • a a a:字母表集合大小 ,例如,字母表集合 ={ a , b , c a,b,c a,b,c},则 a = 3 a=3 a=3;

    粗略描述SAX算法流程:

    • 将原始时间序列Z-score标准化;
    • 将标准化后的时间序列 C C C转换成PAA序列 C ˉ \bar C Cˉ(分段聚集近似序列);
    • 然后将PAA序列 C ˉ \bar C Cˉ转换成字符序列 C ^ \hat C C^

    下面是细致的阐述:

    1.1 PAA近似序列 C ˉ \bar C Cˉ

    将n维 C = c 1 , c 2 , . . . , c n C=c_1,c_2,...,c_n C=c1,c2,...,cn时间序列向量,转换为w维的向量 C ˉ = c ˉ 1 , c ˉ 2 , . . . , c ˉ w \bar C=\bar c_1, \bar c_2,...,\bar c_w Cˉ=cˉ1,cˉ2,...,cˉw,其中,第 i i i c ^ i \hat c_i c^i是按照下式计算:

    c ˉ i = w n ∑ j = n w ( i − 1 ) + 1 n w i c j \bar c_i = \frac{w}{n}\sum_{j=\frac{n}{w}(i-1)+1}^{\frac{n}{w}i}c_j cˉi=nwj=wn(i1)+1wnicj

    公式表达的意思是,为了将n维原始的时间序列向量降到w维,将原始时间序列向量划分为w个片段,第 i i i片段内的均值对应于 c ˉ i \bar c_i cˉi的值。其中,将 n w \frac{n}{w} wn称为压缩率,必须保证为整数。如果n是素数,我们可以通过长度为合数的滑窗来提取时间序列的子序列进行PAA近似序列的求解。

    图1 PAA示例

    1.2 字符序列 C ^ \hat C C^

    通过求取使得高斯分布被划分成等概率区间的断点序列 B B B,然后通过断点序列B和PAA近似序列值完成符号化。

    定义1: 断点序列(Breakpoints):断点序列是有序的数字序列 B = β 1 , β 2 , . . . , β a − 1 B=\beta_1, \beta_2, ..., \beta_{a-1} B=β1,β2,...,βa1, 其中 β i \beta_i βi β i + 1 \beta_{i+1} βi+1之间对应的高斯分布的概率值间隔等于 1 a \frac{1}{a} a1。特别地,规定 β 0 , β a \beta_0,\beta_a β0,βa分别表示 − ∞ , + ∞ -\infty,+\infty ,+

    我的理解:

    • 断点序列 a − 1 a-1 a1个值对应将标准高斯分布的随机变量值;
    • 任意相邻两个断点之间对应的标准高斯分布概率值是相等的;
    • 图2示例了这一过程的结果

    定义2: 字符化。存在一个有序字符集合alpha,例如, a l p h a 1 = a , a l p h a 2 = b alpha_1 = a, alpha_2 = b alpha1=a,alpha2=b, 通过下式完成PAA近似序列 C ˉ \bar C Cˉ到字符序列 C ^ \hat C C^的映射:

    c ^ i = a l p h a j \hat c_i = alpha_j c^i=alphaj, 当且仅当, β j − 1 ≤ c ˉ i < β j \beta_{j-1} \leq \bar c_i < \beta_j βj1cˉi<βj

    至此,完成了时间序列的字符表示。

    图2 标准高斯分布下,任意数目等概率区间断点(3到10)的划分
    图3 SAX过程:首先将时间序列Z-socre标准化,然后将时间序列离散化,获得一个PAA近似;最后使用预定的断点序列将PAA系数映射成SAX符号。在上面的例子中,时间序列长度n = 128, 映射后字符长度w = 8, 字符集大小a = 3,时间序列被映射到单词baabccbc

    2. 符号集合近似法下的序列距离定义

    第1小节引入了符号集合近似法,完成了对时间序列的符号表示。下面要定义符号化后的两个序列之间的距离。

    2.1 字符的最近距离(low bound distance)

    SAX定义的距离是字符最近距离(low bound distance),见图4所示。

    图4 字符最近距离(low bound distance)的理解。 dist(a,b) = 0, dist(a,c)=0.67, dist(a,d)=1.34; dist(a,a)=0;

    对由PAA序列到字符的映射换个函数形式的定义:

    定义2-1: c ^ i = t o _ w o r d ( c ˉ i ) \hat c_i = to\_word(\bar c_i) c^i=to_word(cˉi) , 当且仅当 c ˉ i ∈ [ β j − 1 , β j ) \bar c_i\in[\beta_{j-1},\beta_j) cˉi[βj1,βj) t o _ w o r d ( c ˉ i ) = a l p h a j to\_word(\bar c_i)=alpha_j to_word(cˉi)=alphaj;

    定义2-2: t o _ w o r d ( ) to\_word() to_word()的反函数 t o _ w o r d − 1 ( a l p h a j ) = { β l o w a l p h a j , β h i g h a l p h a j } = { β j − 1 , β j } to\_word^{-1}(alpha_j)=\{\beta_{low}^{alpha_j},\beta_{high}^{alpha_j}\}=\{\beta_{j-1},\beta_j\} to_word1(alphaj)={βlowalphaj,βhighalphaj}={βj1,βj}, 当且仅当, c ˉ i ∈ [ β j − 1 , β j ) \bar c_i\in[\beta_{j-1},\beta_j) cˉi[βj1,βj);

    利用定义2-1, 2-2 来定义字符最近距离 M I N D I S T ( Q ^ , P ^ ) MINDIST(\hat Q, \hat P) MINDIST(Q^,P^).

    定义3 :字符最近距离 M I N D I S T ( Q ^ , P ^ ) = m i n ( β h i g h Q ^ , β h i g h P ^ ) − m a x ( β l o w Q ^ , β l o w P ^ ) MINDIST(\hat Q, \hat P)=min(\beta_{high}^{\hat Q}, \beta_{high}^{\hat P}) - max(\beta_{low}^{\hat Q}, \beta_{low}^{\hat P}) MINDIST(Q^,P^)=min(βhighQ^,βhighP^)max(βlowQ^,βlowP^)

    由图4可以直觉地发现, M I N D I S T ( Q ^ , P ^ ) MINDIST(\hat Q, \hat P) MINDIST(Q^,P^) Q ^ , P ^ \hat Q, \hat P Q^,P^的欧式距离下界。

    3. 数据压缩

    对于将时间序列降维,SAX算法是很明显的。除此之外,SAX还可以进行数据压缩。

    3.1 直观的理解

    对于一个很长的时间序列 T T T, 使用长度为 n n n的滑动窗口去提取子序列。使用SAX方法提取时,如果第一次提取到序列 a a b b c c aabbcc aabbcc,那么就不再存储后续提取的序列 a a b b c c aabbcc aabbcc,而是将其映射到第一次出现该序列的索引位置处。这样就实现了数据压缩。

    3.2 SAX必须慎重考虑的特殊情况

    时间序列的标准差特别小的时候,即几乎是常数的时间序列,例如,一个长度为32的序列,31个序列值是0, 只有一个序列值为0.0001。序列均值为3.125e-06,标准差为1.739926363384382e-05。

    对其进行Z-score标准化后,会将噪声0.0001放大为5.567.如图5所示。

    图5 特殊情况:几乎是常数的时间序列

    这种情况常常发生在对很长的时间序列进行滑窗提取子序列过程中。处理方式是:

    当该时间序列的标准差低于 ϵ \epsilon ϵ时,将字母表的中间字母赋值给该时间序列。例如, α = 5 \alpha = 5 α=5, 即字母表为{a,b,c,d,e},映射成字符的长度 w = 6 w=6 w=6。令 ϵ = 2 e − 5 \epsilon = 2e-5 ϵ=2e5,则图1中的时间序列赋值为 c c c c c c cccccc cccccc

    参考文献

    - [1] Jessica Lin, Eamonn Keogh, Li Wei, Stefano Lonardi.Experiencing SAX: a novel symbolic representation of time series
    展开全文
  • var names=["2016-11-22","西安","城墙","小哥","牵手","小甜","forever"]; var str="";//空的字符串 ...console.l
    var names=["2016-11-22","西安","城墙","小哥","牵手","小甜","forever"];
    var str="";//空的字符串
    for(var i=0;i<names.length-1;i++){
        str+=names[i]+"&";
    }
    
    console.log(str + names[names.length-1]);

    展开全文
  • 有用的表情符号集合。 例如:查找特定表情符号的定义,或搜索字符串中所有出现的表情符号。 产品特点 查找字符串中所有出现的表情符号 在字符串中搜索特定于表情的表情符号 查找单个表情符号的定义 查找定义以...
  • 删除集合特定元素的几种情况

    千次阅读 2019-01-23 15:44:35
    集合中删除元素一直是一比较容易遗漏的知识点,今天来给大家介绍一下删除集合​​中特定元素的一些情况。 ​(一)List如何实现遍历删除 以ArrayList为例  List&lt;String&gt; a1 = new ArrayList...

    从集合中删除元素一直是一个比较容易遗漏的知识点,今天来给大家介绍一下删除集合​​中特定元素的一些情况。

    (一)List如何实现遍历删除

    以ArrayList为例 

             List<String> a1 = new ArrayList<String>();
                a1.add("Tom");
                a1.add("Tom");
                a1.add("Jerry");
                a1.add("John");
                a1.add("Andy");
                
                Iterator<String> it = a1.iterator();
                while(it.hasNext()) {
                	String next = it.next();
                	if(next.equals("Tom")) {
                		it.remove();
                	}
                }
                for (int i = 0; i < a1.size(); i++) {
    				System.out.println(a1.get(i));
    			}

    运行结果大家可以自己试一下,可以发现两个Tom都被删除了,这种就是利用迭代器来删除List中的元素,是非常正确的做法。LinkedList也是一样。那么除了迭代器还有没有其他做法呢?答案是有的,请看

            List<String> a1 = new ArrayList<String>();
                a1.add("Tom");
                a1.add("Tom");
                a1.add("Jerry");
                a1.add("John");
                a1.add("Andy");
    
            for (int i = 0; i < a1.size(); ) {
    			if(a1.get(i).equals("Tom")) {
    				a1.remove(i);
    			}else {
    				i++;
    			}
    		}

    看到这里有的小伙伴也许会问,为什么要在else的时候再i++呢?这是因为因为集合的长度发生了变化,导致原来的索引指向的元素后移了一位,所以要在不满足删除条件时再i++,不然会导致漏元素,很有可能出现漏删的情况,小伙伴们可以试一下正常把i++放在for的括号里。

    (二)Set如何实现遍历删除

    Set以HashSet为例,注意:Set一般只能用迭代器来遍历

          HashSet<String> a1 = new HashSet<String>();
                a1.add("Tom");
                a1.add("Tom");
                a1.add("Jerry");
                a1.add("John");
                a1.add("Andy");
    
                Iterator<String> it = a1.iterator();  
                while (it.hasNext()) {  
                String str = it.next();  
                if(str.equals("Tom")) {
        	      it.remove();
             }
          }    

    这就是Set的遍历删除方式

    (三)Map如何实现遍历删除

    Map以HashMap为例来说明其遍历删除。

    HashMap<String, String> h1 = new HashMap<String,String>();
            h1.put("Tom", "one");
    	h1.put("Jerry", "two");
    	h1.put("John", "three");
    	h1.put("Andy", "four");
    
    	Iterator<Entry<String, String>> it = h1.entrySet().iterator();
    	while(it.hasNext()) {
    		Entry<String, String> next = it.next();
            //此处为删除特定的key
    		if(next.getKey().equals("Tom")) {
    			it.remove();
    		}
            //此处为删除特定的value
            if(next.getValue().equals("two")) {
    			it.remove();
    		}
    	}
    	//遍历HashMap
    	for (Entry<String, String> string : h1.entrySet()) {
    		System.out.println(string.getKey());
    	}

    小伙伴们自己运行下,就可以发现特定的key和value都删除成功了。

    好了,所有的内容就到这里了,希望能对大家有所帮助。

    展开全文
  • <script language="javascript"> var str="asdfk,asdf345345,345345"; //替换除数字与逗号以外的所有字符。...//去掉第一逗号 if (str.substr(0,1)==',') str=str.substr(1); //去掉最后一...
  • String s = “xxxx”;...//符号集合 注意一些符号的转义 Pattern p = Pattern.compile("[*!@#$\&]"); Matcher m = p.matcher(s); boolean match = m.find(); 如果match为true 则表示包含符号集合中的字符或符号
  • 集合

    千次阅读 多人点赞 2019-04-28 20:25:50
    集合1 集合概念2 集合特点3 集合的功能4 集合的遍历5 1 集合概念 2 集合特点 3 集合的功能 集合的增删查包含 集合的增加 void add(); //添加一元素 void addAll();//相当于把两个集合合并成一个集合 集合的删除 ...
  • package single01; import java.util.ArrayList; import java.util.Iterator; import java.util.List;... //创建List集合,泛型为字符串,并为它添加元素 List<String> list=new ArrayList&
  • org.apache.commons.lang3.StringUtils.join(list, ",") Joiner.on(",").join(list); 
  • LaTeX 各种命令,符号

    万次阅读 多人点赞 2016-06-12 15:27:42
    函数、符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} latex数学符号表(2)" style="border:none; max-width:100%"> \acute{\eta} latex数学符号表(2)" style="border:none; max...
  • 代码: public class Test { public static void main(String[] args) { // 测试数据 List<String> list = Arrays.asList("1", "2", "3"); String[] array = (String[]) list.toArray();...
  • 数学:集合

    2020-08-28 00:39:09
    集合1、集合的定义2、集合特性3、数集合点集数集点集4、 集合之间的包含关系 1、集合的定义 具有某一特定属性的,确定的,有区别的事物...2、某个特定的时间点上,某个城市的所有树木的种类也是一个集合(满足集合
  • python—实战日志文件中查找特定字段 在服务器上新建以下文件:root@kali:~/python/laowangpy# ls idsearch.py logid.txt id.txt memid.txt result.txt root@kali:~/python/laowangpy# root@kali:~/python/...
  • 实现这功能一定要有调试符号的支持,因为调试符号记录了每变量的名称,类型,地址,长度等信息。这不是一件轻松的事情,因为你首先要对符号模型有一定的了解。所以本文的主要目的就是介绍DbgHelp中的符号模型。 ...
  • 【问题描述】编写一Book类,该类至少...【输入形式】每一行输入一Book类的对象,名字和价格之间用逗号分隔,集合类的输入结束符号是#,然后输入一新的Book类对象。 【输出形式】 显示查找结果,如果找到了,就显
  • Python 集合set

    万次阅读 2015-09-03 22:30:49
    类似于其他语言,集合是一无序不重复元素集,包括创建集合set、向集合中添加元素、删除集合中的元素、求集合的交集、并集、差集等操作。下面就让我们一一来学习集合的这些知识吧。1、set创建集合set集合类需要的...
  • 符号执行相关

    千次阅读 2019-07-02 21:00:58
    使用符号执行分析一程序时,该程序会使用符号值作为输入,而非一般执行程序时使用的具体值。在达到目标代码时,分析器可以得到相应的路径约束,然后通过约束求解器来得到可以触发目标代码的具体值。 符号模拟技术...
  • Java集合面试总结

    万次阅读 多人点赞 2017-10-28 22:01:38
    ★★★★★集合框架:用于存储数据的容器。 特点: 1:对象封装数据,对象多了也需要存储。集合用于存储对象。 2:对象的个数确定可以使用数组,但是不确定...3:数组存储的元素必须是同一数据类型;集合...
  • 常用数学符号大全、关系代数符号

    万次阅读 2018-09-26 15:39:39
    常用数学符号大全、关系代数符号 1、几何符号  ⊥ ∥ ∠ ⌒ ⊙ ≡ ≌ △  2、代数符号  ∝ ∧ ∨ ~ ∫ ≠ ≤ ≥ ≈ ∞ ∶  3、运算符号  如加号(+),减号(-),乘号(×或·),除号(÷或/),两...
  • Latex各种命令、符号、公式、数学符号、排版等

    万次阅读 多人点赞 2017-12-01 10:56:03
    本文仅供学习参考使用,一切版权和解释权均归原作者所有,转载地址:...数学符号详细内容见:http://mohu.org/info/symbols/symbols.htm 直接查看链接  http://www.mo
  • 基本逻辑符号与数学符号列表

    万次阅读 多人点赞 2019-02-27 19:39:41
    符号 名字 解说 例子 读作 范畴 → 或 ⇒ 蕴含 implies/conditional/ A → B 意味着如果 A 为真,则 B 也为真;如果 A 为假,则对 B 没有任何影响 x=2x=2x=2 → x2=4x^2 =4x2=4为真,但 x2x^2x2 = 4 → x=2$一般...
  • **集合:**由指定范围内的满足给定条件的所有对象聚集在一起构成,每对象成为集合的元素 **常用集合:**自然数集合N,整数集合Z,有理数集合Q,实数集合R **集合表示方法:**枚举法,叙述法,文氏图法 **基数:**...
  • 一般的,所谓集合(简称集)是指具有某种特定性质的事物的总体,组成这个集合的事物称为该集合的元素(简称元)。通常用大写拉丁字母A,B,C,…表示集合,用小写拉丁字母a,b,c,…表示集合的元素。 3.有限集与无限集 ...
  • 表情符号都具有被动或主动能力,可以在每游戏过程中或游戏结束时使用。 能力是可以升级的。 您可以与朋友或互联网上的其他玩家一起玩这些游戏。 在玩游戏时,您会赢得很多宝石。 赢得宝石后,您可以购买新...
  • 本文介绍了机器学习中的基本数学符号。具体来说有算数符号,包括各种乘法、指数、平方根以及对数;数列和集合符号,包括索引、累加以及集合关系。此外,本文还给出了 5 当你在理...
  • 函数、符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} \acute{\eta} \check{\alpha} \grave{\eta} \breve{a} \ddot{y} \dot{x} \hat{\alpha} \t...
  • 深入理解ES6--6.符号符号属性

    千次阅读 2018-05-07 19:08:00
    主要知识点:创建符号值、使用符号值、共享符号值、符号值转换。检索符号值属性以及知名符号 1. Symbol基础 1.1 创建符号值 在 JS 已有的基本类型(字符串、数值、布尔类型、 null 与 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 119,633
精华内容 47,853
关键字:

五个特定的集合的符号