常用数据分析库:
- 数据:pandas,numpy,scipy
- 可视化:matplotlib,seaborn
1.数据读取
- pandas:
read_csv,read_table,read_json… - numpy:
loadtxt,genfromtxt - scipy:
loadmat
2.数据总览
- describe()
每列统计量:个数count、平均值mean、方差std、最小值min、中位数25% 50% 75% 、以及最大值max - info()
每列数据总量、空值以及数据类型type
3.数据缺失与异常
isnull():判断是否为空
sum():累加
4.预测值分布
seaborn
- displot
参数设置:
bins:设置举行图数量
hist:控制显示条形图
kde:控制显示核密度估计图
rug:控制显示观测的小细条
fit:控制拟合的参数分布图形
1)总体分布
更改fit的参数绘制不同的分布曲线:
三种分布拟合
显而易见,误解约翰逊分布拟合得最好。
2)偏度(Skewness)和峰度(Kurtosis)
一般与正态分布作比较,正太分布的偏度与峰度均看成0。
- 偏度(Skewness):对称性
由三阶中心矩计算而来 - 峰度(Kurtosis):尖锐程度
由四阶标准矩计算而来
5.特征分析
首先将标签分离出来,在这次比赛中是价格:
Y_train = Train_data['price']
数字特征
数值有大小可比较无特殊含义即为数字特征
1)相关性分析
计算相关系数:corr()
2)查看某些特征的偏度与峰值
偏度:skew()
峰值:kurt()
3)每个特征分布可视化
4)特征间关系可视化
数字特征相互关系5)多变量互相回归关系可视化
多变量回归关系类别特征
若为数值,该数值不可比较且代表一种含义即为类别特征
1)unique分布
nunique()
发现name和regionCode类别分别为99662和7905,分布过于稀疏。
2)箱型图可视化
箱型图是boxplot,先把不稀疏的几类画出来:
箱型图也是大概看一个数量分布:箱子中间一杠代表中位数,两边分别表示上下四分位数。顶端两杠代表最大值和最小值。散落在外的点为异常值。
3)小提琴图可视化
小提琴图是violinplot,用于显示数据分布及其概率密度:
小提琴图是箱型图和密度图特征的结合:
中间黑色粗条部分就是箱型图的特征:表示四分位数范围,白点为中位数
形似小提琴的外缘部分则是密度图的特征:图宽表示频率,黑条延伸的细线表示95%置信区间
4)柱形图可视化
柱形图是barplot
5)各类别频数可视化
频数可视化:countplot
6.数据报告
用pandas_profiling生成一个较为全面的可视化和数据报告(较为简单、方便) 最终打开html文件即可:
import pandas_profiling
pfr = pandas_profiling.ProfileReport(Train_data)
pfr.to_file("./example.html")
网友评论