アットウィキロゴ

nnn

import numpy as np
 
def f(a):
    e=[]
    for i in range(len(x)):
        z=a[0]+a[1]*x[i][0]+a[2]*x[i][1]
        e1=0
        if z>0:
          e1=1
        e.append(e1)
 
    sig=0
    for i in range(len(y)):
        sig=sig+(y[i]-e[i])*(y[i]-e[i])
 
    return sig 
 
x=[[1,0],[1,1],[0,1],[0,0],[1,1]]
y=[0,1,0,0,1]
 
d=[]
for i in range(-10,11):
    d.append(i)
 
ax=[0,0,0]
minsig=9999999
 
for tr in range(100):
 
    a=[]
    for i in range(3):
       d1=np.random.choice(d)
       a.append(d1)
 
    sig=f(a)
 
    if sig<minsig:
       minsig=sig
       ax=a
 
 
print(ax)
print(minsig)
 
最終更新:2018年01月26日 17:07