• 人工智能5:构建基于iris 数据集的 SVM 分类模型,含有 iris.csv


    内容:设计并实现一个简单的用于分类的SVI M,主要用于iris 分类。将iris数据集分为训综集和测试集,使用训练集训练得到SVM 分类模型,并使用模型预测测试集的类别归属。

    实现思路及步骤如下。 (1)读取数据集,区分标签和数据。(2)标准化数据集。 (3)将数据集划分为训练集和测试集。(4)构建SVM模型。 (5)输出预测测试集结果,评价分类模型性食能,输出测试报告。

    1. 导入相关模块和数据集,并进行数据的区分标签和数据。其中,使用Pandas库中的read_csv()函数读取名为'iris.csv'的数据文件,通过iloc方法将数据集中的124条数据的前4列作为特征数据X,第5列作为标签数据y。
    2. 对数据进行标准化处理,以提高SVM模型的分类性能。使用preprocessing模块中的StandardScaler类对特征数据X进行标准化,即对数据进行中心化处理并使每个特征都具有相同的重要性。
    3. 随机划分数据集,将原始数据集按照8:2的比例随机划分为训练集(X_train, y_train)和测试集(X_test, y_test),其中将20%的数据分配给测试集且设置随机种子数为42,以确保划分结果一致。
    4. 构建SVM模型,使用svm模块中的SVC类构建一个线性核函数的SVM模型,将其命名为svm并使用fit()函数训练模型,将训练数据(X_train, y_train)作为参数传递给fit()函数以完成模型训练。
    5. 对测试集进行预测,使用predict()函数对测试集样本进行分类预测,将测试集特征数据X_test作为参数传递给predict()函数,得到预测结果y_pred。
    6. 输出测试结果和分类报告,使用print()函数输出预测结果y_pred和分类性能评估报告classification_report(y_test, y_pred),其中classification_report()函数可显示模型的分类性能指标,包括每个类别的精确率、召回率、F1值及其加权平均数。

     iris.csv

    1. sepal_length,sepal_width,petal_length,petal_width,species
    2. 5.1,3.5,1.4,0.2,Iris-setosa
    3. 4.9,3,1.4,0.2,Iris-setosa
    4. 4.7,3.2,1.3,0.2,Iris-setosa
    5. 4.6,3.1,1.5,0.2,Iris-setosa
    6. 5,3.6,1.4,0.2,Iris-setosa
    7. 5.4,3.9,1.7,0.4,Iris-setosa
    8. 4.6,3.4,1.4,0.3,Iris-setosa
    9. 5,3.4,1.5,0.2,Iris-setosa
    10. 4.4,2.9,1.4,0.2,Iris-setosa
    11. 4.9,3.1,1.5,0.1,Iris-setosa
    12. 5.4,3.7,1.5,0.2,Iris-setosa
    13. 4.8,3.4,1.6,0.2,Iris-setosa
    14. 4.8,3,1.4,0.1,Iris-setosa
    15. 4.3,3,1.1,0.1,Iris-setosa
    16. 5.8,4,1.2,0.2,Iris-setosa
    17. 5.7,4.4,1.5,0.4,Iris-setosa
    18. 5.4,3.9,1.3,0.4,Iris-setosa
    19. 5.1,3.5,1.4,0.3,Iris-setosa
    20. 5.7,3.8,1.7,0.3,Iris-setosa
    21. 5.1,3.8,1.5,0.3,Iris-setosa
    22. 5.4,3.4,1.7,0.2,Iris-setosa
    23. 5.1,3.7,1.5,0.4,Iris-setosa
    24. 4.6,3.6,1,0.2,Iris-setosa
    25. 5.1,3.3,1.7,0.5,Iris-setosa
    26. 4.8,3.4,1.9,0.2,Iris-setosa
    27. 5,3,1.6,0.2,Iris-setosa
    28. 5,3.4,1.6,0.4,Iris-setosa
    29. 5.2,3.5,1.5,0.2,Iris-setosa
    30. 5.2,3.4,1.4,0.2,Iris-setosa
    31. 4.7,3.2,1.6,0.2,Iris-setosa
    32. 4.8,3.1,1.6,0.2,Iris-setosa
    33. 5.4,3.4,1.5,0.4,Iris-setosa
    34. 5.2,4.1,1.5,0.1,Iris-setosa
    35. 5.5,4.2,1.4,0.2,Iris-setosa
    36. 4.9,3.1,1.5,0.2,Iris-setosa
    37. 5,3.2,1.2,0.2,Iris-setosa
    38. 5.5,3.5,1.3,0.2,Iris-setosa
    39. 4.9,3.6,1.4,0.1,Iris-setosa
    40. 4.4,3,1.3,0.2,Iris-setosa
    41. 5.1,3.4,1.5,0.2,Iris-setosa
    42. 5,3.5,1.3,0.3,Iris-setosa
    43. 4.5,2.3,1.3,0.3,Iris-setosa
    44. 4.4,3.2,1.3,0.2,Iris-setosa
    45. 5,3.5,1.6,0.6,Iris-setosa
    46. 5.1,3.8,1.9,0.4,Iris-setosa
    47. 4.8,3,1.4,0.3,Iris-setosa
    48. 5.1,3.8,1.6,0.2,Iris-setosa
    49. 4.6,3.2,1.4,0.2,Iris-setosa
    50. 5.3,3.7,1.5,0.2,Iris-setosa
    51. 5,3.3,1.4,0.2,Iris-setosa
    52. 7,3.2,4.7,1.4,Iris-versicolor
    53. 6.4,3.2,4.5,1.5,Iris-versicolor
    54. 6.9,3.1,4.9,1.5,Iris-versicolor
    55. 5.5,2.3,4,1.3,Iris-versicolor
    56. 6.5,2.8,4.6,1.5,Iris-versicolor
    57. 5.7,2.8,4.5,1.3,Iris-versicolor
    58. 6.3,3.3,4.7,1.6,Iris-versicolor
    59. 4.9,2.4,3.3,1,Iris-versicolor
    60. 6.6,2.9,4.6,1.3,Iris-versicolor
    61. 5.2,2.7,3.9,1.4,Iris-versicolor
    62. 5,2,3.5,1,Iris-versicolor
    63. 5.9,3,4.2,1.5,Iris-versicolor
    64. 6,2.2,4,1,Iris-versicolor
    65. 6.1,2.9,4.7,1.4,Iris-versicolor
    66. 5.6,2.9,3.6,1.3,Iris-versicolor
    67. 6.7,3.1,4.4,1.4,Iris-versicolor
    68. 5.6,3,4.5,1.5,Iris-versicolor
    69. 5.8,2.7,4.1,1,Iris-versicolor
    70. 6.2,2.2,4.5,1.5,Iris-versicolor
    71. 5.6,2.5,3.9,1.1,Iris-versicolor
    72. 5.9,3.2,4.8,1.8,Iris-versicolor
    73. 6.1,2.8,4,1.3,Iris-versicolor
    74. 6.3,2.5,4.9,1.5,Iris-versicolor
    75. 6.1,2.8,4.7,1.2,Iris-versicolor
    76. 6.4,2.9,4.3,1.3,Iris-versicolor
    77. 6.6,3,4.4,1.4,Iris-versicolor
    78. 6.8,2.8,4.8,1.4,Iris-versicolor
    79. 6.7,3,5,1.7,Iris-versicolor
    80. 6,2.9,4.5,1.5,Iris-versicolor
    81. 5.7,2.6,3.5,1,Iris-versicolor
    82. 5.5,2.4,3.8,1.1,Iris-versicolor
    83. 5.5,2.4,3.7,1,Iris-versicolor
    84. 5.8,2.7,3.9,1.2,Iris-versicolor
    85. 6,2.7,5.1,1.6,Iris-versicolor
    86. 5.4,3,4.5,1.5,Iris-versicolor
    87. 6,3.4,4.5,1.6,Iris-versicolor
    88. 6.7,3.1,4.7,1.5,Iris-versicolor
    89. 6.3,2.3,4.4,1.3,Iris-versicolor
    90. 5.6,3,4.1,1.3,Iris-versicolor
    91. 5.5,2.5,4,1.3,Iris-versicolor
    92. 5.5,2.6,4.4,1.2,Iris-versicolor
    93. 6.1,3,4.6,1.4,Iris-versicolor
    94. 5.8,2.6,4,1.2,Iris-versicolor
    95. 5,2.3,3.3,1,Iris-versicolor
    96. 5.6,2.7,4.2,1.3,Iris-versicolor
    97. 5.7,3,4.2,1.2,Iris-versicolor
    98. 5.7,2.9,4.2,1.3,Iris-versicolor
    99. 6.2,2.9,4.3,1.3,Iris-versicolor
    100. 5.1,2.5,3,1.1,Iris-versicolor
    101. 5.7,2.8,4.1,1.3,Iris-versicolor
    102. 6.3,3.3,6,2.5,Iris-virginica
    103. 5.8,2.7,5.1,1.9,Iris-virginica
    104. 7.1,3,5.9,2.1,Iris-virginica
    105. 6.3,2.9,5.6,1.8,Iris-virginica
    106. 6.5,3,5.8,2.2,Iris-virginica
    107. 7.6,3,6.6,2.1,Iris-virginica
    108. 4.9,2.5,4.5,1.7,Iris-virginica
    109. 7.3,2.9,6.3,1.8,Iris-virginica
    110. 6.7,2.5,5.8,1.8,Iris-virginica
    111. 7.2,3.6,6.1,2.5,Iris-virginica
    112. 6.5,3.2,5.1,2,Iris-virginica
    113. 6.4,2.7,5.3,1.9,Iris-virginica
    114. 6.8,3,5.5,2.1,Iris-virginica
    115. 5.7,2.5,5,2,Iris-virginica
    116. 5.8,2.8,5.1,2.4,Iris-virginica
    117. 6.4,3.2,5.3,2.3,Iris-virginica
    118. 6.5,3,5.5,1.8,Iris-virginica
    119. 7.7,3.8,6.7,2.2,Iris-virginica
    120. 7.7,2.6,6.9,2.3,Iris-virginica
    121. 6,2.2,5,1.5,Iris-virginica
    122. 6.9,3.2,5.7,2.3,Iris-virginica
    123. 5.6,2.8,4.9,2,Iris-virginica
    124. 7.7,2.8,6.7,2,Iris-virginica
    125. 6.3,2.7,4.9,1.8,Iris-virginica
    126. 6.7,3.3,5.7,2.1,Iris-virginica
    127. 7.2,3.2,6,1.8,Iris-virginica
    128. 6.2,2.8,4.8,1.8,Iris-virginica
    129. 6.1,3,4.9,1.8,Iris-virginica
    130. 6.4,2.8,5.6,2.1,Iris-virginica
    131. 7.2,3,5.8,1.6,Iris-virginica
    132. 7.4,2.8,6.1,1.9,Iris-virginica
    133. 7.9,3.8,6.4,2,Iris-virginica
    134. 6.4,2.8,5.6,2.2,Iris-virginica
    135. 6.3,2.8,5.1,1.5,Iris-virginica
    136. 6.1,2.6,5.6,1.4,Iris-virginica
    137. 7.7,3,6.1,2.3,Iris-virginica
    138. 6.3,3.4,5.6,2.4,Iris-virginica
    139. 6.4,3.1,5.5,1.8,Iris-virginica
    140. 6,3,4.8,1.8,Iris-virginica
    141. 6.9,3.1,5.4,2.1,Iris-virginica
    142. 6.7,3.1,5.6,2.4,Iris-virginica
    143. 6.9,3.1,5.1,2.3,Iris-virginica
    144. 5.8,2.7,5.1,1.9,Iris-virginica
    145. 6.8,3.2,5.9,2.3,Iris-virginica
    146. 6.7,3.3,5.7,2.5,Iris-virginica
    147. 6.7,3,5.2,2.3,Iris-virginica
    148. 6.3,2.5,5,1.9,Iris-virginica
    149. 6.5,3,5.2,2,Iris-virginica
    150. 6.2,3.4,5.4,2.3,Iris-virginica
    151. 5.9,3,5.1,1.8,Iris-virginica

    main.py

    1. import pandas as pd
    2. from sklearn.model_selection import train_test_split
    3. from sklearn.preprocessing import StandardScaler
    4. from sklearn.svm import SVC
    5. from sklearn.metrics import classification_report
    6. # 读取数据集
    7. df = pd.read_csv('iris.csv')
    8. # 区分标签和数据
    9. X = df.iloc[:, :-1].values
    10. y = df.iloc[:, -1].values
    11. # 数据标准化
    12. scaler = StandardScaler()
    13. X = scaler.fit_transform(X)
    14. # 划分数据集
    15. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    16. # 构建SVM模型
    17. svm = SVC(kernel='linear')
    18. svm.fit(X_train, y_train)
    19. # 预测测试集结果
    20. y_pred = svm.predict(X_test)
    21. # 输出测试结果和分类报告
    22. print('测试集预测结果:\n', y_pred)
    23. print('分类模型性能评估报告:\n', classification_report(y_test, y_pred))

    运行结果

  • 相关阅读:
    JWT知识点
    HashMap 源码逐行分析,j + oldCap 桶位置重分配公式手写验证
    【设计模式】工厂模式(Factory Pattern)
    设计模式——外观模式
    SpringBoot实现分页查询
    猿创征文|【Typescript入门】常用数据类型(3)
    深度解读《深度探索C++对象模型》之拷贝构造函数
    (unordered)map和set封装(底层红黑树)
    分布式恢复 | 深入浅出MGR
    语音噪声---学习笔记
  • 原文地址:https://blog.csdn.net/weixin_60530224/article/details/131201106