1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

题目要求在给定初始聚类中心的前提下,按 KMeansKMeansKMeans 聚类算法迭代更新中心点。

核心流程(重复给定迭代次数 TTT 轮):

  1. 分配样本:对每个样本点,计算它到每个聚类中心的欧式距离 (d=(x1−x2)2+(y1−y2)2+(z1−z2)2)( d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2} )(d=(x1​−x2​)2+(y1​−y2​)2+(z1​−z2​)2​) 将样本分配给距离最近的中心(若距离相同,取编号更小的中心即可,代码里自然满足)。

P4571.第2题-网络流量分析

    1000ms Tried: 4384 Accepted: 516 Difficulty: 6 所属公司 : 华为
    算法与标签>机器学习算法

题目内容

网络流量分析是网络安全和性能优化的关键任务。假设你有一个包含网络流量数据的数据集,每条数据包含以下特征:

packetpacketpacket_sizesizesize(数据包大小,单位,字节)

interinterinter_ arrivalarrivalarrival_ timetimetime(数据包到达间隔时间,单位:毫秒)

protocolprotocolprotocol_typetypetype(协议类型,如 TCP、UDP、ICMPTCP、UDP、ICMPTCP、UDP、ICMP 等,已转换为数值编码)

你的任务是使用 KMeansKMeansKMeans 聚类算法对网络流量进行分类,分类后的中心点再经过一个分类头,能识别出可能的流量类型(如正常流量、异常流量、DDoSDDoSDDoS 攻击流量等)。KMeansKMeansKMeans 算法原理为:先将数据分为 KKK 组,随机选取 KKK 个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,将每一个对象分配给距离它最近的聚类中心,聚类中心以及分配给它们的对象就代表一个聚类。(为保证结果固定,本题初始的聚类中心已给出,不需要随机)

输入描述

初始聚类点个数 kkk

初始聚类中心集合(往下 kkk 行,一行一个中心点)

迭代次数

样本个数 mmm

样本数 mmm ,每个样本有三个特征(往下 mmm 行,假定各特征数据已归一化处理,各维度权重占比一致)

输出描述

按给定次数迭代后新的聚类中心集合

样例1

输入

3
50 25 30
60 15 60
25 75 90
3
9
50 25 30
30 50 30
60 15 60
25 75 90
10 05 60
26 15 30
32 67.5 90
80 7.5 60
20 100 90

输出

35.33 30.00 30.00
50.00 9.17 60.00
25.67 80.83 90.00

说明

采用欧式距离计算不同数据之间的距离:

d=(x1−x2)2+(y1−y2)2+(z1−z2)2d=\sqrt{\left(x_{1}-x_{2}\right)^{2}+\left(y_{1}-y_{2}\right)^{2}+\left(z_{1}-z_{2}\right)^{2}}d=(x1​−x2​)2+(y1​−y2​)2+(z1​−z2​)2​

计算每个特征距离中心点的距离,选择距离最近的点作为当前特征归属的类别;按照划分的类别,使用重新计算每个类别的中心点,完成一轮迭代(中心点为对应类里所有样本的平均值)

重复上述流程 kkk 次得到结果,最终结果保留两位小数,注意四舍五入

样例2

输入

3
50 20 30
60 10 60
180 180 180
3
8
50 20 30
30 50 30
60 10 60
25 75 90
100 5 60
30 60 90
80 10 60
180 180 180

输出

40.00 35.00 30.00
59.00 32.00 72.00
180.00 180.00 180.00

说明

采用欧式距离计算不同数据之间的距离:

d=(x1−x2)2+(y1−y2)2+(z1−z2)2d=\sqrt{\left(x_{1}-x_{2}\right)^{2}+\left(y_{1}-y_{2}\right)^{2}+\left(z_{1}-z_{2}\right)^{2}}d=(x1​−x2​)2+(y1​−y2​)2+(z1​−z2​)2​

计算每个特征距离中心点的距离,选择距离最近的点作为当前特征归属的类别;按照划分的类别,使用重新计算每个类别的中心点,完成一轮迭代(中心点为对应类里所有样本的平均值)

重复上述流程 kkk 次得到结果,最终结果保留两位小数,注意四舍五入

提示

取值范围

初始聚类中心点个数:0<=n<=10000<=n<=10000<=n<=1000,类型为 intintint

初始聚类中心点集合:每个特征的取值范围为 0<=f<=10000<=f<=10000<=f<=1000 ,类型为 floatfloatfloat

迭代次数:0<=k<=10000<=k<=10000<=k<=1000,类型为 intintint

初始特征个数:0<=n<=10000<=n<=10000<=n<=1000,类型为 intintint

初始特征集合:每个特征的取值范围为 0<=f<=10000<=f<=10000<=f<=1000,类型为 floatfloatfloat

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 75ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?