一、数据
一、数据理解
1.排列
2.维度
对数据的行列进行了解,把握所需的算法训练
print(data.shape)
3.数据的属性和类型
了解数据类型
print(data.dtypes)
4.描述性统计
从多个角度了解数据描述数据的分布
set_option(‘display.width’,100)
set_option(‘precision’, 4) #设置精度
print(data.describe())
5.数据属性的相关性
皮尔逊相关系数 用于度量变量之间相关程度,介于-1—1间,0表示无关。
关联性高时,linear、逻辑回归算法性能低。
set_option(‘display.width’,100)
set_option(‘precision’, 2)
print(data.corr(method=‘pearson’)
6.数据分布分析
利用高斯分布来处理数据,表现其偏差值
print(data.skew())
二、数据预处理
对所得到的的数据进行处理转换。格式化数据,调整数据的尺度。
正态化数据有效处理符合高斯分布的数据,对于少量数据的处理较为方便,而且适用k近邻算法(感觉就是把数据按一个标准处理运算然后按数值分布后进行分析使用)
二值数据,设置阈值,大于为1,小于为0,更加明确
(有明确目标属性使用,非1则0,适合分类、判断?)
二、算法
1.空间复杂度
常量空间:O(1)
线性空间:O(n)
二维空间:O(n2) 二维数组集合,长宽都与输入n为正比
递归空间:O(n) 递归深度为n,纯粹的操作也是线性
2.树
二叉树
- 二叉树从根开始分别有两个子节,满二叉树每一个都是齐的,所有叶子节点都在同一级,完全二叉树:只要和满二叉树一一对应,齐不齐都行。
二叉树 适合用链式储存结构和数组表达。
链式用左右指针表示左右子叉,数组按顺序排列然后把没有的空出来。
二叉树适用于查找,类似二分查找;也可以排序但是不平衡,需要自平衡处理。 - 二叉树遍历
前序遍历:从1.2.3开始往下,无子节则返回向右遍历,如此反复。
中序遍历:从子节点开始,往下有则进无则换,按此输出
广度优先遍历:选择子项多的先遍历