数据降维技术——PCA(主成分分析)

     为什么要对数据进行降维?

    在机器学习或者数据挖掘中,我们往往会get到大量的数据源,这些数据源往往有很多维度来表示它的属性,但是我们在实际处理中只需要其中的几个主要的属性,而其他的属性或被当成噪声处理掉。比如,13*11的源数据经过将为后变成了13*4的优化数据,那么,中间就减去了7个不必要的属性,选取了4个主要属性成分,简化了计算。

    常用的数据降维方法有:主成分分析、因子分析、独立成分分析。本文仅介绍主成分分析方法。

    主成分分析PCA,Principal Component Analysis),其中的数学原理可参考360图书馆http://www.360doc.com/content/13/1124/02/9482_331688889.shtml

    优点:

    降低数据的复杂性,识别最重要的多个特征。

    缺点:

    不一定需要,且可能损失有用的信息。

    适用类型:

    数值型数据。

    木羊根据自己的学习与理解总结出的PCA步骤:

  1.  获取n行m列原始数据,写成n*m的矩阵形式;
  2. 数据中心化。即把每个属性的均值处理设为0(下面木羊将给出自己编写的源代码,木羊的数据用列代表属性,在该步骤中,就把每列的均值都设置为0)。
  3. 根据中心化后的矩阵求协方差矩阵。协方差有三种值,0表示属性之间相互独立,没有影响;正值表示属性是正相关的关系,若属性A和属性B是正相关关系,则A增加B也增加,A减小B也减小;负值表示属性是负相关的关系,若属性C和属性D是负相关关系,则C增加D减小,C减小D增加。所以,协方差矩阵也可以理解为相关系数矩阵,表示属性间的相关程度。
  4. 根据协方差矩阵求特征值矩阵。特征值矩阵只有对角线上的元素有值,上三角和下三角元素都为0.
  5. 根据特征值矩阵求对应的特征向量。
  6. 对特征值矩阵进行排序,并设定一个阈值,若前i个特征矩阵的和>=设定的阈值,则就有i个主成分,取其对应的特征向量,定为主成分向量矩阵。
  7. 原始矩阵乘以转置后的主成分向量即得降维后的矩阵。比如,原始数据是150*4的矩阵,在步骤6中取得了2个主成分,那么主成分矩阵就是2*4的矩阵。150*4的矩阵乘以4*2的矩阵,即得150*2的矩阵,体现了降维效果。(选取这个属性较少的数据集是为了方便初学者的理解,在实际工程中,我们的属性值往往不止4个,但降维方法都一样的。)
    下面是木羊根据机器学习中鸢尾花iris数据(该数据集的获取请参照木羊前面的博文)写的java程序,程序附件请在博文最后的链接下载。介绍一些代码思路:

  1.     DBConnection.java和SelectData.java 实现了从数据库中读取数据存到二维数组中,详细操作可参照上一篇博文http://blog.csdn.net/u013159040/article/details/45605637。
  2.   PCA.java是具体实现的PCA降维算法。其中用到的第三方的矩阵包jama.jar,下载链接及API参考文档请移步http://download.csdn.net/detail/u013159040/8691187。用到的数据结构有:二维数组、HashMap、TreeMap等,HashMap的key存特征值,value存对应的特征向量,方便索引。TreeMap是排好序的map,方便找主成分。详情请参照木羊的工程代码http://download.csdn.net/detail/u013159040/8691503,如有疑问,欢迎留言互相探讨。下面给出该程序的运行结果:
