gpt4 book ai didi

python - 如何在不丢失数据的情况下将数据转换为图像

转载 作者:行者123 更新时间:2023-12-03 23:45:18 26 4
gpt4 key购买 nike

我看过很多论文,他们将网络数据转换为图像,我正在尝试做同样的事情,我从 kaggle 获得了 87 个应用程序网络数据。数据有三列“Source.IP”、“Destination.IP”和“Payload”,看起来像这样
enter image description here
当我将其转换为图像(热图)时,它看起来像这样
enter image description here
x 轴上是 source.ips,y 轴上是 dest ip,我想学习 CNN 以进行基于有效负载的流量矩阵分类。
我尝试生成热图,因为我使用 Pandas 和 matplotlib/seaborn 来生成图表,因为重复的源/目标 ips 我不得不旋转表格。

g1 = true_ele.groupby(["Destination.IP","Source.IP"], as_index=False)['Payload'].mean()
table = g1.pivot(index='Destination.IP',columns='Source.IP',values='Payload')
为了删除重复项,我决定按有效载荷对源/目标 ip 进行分组,这并不好,因为我正在丢失数据。
我想问的是,有没有更好的方法可以根据上面的数据生成图像,这样我就不会丢失数据,并且能够生成有意义的图像来学习 CNN。

最佳答案

我认为桑基图是一种很好的方法,可以作为 A-B 之间的定量可视化来做到这一点。但我不确定这是否会导致深度学习。图中的数据由 A-B 之间的唯一标签组成,源和目标是标签的索引。

import plotly.graph_objects as go

fig = go.Figure(data=[go.Sankey(
node = dict(
pad = 15,
thickness = 20,
line = dict(color = "black", width = 0.5),
label = (['172.19.1.46-s','10.200.7.7-d','10.200.7.7-s','172.19.1.46-d','50.31.185,39-s','10,200.7.217-d',
'50.31.185,39-s','10.200.7.217-d','192.168.72.43-s','10.200.7.6-s','172.19.1.56-d','192.168.72.47-s',
'10.200.7.6-d','68.67.178.197-s','10.200.7.4-s','192.168.180.51-d']),
color = "blue"
),
link = dict(
source = [0,2,4,4,8,9,8,11,13,9,14.14,14],
target = [1,3,5,5,1,10,1,12,5,1,15,15,15],
value = [22,2,3,1,5,136,5,3,10,7,32,5,3]
))])

fig.update_layout(title_text="Basic Sankey Diagram", font_size=10)
fig.show()
enter image description here

关于python - 如何在不丢失数据的情况下将数据转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63179971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com