zoukankan      html  css  js  c++  java
  • 感知机预测NBA总冠军

    import numpy as np
    # 激活函数
    def sign(x):
        if x>=0:
            return 1
        else:
            return 0
    # 计算预测准确率函数
    def score(x,y):
        z=0
        for i in range(len(x)):
            if x[i]==y[i]:
                z += 1
        print("准确率:",z/len(x))

    # 训练样本 2000-2012年 NBA总决赛两只球队数据

    #y_train[]中1表示胜,0表示负

    #五项数据分别为[常规赛总胜场,常规赛交手战绩,队员最佳阵容积分,常规赛场均得分,常规赛场均失分]减去对方的五项数据


    x_train=np.array([[-1,0,-1,-4.6,-4.4],[-1,2,-3,-1.9,1.4],[7,0,4,2.5,1.4],[6,-2,1,5.9,4.9],
             [9,2,1,-8.1,-11],[8,-2,1,1.7,-2.8],[-8,0,-1,0.8,2.9],[5,0,2,2.9,-1.1],[-2,0,-4,-8.1,-10],
             [11,0,1,0.3,0.3],[6,0,3,5.1,2.1],[0,0,0,5.9,6.8],[9,0,5,-0.5,-4.4],[1,0,1,4.6,4.4],
             [1,-2,3,1.9,-1.4],[-7,0,-4,-2.5,-1.4],[-6,2,-1,-5.9,-4.9],[-9,-2,-1,8.1,11],[-8,2,-1,-1.7,2.8],
             [8,0,1,-0.8,-2.9],[-5,0,-2,-2.9,1.1],[2,0,4,8.1,10],[-11,0,-1,-0.3,-0.3],[-6,0,-3,-5.1,-2.1],
             [0,0,0,-5.9,-6.8],[-9,0,-5,0.5,4.4]])
    y_train=[1]*13+[0]*13

    # 测试样本 2013-2017年 NBA总决赛两只球队数据


    x_test=np.array([[16,0,2,5.6,-2.9],[-16,-2,-3,-10.6,-5.8],[14,0,0,6.9,1.2],[8,0,-1,3.2,0.2],[8,2,-1,-0.1,-1.6],[-16,0,-2,-5.6,2.9],
                     [16,2,3,10.6,5.8],[-14,0,0,-6.9,-1.2],[-8,0,1,-3.2,-0.2],[-8,-2,1,0.1,1.6]])
    y_test=[1,1,1,1,1,0,0,0,0,0]
    w=[0,0,0,0,0]

    # 设置学习率
    a = 0.1
    c = 0
    # 进行1000轮实验
    while c < 1000:
        for i in range(len(x_train)):
            # 如果某次分类错误,则修改权值和偏差
            if y_train[i] * (np.sum(w * x_train[i]) ) <= 0:
                w += a * y_train[i] * x_train[i]
        c += 1
    # 最后在测试集上检验正确率
    count = 0
    print("w =",w)

    l=[]
    # 检验
    for i in range(len(x_test)):
        v=np.sum(w * x_test[i])
        l.append(sign(v))

    print("真实结果:",y_test," 测试结果:",l)
    score(y_test,l)

    运行结果:

  • 相关阅读:
    使用Jpath 对Json字符串进行解析
    使用PowerDesigner 生成mysql 数据库脚本
    在windows 环境下Kratos 代码示例搭建
    Java jdbc无法连接sql server和sa登录失败的坑
    win10 安装sql server 2008 提示重新启动计算机失败
    RNN计算loss function
    ReLU 函数非线性
    TopK 问题
    mysql初始化问题(版本 8.0.11)
    投资理财的66条军规
  • 原文地址:https://www.cnblogs.com/cavaliers20160620/p/7992356.html
Copyright © 2011-2022 走看看