fork download
  1. import pandas as pd
  2. import numpy as np
  3.  
  4. print("=" * 50)
  5. print("🌿 Iris数据集数据挖掘实验")
  6. print("=" * 50)
  7.  
  8. # 生成模拟的Iris数据集
  9. np.random.seed(42)
  10. n_samples = 30 # 小样本量适应Ideone限制
  11.  
  12. # 为三种鸢尾花生成数据
  13. setosa_data = {
  14. 'sepal_length': np.random.normal(5.0, 0.4, n_samples),
  15. 'sepal_width': np.random.normal(3.4, 0.3, n_samples),
  16. 'petal_length': np.random.normal(1.5, 0.2, n_samples),
  17. 'petal_width': np.random.normal(0.2, 0.1, n_samples),
  18. 'species': ['setosa'] * n_samples
  19. }
  20.  
  21. versicolor_data = {
  22. 'sepal_length': np.random.normal(6.0, 0.5, n_samples),
  23. 'sepal_width': np.random.normal(2.8, 0.3, n_samples),
  24. 'petal_length': np.random.normal(4.5, 0.4, n_samples),
  25. 'petal_width': np.random.normal(1.3, 0.2, n_samples),
  26. 'species': ['versicolor'] * n_samples
  27. }
  28.  
  29. virginica_data = {
  30. 'sepal_length': np.random.normal(6.7, 0.5, n_samples),
  31. 'sepal_width': np.random.normal(3.0, 0.3, n_samples),
  32. 'petal_length': np.random.normal(5.5, 0.4, n_samples),
  33. 'petal_width': np.random.normal(2.0, 0.3, n_samples),
  34. 'species': ['virginica'] * n_samples
  35. }
  36.  
  37. # 创建DataFrame
  38. setosa_df = pd.DataFrame(setosa_data)
  39. versicolor_df = pd.DataFrame(versicolor_data)
  40. virginica_df = pd.DataFrame(virginica_data)
  41.  
  42. # 合并数据
  43. data = pd.concat([setosa_df, versicolor_df, virginica_df], ignore_index=True)
  44.  
  45. print("✅ 模拟Iris数据集生成完成")
  46. print(f"数据集形状: {data.shape}")
  47. print(f"样本数量: {len(data)}")
  48. print(f"特征数量: {len(data.columns)-1}") # 减去species列
Success #stdin #stdout 3.56s 78068KB
stdin
Standard input is empty
stdout
==================================================
🌿 Iris数据集数据挖掘实验
==================================================
✅ 模拟Iris数据集生成完成
数据集形状: (90, 5)
样本数量: 90
特征数量: 4