zoukankan      html  css  js  c++  java
  • INT104-lab8

    5折交叉验证,测试10次,取平均值:

     1 import random
     2 
     3 
     4 def read(path: str) -> tuple:
     5     with open(path, "r") as f:
     6         text = f.readlines()
     7         M = []
     8         for row in text:
     9             m = []
    10             substr = str.split(row, "
    ")[0]
    11             for a in str.split(substr, ","):
    12                 m.append(a)
    13             M.append(m)
    14     return M, len(M), 5, len(M) // 5, 10
    15 
    16 
    17 def calculateAccuracy(M: list, N: int, groupSize: int) -> float:
    18     accuracyArray = []
    19     for groupNumber in range(N):
    20         count = 0
    21         for i in range(groupSize):
    22             index = groupNumber * groupSize + i
    23             if M[index][0] == M[index][1]:
    24                 count += 1
    25         accuracy = count / groupSize
    26         accuracyArray.append(accuracy)
    27         # print("[%2d / %2d = %.3f]" % (count, groupSize, accuracy))
    28     return accuracyArray[N - 1]
    29 
    30 
    31 if __name__ == '__main__':
    32     path = "predict_data.txt"
    33     M, size, N, groupSize, verifyTime = read(path)
    34     accuracyArray = []
    35     print("Verifying...")
    36     for n in range(verifyTime):
    37         random.shuffle(M)
    38         averageAccuracy = calculateAccuracy(M, N, groupSize)
    39         accuracyArray.append(averageAccuracy)
    40         print("%2d times, accuracy: %.3f" % (n + 1, averageAccuracy))
    41     print("averageAccuracy = %.5f" % (sum(accuracyArray) / len(accuracyArray)))
    ~~Jason_liu O(∩_∩)O
  • 相关阅读:
    物理好题随想
    学案12:电场强度和静电现象
    vscode插件记录
    windows使用总结
    元素周期律 + 元素周期表
    酸碱理论
    氮族元素——磷
    氮族元素——氮
    碱金属元素
    SDN第一次上机实验
  • 原文地址:https://www.cnblogs.com/JasonCow/p/14751710.html
Copyright © 2011-2022 走看看