生成身高体重的100个随机数

本文介绍了一种使用Python随机模块生成100组身高和体重数据的方法,通过设定身高范围和基于身高的体重计算公式,生成的数据可用于数据分析或机器学习模型训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import random
with open('hw.txt', 'w') as f:
    f.write('height\tweight\n')
    #生成100个随机数
    for i in range(100):
        height = random.randint(1600, 1900) / 10
        weight = (height - 100) * 0.9 + random.randint(-50, 50) / 10
        #标准体重=0.9*身高-90
        f.write('%.1f\t%.1f\n' % (height, weight))
使用Python和scikit-learn(sklearn)库中的K-means聚类算法,可以按照以下步骤对100随机身高体重数据点进行分组: 1. **导入所需库**: ```python import numpy as np from sklearn.cluster import KMeans import matplotlib.pyplot as plt ``` 2. **生成随机数据**: ```python np.random.seed(42) # 设置随机种子保证每次运行结果一致 data = np.random.rand(100, 2) # 创建100个二维随机数代表身高和体重 heights, weights = data[:, 0], data[:, 1] # 分离身高和体重数据 ``` 3. **数据预处理**: K-means不需要特别的预处理,但它通常假设数据是标准化的。这里我们简单地计算身高和体重的平均值和标准差,然后进行缩放。 ```python mean_height, std_height = heights.mean(), heights.std() mean_weight, std_weight = weights.mean(), weights.std() heights_scaled = (heights - mean_height) / std_height weights_scaled = (weights - mean_weight) / std_weight # 联合身高体重数据 features = np.column_stack((heights_scaled, weights_scaled)) ``` 4. **训练K-means模型**: ```python kmeans = KMeans(n_clusters=3, random_state=42) # 设定3个聚类中心 kmeans.fit(features) ``` 5. **获取聚类标签**: ```python labels = kmeans.labels_ ``` 6. **结果可视化**: ```python plt.scatter(heights_scaled, weights_scaled, c=labels, cmap='viridis') # 使用散点图展示聚类结果 centers = kmeans.cluster_centers_ * (std_height, std_weight) + (mean_height, mean_weight) # 反标准化聚类中心 plt.scatter(*centers.T, marker='x', s=200, linewidths=3, color='red') # 显示聚类中心 plt.xlabel('Height') plt.ylabel('Weight') plt.title('K-means Clustering of Height and Weight Data') plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值