--------------------------------------------
原始数据: 
150行,4列
5.1 	3.5 	1.4 	0.2 	
4.9 	3.0 	1.4 	0.2 	
4.7 	3.2 	1.3 	0.2 	
4.6 	3.1 	1.5 	0.2 	
5.0 	3.6 	1.4 	0.2 	
5.4 	3.9 	1.7 	0.4 	
4.6 	3.4 	1.4 	0.3 	
5.0 	3.4 	1.5 	0.2 	
4.4 	2.9 	1.4 	0.2 	
4.9 	3.1 	1.5 	0.1 	
5.4 	3.7 	1.5 	0.2 	
4.8 	3.4 	1.6 	0.2 	
4.8 	3.0 	1.4 	0.1 	
4.3 	3.0 	1.1 	0.1 	
5.8 	4.0 	1.2 	0.2 	
5.7 	4.4 	1.5 	0.4 	
5.4 	3.9 	1.3 	0.4 	
5.1 	3.5 	1.4 	0.3 	
5.7 	3.8 	1.7 	0.3 	
5.1 	3.8 	1.5 	0.3 	
5.4 	3.4 	1.7 	0.2 	
5.1 	3.7 	1.5 	0.4 	
4.6 	3.6 	1.0 	0.2 	
5.1 	3.3 	1.7 	0.5 	
4.8 	3.4 	1.9 	0.2 	
5.0 	3.0 	1.6 	0.2 	
5.0 	3.4 	1.6 	0.4 	
5.2 	3.5 	1.5 	0.2 	
5.2 	3.4 	1.4 	0.2 	
4.7 	3.2 	1.6 	0.2 	
4.8 	3.1 	1.6 	0.2 	
5.4 	3.4 	1.5 	0.4 	
5.2 	4.1 	1.5 	0.1 	
5.5 	4.2 	1.4 	0.2 	
4.9 	3.1 	1.5 	0.1 	
5.0 	3.2 	1.2 	0.2 	
5.5 	3.5 	1.3 	0.2 	
4.9 	3.1 	1.5 	0.1 	
4.4 	3.0 	1.3 	0.2 	
5.1 	3.4 	1.5 	0.2 	
5.0 	3.5 	1.3 	0.3 	
4.5 	2.3 	1.3 	0.3 	
4.4 	3.2 	1.3 	0.2 	
5.0 	3.5 	1.6 	0.6 	
5.1 	3.8 	1.9 	0.4 	
4.8 	3.0 	1.4 	0.3 	
5.1 	3.8 	1.6 	0.2 	
4.6 	3.2 	1.4 	0.2 	
5.3 	3.7 	1.5 	0.2 	
5.0 	3.3 	1.4 	0.2 	
7.0 	3.2 	4.7 	1.4 	
6.4 	3.2 	4.5 	1.5 	
6.9 	3.1 	4.9 	1.5 	
5.5 	2.3 	4.0 	1.3 	
6.5 	2.8 	4.6 	1.5 	
5.7 	2.8 	4.5 	1.3 	
6.3 	3.3 	4.7 	1.6 	
4.9 	2.4 	3.3 	1.0 	
6.6 	2.9 	4.6 	1.3 	
5.2 	2.7 	3.9 	1.4 	
5.0 	2.0 	3.5 	1.0 	
5.9 	3.0 	4.2 	1.5 	
6.0 	2.2 	4.0 	1.0 	
6.1 	2.9 	4.7 	1.4 	
5.6 	2.9 	3.6 	1.3 	
6.7 	3.1 	4.4 	1.4 	
5.6 	3.0 	4.5 	1.5 	
5.8 	2.7 	4.1 	1.0 	
6.2 	2.2 	4.5 	1.5 	
5.6 	2.5 	3.9 	1.1 	
5.9 	3.2 	4.8 	1.8 	
6.1 	2.8 	4.0 	1.3 	
6.3 	2.5 	4.9 	1.5 	
6.1 	2.8 	4.7 	1.2 	
6.4 	2.9 	4.3 	1.3 	
6.6 	3.0 	4.4 	1.4 	
6.8 	2.8 	4.8 	1.4 	
6.7 	3.0 	5.0 	1.7 	
6.0 	2.9 	4.5 	1.5 	
5.7 	2.6 	3.5 	1.0 	
5.5 	2.4 	3.8 	1.1 	
5.5 	2.4 	3.7 	1.0 	
5.8 	2.7 	3.9 	1.2 	
6.0 	2.7 	5.1 	1.6 	
5.4 	3.0 	4.5 	1.5 	
6.0 	3.4 	4.5 	1.6 	
6.7 	3.1 	4.7 	1.5 	
6.3 	2.3 	4.4 	1.3 	
5.6 	3.0 	4.1 	1.3 	
5.5 	2.5 	4.0 	1.3 	
5.5 	2.6 	4.4 	1.2 	
6.1 	3.0 	4.6 	1.4 	
5.8 	2.6 	4.0 	1.2 	
5.0 	2.3 	3.3 	1.0 	
5.6 	2.7 	4.2 	1.3 	
5.7 	3.0 	4.2 	1.2 	
5.7 	2.9 	4.2 	1.3 	
6.2 	2.9 	4.3 	1.3 	
5.1 	2.5 	3.0 	1.1 	
5.7 	2.8 	4.1 	1.3 	
6.3 	3.3 	6.0 	2.5 	
5.8 	2.7 	5.1 	1.9 	
7.1 	3.0 	5.9 	2.1 	
6.3 	2.9 	5.6 	1.8 	
6.5 	3.0 	5.8 	2.2 	
7.6 	3.0 	6.6 	2.1 	
4.9 	2.5 	4.5 	1.7 	
7.3 	2.9 	6.3 	1.8 	
6.7 	2.5 	5.8 	1.8 	
7.2 	3.6 	6.1 	2.5 	
6.5 	3.2 	5.1 	2.0 	
6.4 	2.7 	5.3 	1.9 	
6.8 	3.0 	5.5 	2.1 	
5.7 	2.5 	5.0 	2.0 	
5.8 	2.8 	5.1 	2.4 	
6.4 	3.2 	5.3 	2.3 	
6.5 	3.0 	5.5 	1.8 	
7.7 	3.8 	6.7 	2.2 	
7.7 	2.6 	6.9 	2.3 	
6.0 	2.2 	5.0 	1.5 	
6.9 	3.2 	5.7 	2.3 	
5.6 	2.8 	4.9 	2.0 	
7.7 	2.8 	6.7 	2.0 	
6.3 	2.7 	4.9 	1.8 	
6.7 	3.3 	5.7 	2.1 	
7.2 	3.2 	6.0 	1.8 	
6.2 	2.8 	4.8 	1.8 	
6.1 	3.0 	4.9 	1.8 	
6.4 	2.8 	5.6 	2.1 	
7.2 	3.0 	5.8 	1.6 	
7.4 	2.8 	6.1 	1.9 	
7.9 	3.8 	6.4 	2.0 	
6.4 	2.8 	5.6 	2.2 	
6.3 	2.8 	5.1 	1.5 	
6.1 	2.6 	5.6 	1.4 	
7.7 	3.0 	6.1 	2.3 	
6.3 	3.4 	5.6 	2.4 	
6.4 	3.1 	5.5 	1.8 	
6.0 	3.0 	4.8 	1.8 	
6.9 	3.1 	5.4 	2.1 	
6.7 	3.1 	5.6 	2.4 	
6.9 	3.1 	5.1 	2.3 	
5.8 	2.7 	5.1 	1.9 	
6.8 	3.2 	5.9 	2.3 	
6.7 	3.3 	5.7 	2.5 	
6.7 	3.0 	5.2 	2.3 	
6.3 	2.5 	5.0 	1.9 	
6.5 	3.0 	5.2 	2.0 	
6.2 	3.4 	5.4 	2.3 	
5.9 	3.0 	5.1 	1.8 	
--------------------------------------------
均值0化后的数据: 
150行,4列
-0.74333334 	0.446 	-2.3586667 	-0.99866664 	
-0.9433333 	-0.054 	-2.3586667 	-0.99866664 	
-1.1433333 	0.146 	-2.4586666 	-0.99866664 	
-1.2433333 	0.046 	-2.2586668 	-0.99866664 	
-0.8433333 	0.546 	-2.3586667 	-0.99866664 	
-0.44333333 	0.846 	-2.0586667 	-0.79866666 	
-1.2433333 	0.346 	-2.3586667 	-0.8986667 	
-0.8433333 	0.346 	-2.2586668 	-0.99866664 	
-1.4433334 	-0.154 	-2.3586667 	-0.99866664 	
-0.9433333 	0.046 	-2.2586668 	-1.0986667 	
-0.44333333 	0.646 	-2.2586668 	-0.99866664 	
-1.0433333 	0.346 	-2.1586666 	-0.99866664 	
-1.0433333 	-0.054 	-2.3586667 	-1.0986667 	
-1.5433333 	-0.054 	-2.6586666 	-1.0986667 	
-0.043333333 	0.946 	-2.5586667 	-0.99866664 	
-0.14333333 	1.346 	-2.2586668 	-0.79866666 	
-0.44333333 	0.846 	-2.4586666 	-0.79866666 	
-0.74333334 	0.446 	-2.3586667 	-0.8986667 	
-0.14333333 	0.746 	-2.0586667 	-0.8986667 	
-0.74333334 	0.746 	-2.2586668 	-0.8986667 	
-0.44333333 	0.346 	-2.0586667 	-0.99866664 	
-0.74333334 	0.646 	-2.2586668 	-0.79866666 	
-1.2433333 	0.546 	-2.7586668 	-0.99866664 	
-0.74333334 	0.246 	-2.0586667 	-0.6986667 	
-1.0433333 	0.346 	-1.8586667 	-0.99866664 	
-0.8433333 	-0.054 	-2.1586666 	-0.99866664 	
-0.8433333 	0.346 	-2.1586666 	-0.79866666 	
-0.6433333 	0.446 	-2.2586668 	-0.99866664 	
-0.6433333 	0.346 	-2.3586667 	-0.99866664 	
-1.1433333 	0.146 	-2.1586666 	-0.99866664 	
-1.0433333 	0.046 	-2.1586666 	-0.99866664 	
-0.44333333 	0.346 	-2.2586668 	-0.79866666 	
-0.6433333 	1.046 	-2.2586668 	-1.0986667 	
-0.34333333 	1.146 	-2.3586667 	-0.99866664 	
-0.9433333 	0.046 	-2.2586668 	-1.0986667 	
-0.8433333 	0.146 	-2.5586667 	-0.99866664 	
-0.34333333 	0.446 	-2.4586666 	-0.99866664 	
-0.9433333 	0.046 	-2.2586668 	-1.0986667 	
-1.4433334 	-0.054 	-2.4586666 	-0.99866664 	
-0.74333334 	0.346 	-2.2586668 	-0.99866664 	
-0.8433333 	0.446 	-2.4586666 	-0.8986667 	
-1.3433334 	-0.754 	-2.4586666 	-0.8986667 	
-1.4433334 	0.146 	-2.4586666 	-0.99866664 	
-0.8433333 	0.446 	-2.1586666 	-0.59866667 	
-0.74333334 	0.746 	-1.8586667 	-0.79866666 	
-1.0433333 	-0.054 	-2.3586667 	-0.8986667 	
-0.74333334 	0.746 	-2.1586666 	-0.99866664 	
-1.2433333 	0.146 	-2.3586667 	-0.99866664 	
-0.54333335 	0.646 	-2.2586668 	-0.99866664 	
-0.8433333 	0.246 	-2.3586667 	-0.99866664 	
1.1566666 	0.146 	0.94133335 	0.20133333 	
0.5566667 	0.146 	0.7413333 	0.30133334 	
1.0566666 	0.046 	1.1413333 	0.30133334 	
-0.34333333 	-0.754 	0.24133334 	0.101333335 	
0.6566667 	-0.254 	0.8413333 	0.30133334 	
-0.14333333 	-0.254 	0.7413333 	0.101333335 	
0.45666668 	0.246 	0.94133335 	0.40133333 	
-0.9433333 	-0.654 	-0.45866665 	-0.19866666 	
0.75666666 	-0.154 	0.8413333 	0.101333335 	
-0.6433333 	-0.354 	0.14133333 	0.20133333 	
-0.8433333 	-1.054 	-0.25866666 	-0.19866666 	
0.05666667 	-0.054 	0.44133332 	0.30133334 	
0.15666667 	-0.854 	0.24133334 	-0.19866666 	
0.25666666 	-0.154 	0.94133335 	0.20133333 	
-0.24333334 	-0.154 	-0.15866667 	0.101333335 	
0.8566667 	0.046 	0.64133334 	0.20133333 	
-0.24333334 	-0.054 	0.7413333 	0.30133334 	
-0.043333333 	-0.354 	0.34133333 	-0.19866666 	
0.35666665 	-0.854 	0.7413333 	0.30133334 	
-0.24333334 	-0.554 	0.14133333 	-0.09866667 	
0.05666667 	0.146 	1.0413333 	0.6013333 	
0.25666666 	-0.254 	0.24133334 	0.101333335 	
0.45666668 	-0.554 	1.1413333 	0.30133334 	
0.25666666 	-0.254 	0.94133335 	0.0013333333 	
0.5566667 	-0.154 	0.5413333 	0.101333335 	
0.75666666 	-0.054 	0.64133334 	0.20133333 	
0.95666665 	-0.254 	1.0413333 	0.20133333 	
0.8566667 	-0.054 	1.2413334 	0.50133336 	
0.15666667 	-0.154 	0.7413333 	0.30133334 	
-0.14333333 	-0.454 	-0.25866666 	-0.19866666 	
-0.34333333 	-0.654 	0.041333333 	-0.09866667 	
-0.34333333 	-0.654 	-0.058666665 	-0.19866666 	
-0.043333333 	-0.354 	0.14133333 	0.0013333333 	
0.15666667 	-0.354 	1.3413334 	0.40133333 	
-0.44333333 	-0.054 	0.7413333 	0.30133334 	
0.15666667 	0.346 	0.7413333 	0.40133333 	
0.8566667 	0.046 	0.94133335 	0.30133334 	
0.45666668 	-0.754 	0.64133334 	0.101333335 	
-0.24333334 	-0.054 	0.34133333 	0.101333335 	
-0.34333333 	-0.554 	0.24133334 	0.101333335 	
-0.34333333 	-0.454 	0.64133334 	0.0013333333 	
0.25666666 	-0.054 	0.8413333 	0.20133333 	
-0.043333333 	-0.454 	0.24133334 	0.0013333333 	
-0.8433333 	-0.754 	-0.45866665 	-0.19866666 	
-0.24333334 	-0.354 	0.44133332 	0.101333335 	
-0.14333333 	-0.054 	0.44133332 	0.0013333333 	
-0.14333333 	-0.154 	0.44133332 	0.101333335 	
0.35666665 	-0.154 	0.5413333 	0.101333335 	
-0.74333334 	-0.554 	-0.7586667 	-0.09866667 	
-0.14333333 	-0.254 	0.34133333 	0.101333335 	
0.45666668 	0.246 	2.2413332 	1.3013333 	
-0.043333333 	-0.354 	1.3413334 	0.70133334 	
1.2566667 	-0.054 	2.1413333 	0.90133333 	
0.45666668 	-0.154 	1.8413334 	0.6013333 	
0.6566667 	-0.054 	2.0413334 	1.0013334 	
1.7566667 	-0.054 	2.8413334 	0.90133333 	
-0.9433333 	-0.554 	0.7413333 	0.50133336 	
1.4566667 	-0.154 	2.5413334 	0.6013333 	
0.8566667 	-0.554 	2.0413334 	0.6013333 	
1.3566667 	0.546 	2.3413334 	1.3013333 	
0.6566667 	0.146 	1.3413334 	0.8013333 	
0.5566667 	-0.354 	1.5413333 	0.70133334 	
0.95666665 	-0.054 	1.7413334 	0.90133333 	
-0.14333333 	-0.554 	1.2413334 	0.8013333 	
-0.043333333 	-0.254 	1.3413334 	1.2013333 	
0.5566667 	0.146 	1.5413333 	1.1013334 	
0.6566667 	-0.054 	1.7413334 	0.6013333 	
1.8566667 	0.746 	2.9413333 	1.0013334 	
1.8566667 	-0.454 	3.1413333 	1.1013334 	
0.15666667 	-0.854 	1.2413334 	0.30133334 	
1.0566666 	0.146 	1.9413333 	1.1013334 	
-0.24333334 	-0.254 	1.1413333 	0.8013333 	
1.8566667 	-0.254 	2.9413333 	0.8013333 	
0.45666668 	-0.354 	1.1413333 	0.6013333 	
0.8566667 	0.246 	1.9413333 	0.90133333 	
1.3566667 	0.146 	2.2413332 	0.6013333 	
0.35666665 	-0.254 	1.0413333 	0.6013333 	
0.25666666 	-0.054 	1.1413333 	0.6013333 	
0.5566667 	-0.254 	1.8413334 	0.90133333 	
1.3566667 	-0.054 	2.0413334 	0.40133333 	
1.5566666 	-0.254 	2.3413334 	0.70133334 	
2.0566666 	0.746 	2.6413333 	0.8013333 	
0.5566667 	-0.254 	1.8413334 	1.0013334 	
0.45666668 	-0.254 	1.3413334 	0.30133334 	
0.25666666 	-0.454 	1.8413334 	0.20133333 	
1.8566667 	-0.054 	2.3413334 	1.1013334 	
0.45666668 	0.346 	1.8413334 	1.2013333 	
0.5566667 	0.046 	1.7413334 	0.6013333 	
0.15666667 	-0.054 	1.0413333 	0.6013333 	
1.0566666 	0.046 	1.6413333 	0.90133333 	
0.8566667 	0.046 	1.8413334 	1.2013333 	
1.0566666 	0.046 	1.3413334 	1.1013334 	
-0.043333333 	-0.354 	1.3413334 	0.70133334 	
0.95666665 	0.146 	2.1413333 	1.1013334 	
0.8566667 	0.246 	1.9413333 	1.3013333 	
0.8566667 	-0.054 	1.4413333 	1.1013334 	
0.45666668 	-0.554 	1.2413334 	0.70133334 	
0.6566667 	-0.054 	1.4413333 	0.8013333 	
0.35666665 	0.346 	1.6413333 	1.1013334 	
0.05666667 	-0.054 	1.3413334 	0.6013333 	
---------------------------------------------
协方差矩阵: 
0.6856935	-0.039268456	1.2736824	0.5169038	
-0.039268456	0.18800403	-0.32171276	-0.11798121	
1.2736824	-0.32171276	3.1131794	1.2963874	
0.5169038	-0.11798121	1.2963874	0.5824143	
--------------------------------------------
特征值矩阵: 0.023683    0.000000    0.000000    0.0000000.000000    0.078524    0.000000    0.0000000.000000    0.000000    0.242244    0.0000000.000000    0.000000    0.000000    4.224841--------------------------------------------
特征向量矩阵: -0.32   -0.58   -0.66    0.360.32    0.60   -0.73   -0.080.48    0.07    0.18    0.86-0.75    0.55    0.07    0.36--------------------------------------------当前阈值: 0.95
取得的主成分数: 2主成分矩阵: 0.362  -0.082   0.857   0.359-0.657  -0.730   0.176   0.075--------------------------------------------
降维后的矩阵: 2.827  -5.6412.796  -5.1452.622  -5.1772.765  -5.0042.783  -5.6493.231  -6.0632.690  -5.2332.885  -5.4852.623  -4.7442.837  -5.2083.005  -5.9672.898  -5.3362.724  -5.0872.286  -4.8112.868  -6.5013.127  -6.6592.889  -6.1332.863  -5.6343.312  -6.1942.924  -5.8353.201  -5.7132.968  -5.7552.295  -5.4563.208  -5.4203.155  -5.2843.003  -5.1763.042  -5.4532.949  -5.6892.872  -5.6342.878  -5.1252.923  -5.1173.101  -5.7332.864  -6.1352.914  -6.4152.837  -5.2082.644  -5.3922.886  -5.9222.837  -5.2082.530  -4.8342.921  -5.5512.741  -5.5862.659  -4.3822.513  -4.9803.106  -5.5113.303  -5.7572.796  -5.0722.974  -5.8252.671  -5.0942.969  -5.9012.807  -5.4306.796  -6.0006.444  -5.6346.975  -5.8195.692  -4.4896.598  -5.3906.152  -4.8976.607  -5.5994.760  -4.3146.555  -5.5445.501  -4.5945.000  -4.0526.022  -5.2125.774  -4.7676.495  -5.1905.336  -5.0636.439  -5.7836.171  -4.9635.746  -4.9836.454  -4.7735.555  -4.7336.628  -5.2315.868  -5.2486.808  -4.9876.432  -5.1326.225  -5.4656.411  -5.6446.842  -5.5597.069  -5.5826.324  -5.1525.204  -4.9505.441  -4.6125.319  -4.6375.646  -5.0036.890  -4.8946.099  -4.8316.319  -5.5106.732  -5.7236.324  -4.9445.757  -5.0485.676  -4.6355.974  -4.6456.402  -5.2815.740  -4.9124.804  -4.3065.867  -4.8125.842  -5.1045.887  -5.0236.153  -5.3344.603  -4.5635.809  -4.9688.043  -5.3036.925  -4.7408.128  -5.6577.482  -5.1347.861  -5.2738.908  -5.8626.031  -4.1238.443  -5.6677.831  -5.0698.429  -6.0957.173  -5.5577.314  -5.0997.677  -5.5306.856  -4.5387.097  -4.7757.416  -5.4347.461  -5.3559.000  -6.4869.306  -5.5686.810  -4.5547.940  -5.6926.709  -4.7099.011  -5.7716.899  -5.1117.787  -5.6488.126  -5.8736.769  -5.1366.802  -5.1987.634  -5.1047.899  -5.7778.352  -5.6878.744  -6.6857.670  -5.0966.954  -5.1717.291  -4.8138.588  -6.0007.656  -5.4547.416  -5.3636.680  -5.1507.619  -5.6867.826  -5.4977.434  -5.7246.925  -4.7408.075  -5.5917.931  -5.6187.455  -5.5027.037  -4.9407.275  -5.3937.413  -5.4316.901  -5.032

