机器学习:Python实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.6 实施预测

评估的结果显示,支持向量机(SVM)是准确度最高的算法。现在使用预留的评估数据集来验证这个算法模型。这将会对生成的算法模型的准确度有一个更加直观的认识。现在使用全部训练集的数据生成支持向量机(SVM)的算法模型,并用预留的评估数据集给出一个算法模型的报告。代码如下:

    #使用评估数据集评估算法
   svm=SVC()
   svm.fit(X=X_train, y=Y_train)
   predictions=svm.predict(X_validation)
   print(accuracy_score(Y_validation, predictions))
   print(confusion_matrix(Y_validation, predictions))
   print(classification_report(Y_validation, predictions))

执行程序后,看到算法模型的准确度是0.93。通过冲突矩阵看到只有两个数据预测错误。最后还提供了一个包含精确率(precision)、召回率(recall)、F1值(F1-score)等数据的报告。结果如下:

    0.933333333333
    [[ 7  0  0]
     [ 0 10  2]
     [ 0  0 11]]
                    precision    recall  f1-score   support
        Iris-setosa        1.00      1.00      1.00         7
    Iris-versicolor       1.00      0.83      0.91        12
     Iris-virginica       0.85      1.00      0.92        11
        avg / total        0.94      0.93      0.93        30