作家
登录

机器学习之用Python从零实现贝叶斯分类器

作者: 来源: 2017-06-22 14:01:02 阅读 我要评论

'A':[(1, 0.5)], 'B':[(20, 5.0)]} 
  •  
  • inputVector = [1.1, '?'
  •  
  • result = predict(summaries, inputVector) 
  •  
  • print('Prediction: {0}').format(result)  
  • 运行测试,你会获得如下结不雅:

    1. Prediction: A 

    多重猜测

    1. def getPredictions(summaries, testSet): 
    2.  
    3.     predictions = [] 
    4.  
    5.     for i in range(len(testSet)): 
    6.  
    7.         result = predict(summaries, testSet[i]) 
    8.  
    9.         predictions.append(result) 
    10.  
    11.     return predictions  

    测试getPredictions()函数如下。

    下面是pima-indians.data.csv文件中的一个样本,懂得一下我们将要应用的数据。

    1. summaries = {'A':[(1, 0.5)], 'B':[(20, 5.0)]} 
    2.  
    3. testSet = [[1.1, '?'], [19.1, '?']] 
    4.  
    5. predictions = getPredictions(summaries, testSet) 
    6.  
    7. print('Predictions: {0}').format(predictions)  

    运行测试,你会看到如下结不雅:

    1. Predictions: ['A''B'

    计算精度

    猜测值和测试数据集中的类别值进行比较,可以计算获得一个介于0%~100%精确率作为分类的精确度。getAccuracy()函数可以计算出这个精确率。

    1. def getAccuracy(testSet, predictions): 
    2.  
    3.     correct = 0 
    4.  
    5.     for x in range(len(testSet)): 
    6.  
    7.         if testSet[x][-1] == predictions[x]: 
    8.  
    9.             correct += 1 
    10.  
    11.     return (correct/float(len(testSet))) * 100.0  

    我们可以应用如下简单的代率攀来测试getAccuracy()函数。

    1. testSet = [[1,1,1,'a'], [2,2,2,'a'], [3,3,3,'b']] 
    2.  
    3. predictions = ['a''a''a'
    4.  
    5. accuracy = getAccuracy(testSet, predictions) 
    6.  
    7. print('Accuracy: {0}').format(accuracy) 

        推荐阅读

        宁波电信:大数据推动基层社会服务转型

      日前,在第十四届中国信息港论坛举办的“2017年中国信息通信与‘互联网+’应用优良结不雅奖”颁奖典礼上,中国电信浙江宁波分公司的“宁波市基层社会办事治理综>>>详细阅读


      本文标题:机器学习之用Python从零实现贝叶斯分类器

      地址:http://www.17bianji.com/lsqh/35863.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)