————————————————————————————————————————————————————————

写博经验尚浅,请各位多多指教。转载请注明出处。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

保驾护航金三银四,使用指南

前言 作为一个程序员,当然总是期望自己的代码能「一次编写,四处运行」,但真实经验往往是「一处修改,百处填坑」,依赖落后了好几个版本了想要升级、老代码已经看着很不爽了打算重构,都需要下坚决的决心&…

社交网络初探——链路预测

社交网络可以用来描述现实社会中的实际网络,它包括人与人之间的社会关系,物种之间的捕食关系,科学研究中的合作关系等。大量研究已经表明在真实世界中各种不同社交网络具有许多共同的结构特征,例如小世界性质、无标度性、社团结构…

保驾护航金三银四,内容太过真实

前言 正式学习前端大概 3 年多了,接触前端大概 4 年了,很早就想整理这个书单了,因为常常会有朋友问,前端该如何学习,学习前端该看哪些书,我就讲讲我学习的道路中看的一些书,虽然整理的书不多&a…

决策树——ID3和C4.5

决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程…

保驾护航金三银四,分分钟搞定!

开头 Web前端开发基础知识学习路线分享,前端开发入门学习三大基础:HTML、CSS、JavaScript。除此之外还要学习数据可视化、Vue、React、Angular相关框架,熟练运用框架提升开发效率,提升稳定性。 [外链图片转存失败,源站可能有防盗…

数组的初始化及输出

二维数组可以不初始化列数(第二维)。 下面给出的例子是用两种不同的方式存储二维数组并输出: 1. 这是我们通俗易懂的二维数组存储方法: String[][] data new String[][] {{ "youth", "high", "no&quo…

保驾护航金三银四,吐血整理

前言 又逢金三银四,拿到大厂的offer一直是程序员朋友的一个目标,我是如何拿到大厂offer的呢,今天给大家分享我拿到大厂offer的利器,前端核心知识面试宝典,内容囊括Html、CSS、Javascript、Vue、HTTP、浏览器面试题\数…

Ajax知识笔记——入门,同步和异步,XHR

Ajax全称:Asynchronous Javascript and XML ,异步的javascript和XML。 Ajax不是一种语言,是一种无需重新加载整个网页的情况下,能更新部分网页的技术。(与后台交互,实现局部更新,异步更新&…

保驾护航金三银四,含BATJM大厂

前言 跳槽,这在 IT 互联网圈是非常普遍的,也是让自己升职加薪,走上人生巅峰的重要方式。那么作为一个普通的Android程序猿,我们如何才能斩获大厂offer 呢? 疫情向好、面试在即,还在迷茫踌躇中的后浪们&…

保驾护航金三银四,妈妈再也不用担心我找工作了!

01 前言 2021是不平凡的一年,这一年里发生许多事情,大家也都知道。对于互联网行业来说也是一次重大的打击,也有一些企业在这次疫情中倒闭了,所以可能对于今年2021年毕业的同学来说是一次很大的考验,也关乎我们的前途。…

web开发者工具,118页Vue面试题总结,涨姿势!

逻辑运算符 JavaScript中有三个逻辑运算符,&&与、||或、!非。 JavaScript 中的逻辑运算符可用来确定变量或者是值之间的逻辑关系。通常用于布尔型值,会返回一个布尔值true 或 false。而 &&、|| 运算符能够使用非布尔值的操作数&#x…

2G、3G 和 4G

2G、3G 和 4G 区别形象比喻 版本1: 2G 看小说; 3G 看app、微博、新闻……; 4G 看苍井空、松岛枫…… 版本2: 2G 看「女教师.txt」 3G 看「女教师.jpg」 4G 看「女教师.avi」 版本3: 选自:365知识网 2G:打个…

web开发者工具,261页前端面试题宝典,通用流行框架大全

开头 Web前端开发基础知识学习路线分享,前端开发入门学习三大基础:HTML、CSS、JavaScript。除此之外还要学习数据可视化、Vue、React、Angular相关框架,熟练运用框架提升开发效率,提升稳定性。 [外链图片转存失败,源站可能有防盗…

jsp+js实现二级级联

本文实现学院-专业二级级联&#xff0c;同理可用到省份-城市&#xff0c;洲-国家等级联&#xff0c;即通过不同的首选择&#xff0c;自动找到属于第一选择的二次可选项。 test.jsp <% page language"java" contentType"text/html; charsetgb2312" impor…

web开发者工具,你必须知道的CSS盒模型,架构师必备!

前言 不要为了面试而去背题&#xff0c;匆匆忙忙的&#xff0c;不仅学不进去&#xff0c;背完了几天后马上会忘记。 你可能会说&#xff0c;“没办法&#xff0c;这不是为了能找份工作嘛&#xff01;”。我想说的是&#xff0c;“那你没开始找工作的时候&#xff0c;咋不好好…

web开发要学多久,HTML表格标签,薪资翻倍

前言 作为一个程序员&#xff0c;当然总是期望自己的代码能「一次编写&#xff0c;四处运行」&#xff0c;但真实经验往往是「一处修改&#xff0c;百处填坑」&#xff0c;依赖落后了好几个版本了想要升级、老代码已经看着很不爽了打算重构&#xff0c;都需要下坚决的决心&…

js含有特定文字不能跳转

<html> <head> <script type"text/javascript"> function checkUpload() { for(var i0;i<document.files.filename.length;i){ if(document.files.filename[i].value"未选择文件"){alert("请检查要上传的文件是否全部添加!"…

web开发课程培训,10大前端常用算法,学习路线+知识点梳理

标签语义化&#xff1a; 语义和默认样式的区别&#xff1a; 默认样式是浏览器设定的一些常用tag的表现形式&#xff1b;语义化的主要目的就是让大家直观的认识标签和属性的用途和作用&#xff1b; 标签语义化作用&#xff1a; 当只有HTML页面时&#xff0c;没有CSS&#xf…

web开发课程,CSS标准文档流与脱离文档流,已整理成文档

前言 年前准备换工作&#xff0c;总结了一波面试最频繁的面试问题跟大家交流。此文章是关于浏览器的常见问题&#xff0c;大概面试10家遇到6家提问类似问题&#xff08;主要是大厂和中厂&#xff09;。目前入职滴滴出行成都团队。 前端核心 1.JSONP的缺点 2.跨域&#xff08…

jQuery学习笔记(一)——基础选择器、过滤选择器、表单选择器

$()就是jQuery中的函数&#xff0c;它的功能是获得&#xff08;&#xff09;中指定的标签元素。如示例中$(“p”)会得到一组P标签元素,其中“p”表示CSS中的标签选择器。$()中的()不一定是指定元素&#xff0c;也可能是函数。 在jQuery中 $()方法等价于jQuery()方法,前者比较常…