numpy
- reshape()改变数组的行列
- flatten()讲多维数组转化为1维
- shape()查看行列数
- np.round()保留数组里数的小数点
- 数组的计算:支持四则运算(对应位置数组进行计算)
- axis对数组的维度进行区分
- 二维与三维数组进行计算:当三维axis的1和2与二位数组axis的0和1相同时,可以进行加和等运算
- astype()转化浮点类型
- 替换数组里的值
- demo:将大于10的数变作10 t2[t2>10] = 10
- np.where()三元运算符进行操作
- clip()裁剪操作
- 数组的拼接
- vstack()竖直拼接:添加列表
- hstack()水平拼接:在列表里添加数
- 行交换: t[[1,2],:] = t[[2,1],:]
- 列交换: t[:,[1,2]] = t[:,[2,1]]
- 随机 np.random
- seed()随机种子
- randint()创建随机数
- copy()深拷贝
- 切片和索引
- t[:]
- 布尔索引
- nan:不是一个数字
- inf:无穷
- 常用的统计函数
- t.sum()
- t.ptp()极差
- t.std()标准差
- plt.scatter()绘制散点图
投资于未来时艰苦而收益颇丰的
-
数据科学的工作范式
-
不平衡数据分类处理
- 对于排序模型:建议使用小数据,需要对不平衡数据进行抽样
- 对于决策模型:建议使用大数据
- 原因:
- 排序模型需要的是排序的能力,使用超额抽样等手段更容易获得稳定的排序能力
- 决策模型需要对样本做精确区分,而抽样操作后的模型在全量样本上的表现差别较大,因此不建议使用小数据
- 上述只是理论,据经验可知:发现足够多的样本,比如稀有样本的数量至少达到1000个才是硬道理,这时候采用随机欠抽样法处理即可。其他方法,适用法难以确定。
-
时间序列
- 效应分解法
- ARMA模型:
- 自相关函数
- 是一个信号于其自身在不同时间点的互相关
- 非正式地来说,它就是两次观察之间的相似度对它们之间的时间差的函数
- 偏自相关函数
- 自相关函数
- ARIMA模型
- 商业时间序列预测流程
- 1.绘制时间序列图形
- 2.判断是否为季节性
- 如果季节性,判断振幅是否扩大趋势,如有则对其取对数
- AIC判断参数
- 3.建模
- 4.残差检测
- 5.预测
- 如果时季节性的记得对数值取自然指数
- 商业时间序列预测流程