大数据实验三

devtools/2024/12/25 0:02:36/

Python and anaconda

实验三数据预处理和轨迹聚类参考地址:

https://www.hifleet.com/wp/communities/data/hangyundashujujishukechengshiyanzhinanshujuyuchulijiguijijuleichixugengxinzhong#post-2212
https://www.hifleet.com/wp/communities/data/hangyundashujujishukechengshiyanzhinanshujuyuchulijiguijijuleichixugengxinzhong#post-2025

相关anaconda以及python环境配置

https://blog.csdn.net/hold_time/article/details/144631254?spm=1001.2014.3001.5501

1.Python环境配置

1.1下载anaconda,Pycharm

1.2Pycharm虚拟环境创建

在这里插入图片描述
在这里插入图片描述
到这里anaconda环境已经创建好了,并且能够在终端环境下进行conda。可以看到的是已经pycharm终端已经为anaconda环境了,python解释器也是默认到该虚拟环境下的python.exe解释器

1.3 conda基本操作

1.3.1 信息查看

conda info -e

在这里插入图片描述

1.3.2 下载源修改为清华源

修改镜像源为下图所示,不然下载速度很慢:
这个可以查看conda的镜像源

conda config --show channels

在这里插入图片描述
给conda添加国内镜像源

  conda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/proconda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/freeconda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2conda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/rconda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/mainconda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/condaconda config --add channels  forge/conda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels   https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

1.3.3 虚拟环境创建,开启,关闭

在base的conda虚拟环境中可以创建虚拟conda环境

conda create -n yolov11

这边也可以修改为指定位置创建
注意win11默认生成的虚拟环境在C:\Users\Admin.conda\envs
如果想要创建虚拟环境再指定的文件位置,使用以下命令,比如我想在D盘中的.conda/envs路径下创建虚拟环境

conda create --prefix=D:/.conda/envs/yolov11 python=3.9
或者
conda create --p D:/.conda/envs/yolov11 python=3.9

激活conda环境

conda activate D:/.conda/envs/yolov11

移除conda 环境

conda remove --p D:/.conda/envs/yolov11 --all

这是时候环境名就是这个路径D:/.conda/envs/yolov11

虚拟环境开启与关系

conda activate anaconda_env_foryolov11

在这里插入图片描述
虚拟环境关闭

conda deactivate

虚拟环境移除
移除conda 环境

conda remove yolov11

2.数据预处理

AIS数据,584,463行,涉及1000个不同航次下的298条船的轨迹数据,,除了表提供的动态字段,还包含voyage_id和length,
分别是航次编号和船舶长度
在这里插入图片描述
通过QGIS显示去噪前显示,通过QGIS进行Point to path,依照这个船舶的id,voyage_id进行连接成线,如下图所示
在这里插入图片描述
再Clean.py下面增加以下代码

if __name__ == "__main__":sample_ais_path="sample_ais_15.csv"sample_ais=pd.read_csv(sample_ais_path,usecols=["mmsi","updatetime","lon","lat","course","speed","length","voyage_id"])#print(sample_ais)sample_ais["updatetime"]=pd.to_datetime(sample_ais["updatetime"])#把ais中的updatetime列读取过来的数据转换成datatime格式preprocess_lst=[]#预处理为空for name,group in sample_ais.groupby("voyage_id"):#按照船舶的id进行分组排序#其中name是组的值,也就是voyage_id,group是书每组的数据帧group = group.reset_index(drop=True)#移除重复行group = group.drop_duplicates(subset=["lon","lat","course","speed"],keep="last").reset_index(drop=True)#速度speed明显异常的数据超过30标记为nangroup.loc[group[group["speed"] > 30].index, "speed"] = np.nan# group["speed"] = group.groupby("voyage_id")["speed"].transform(lambda x: x.fillna(method="ffill"))group["speed"] = group.groupby("voyage_id")["speed"].transform(lambda x: x.ffill())preprocess_lst.append(group)preprocess_ais=pd.concat(preprocess_lst).reset_index(drop=True)preprocess_ais.to_csv('preprocess_ais.csv', index=False)

处理后为584,139行

2.1 轨迹分段

在这里插入图片描述
分段前
在这里插入图片描述
分段后

在这里插入图片描述

2.2 去噪

去噪后

2.3 压缩

在这里插入图片描述

3.聚类

聚类族

"voyage_id" ||'_'||"label"

在这里插入图片描述

regexp_substr("group",'_([a-z]+)')

在这里插入图片描述
在这里插入图片描述
效果如图所示
在这里插入图片描述


http://www.ppmy.cn/devtools/145112.html

相关文章

Nginx负载均衡(upstream)

Nginx负载均衡(upstream) upstream 主要是配置均衡池和调度方法 proxy_pass 主要是配置代理服务器ip或服务器组的名字 upstream testTomcat{​​​​server 127.0.0.1:81 weight=1;​​​​server 127.0.0.1:82 weight=1;​​​​server 127.0.0.1:83 weight

实现服务器实时备份常用方案和方法

服务器的实时备份是确保数据安全、避免灾难恢复失败的重要措施。在进行数据备份时,必须考虑到多个方面,包括数据的保护、恢复时间以及灾难恢复的能力。实现实时备份可以防止由于硬件故障、网络攻击(如勒索病毒)、自然灾害等原因导致数据丢失。以下是实现…

使用插件时要注意

在使用插件时,需要注意一些关键事项,确保插件能够稳定、安全地工作,并且不会给系统带来风险或负担。以下是使用插件时需要注意的几个重要方面: 1. 插件来源与信任度 官方渠道与可靠来源:总是选择来自官方网站、知名平…

1387. 将整数按权重排序 中等

我们将整数 x 的 权重 定义为按照下述规则将 x 变成 1 所需要的步数: 如果 x 是偶数,那么 x x / 2如果 x 是奇数,那么 x 3 * x 1 比方说,x3 的权重为 7 。因为 3 需要 7 步变成 1 (3 --> 10 --> 5 --> 1…

maven权威指南(读书笔记一)

以下用【】的是阅读时候想到的问题 maven: 是什么:构建工具,项目管理工具、多模块管理、模块复用、生命周期 特点:约定大于配置。详见项目结构 核心概念:??? 【Maven Archetype插件…

Spring Boot @Conditional注解

在Spring Boot中,Conditional 注解用于条件性地注册bean。这意味着它可以根据某些条件来决定是否应该创建一个特定的bean。这个注解可以放在配置类或方法上,并且它会根据提供的一组条件来判断是否应该实例化对应的组件。 要使用 Conditional注解时&#…

git全教程(长期更新)

1. git安装 git下载 有Linux,Mac,Windows三种版本用于下载 我们这里以Windows为例 1.1 安装exe 安装目录最好别有中文 建议选择vim编辑器 后面直接无脑点next即可 1.2 检验安装是否完备 安装完毕之后,目前比较新的版本的git都会自动…

HarmonyOS NEXT 技术实践-基于基础视觉服务实现骨骼点识别

本示例展示了如何在HarmonyOS Next中实现基于基础视觉服务的骨骼点识别功能。骨骼点识别是计算机视觉中的一项重要技术,广泛应用于运动分析、健身监控和增强现实等领域。通过使用HarmonyOS Next提供的视觉API,开发者能够轻松地对人物图像进行骨骼点检测&…