zoukankan      html  css  js  c++  java
  • svm的第一个实例

     用的数据集是uci机器学习库的数据 ‘iris.data’

    from sklearn import svm
    import csv
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score
    from sklearn.metrics import confusion_matrix
    from sklearn.metrics import classification_report
    from sklearn.preprocessing import StandardScaler
    import numpy as np
    
    def change(s):
        #就是这一句话。。。。哎,以后发现类型判断错误,可以看看type的类别
        bs = str(s, encoding="utf8")
    
        if(bs=='Iris-virginica'):
            return 2
        elif (bs == 'Iris-setosa'):
            return 0
        elif (bs == 'Iris-versicolor'):
            return 1
    tezheng=[]#用来存放特征的东西
    cate=[]#用来存放结果
    path = 'iris.data'
    data=np.loadtxt(path, dtype=float, delimiter=',',converters={4: change})
    
    #遍历
    for content in data:
        #这句话非常的重要,将content转为list,才能正确放入到数据中
        content=list(content)
        #将前四个特征存入tezheng中,最后一列的=存入cate结果集中
        tezheng.append(content[0:4])
        cate.append(content[-1])
    
    
    #建立xvm的模型
    # 标准化sca转换
    scaler = StandardScaler()
    # 训练标准化对象
    scaler.fit(tezheng)
    # 转换数据集,一般是归一化处理
    traffic_feature= scaler.transform(tezheng)
    #分割测试集和训练集
    feature_train, feature_test, target_train, target_test = train_test_split(traffic_feature, cate, test_size=0.4,random_state=1)
    #svc分类器进行一个参数的设置
    clf = svm.SVC(C=1, kernel='rbf', gamma=20, decision_function_shape='ovr')
    # clf = svm.SVC(C=0.1, kernel='linear', decision_function_shape='ovr')
    #将训练数据放到里面,到这一步的时候 suv已经完成了
    clf.fit(feature_train,target_train)
    
    #这边是开始预测了,输入的测试集
    predict_results=clf.predict(feature_test)
    #预测结果和原来结果进行的一个对比
    print(accuracy_score(predict_results, target_test))
    #参数结果 包括准确率 召回率 f1
    print(classification_report(target_test, predict_results))
    

      

    0.8
                  precision    recall  f1-score   support
    
             0.0       1.00      0.68      0.81        19
             1.0       0.94      0.76      0.84        21
             2.0       0.63      0.95      0.76        20
    
       micro avg       0.80      0.80      0.80        60
       macro avg       0.86      0.80      0.80        60
    weighted avg       0.86      0.80      0.81        60
    
    
    Process finished with exit code 0
    

      

  • 相关阅读:
    20160227.CCPP体系详解(0037天)
    MinerUtil.java 爬虫工具类
    MinerUrl.java 解析页面后存储URL类
    MinerThreadPool.java 线程池
    MinerStoreThread.java 存储线程
    MinerQueue.java 访问队列
    MinerMonitorThread.java 监控线程
    MinerHtmlThread.java 爬取页面线程
    上班跟打DotA感觉差不多?姑娘你没事儿吧
    7月3日云栖精选夜读:强大的PyTorch:10分钟让你了解深度学习领域新流行的框架
  • 原文地址:https://www.cnblogs.com/zhongyimeng/p/10521988.html
Copyright © 2011-2022 走看看