EDA——数据探索性分析,是通过了解数据集的基本情况、变量间的相互关系以及变量与预测值之间的关系,为后期特征工程和建立模型做铺垫。本文以智慧海洋建设竞赛为例进行演示。
1. 总体了解数据
1.1 查看样本个数和原始特征维度
1 | data_train.shape |
1 | data_test.shape |
1 | data_train.columns #查看列名 |
1 | pd.set_option('display.max_info_rows',2699639) #提高非缺失值检查的行数上线 |
1 | #查看count 非空值数、std 标准差、(25%、50%、75%)分位数等基本情况 |
1.2 查看缺失值和唯一值等
1 | data_train.isnull().any() #查看缺失值 |
1 | #查看含有缺失值的列名 |
1 | #查看仅有唯一值的特征 |
2. 查看数据特性和特征分布
2.1 渔船轨迹可视化
1 | # 从每个类别中随机抽取三个渔船的轨迹进行可视化 |
—————-图1——————
从图中可以发现,不同类别的轨迹有一定区分性.
刺网为规则多边形.
围网为包围的形状.
拖网为点到点,转弯次数少.
从轨迹数据可以猜测其特征可能为转弯的角度大小\转弯次数\起始点之间的距离和时间\经度和维度变化范围等.
此外,存在一些异常轨迹需要剔除.
3. 坐标序列可视化
1 | # 随机选取某条数据,观察x坐标序列和y坐标序列的变化情况 |
———-图2———–
由上图可知,存在同一时间段内x\y坐标均未变化,说明可能该时段内渔船正停留在某处.
4.三类渔船速度和方向可视化
1 | # 每类轨迹,随机选取某个渔船,可视化速度序列和方向序列 |
————图3—————-
由上图可知,不同分类渔船的轨迹速度某些时段均存在连续的低值情况,说明可能存在某些海上停留点;不同类别渔船的方向变化都很大,可能是海上漂泊导致,作为特征对于类别的区分度低,但也存在方向变化不大的时段,强化了对停留点存在的判断.
5.三类渔船速度和方向的数据分布
1 | # 对某一特征进行数据统计 |
1 | # 分别得到速度和方向的分布数据 |
1 | # 可视化速度和方向的数据分布 |
———–图4———————
由上图可知,三种类别渔船的速度分布差异较大,而刺网和围网方向分布差异不明显,拖网方向分布有差异.