/Newmenji

Machine learning codes

Newmenji

Machine learning codes def SVM(): eeta=0.5 lamb=0.01 W=np.empty([1, len(top500)+1], dtype=int)*0 Ycap=np.empty([len(Train),1], dtype=int)*0+0.0 Y_Ycap=np.empty([len(Train),1], dtype=int)*0+0.0 empty=np.empty([len(Train),1],dtype=int)*0+1 newmatrix=np.append(empty,matrix,1)
Y=np.empty([len(Train),1], dtype=int)*0+0.0 N=len(Train)

M=np.transpose(newmatrix)                    

for i in range(0,100):   
    Ycap=np.matmul(W,M)
    Ycap=np.transpose(Ycap)
    
    for i in range (0,len(Train_array)):
       if Train_array[i,1]==0:
           Y[i]=-1
       else:
           Y[i]=1
       Y_Ycap[i]=Y[i]*Ycap[i]
    
    Delta=np.empty([len(top500)+1,len(Train_array)], dtype=int)*0 
    
    for i in range (0,len(Train_array)):              
         if Y_Ycap[i]<1:
             Delta[:,i]=Y[i]*M[:,i] 
         else :
             Delta[:,i]=0
    
    Delta_trans = np.transpose(Delta)
    sumss=np.empty([1,len(top500)+1], dtype=int)*0
    for i in range (0,len(Train_array)):
           sumss=lamb*W-Delta_trans[i,:]+sumss
    
    slope= sumss/N
    
    Wnew=W-eeta*slope
        
    if np.linalg.norm(np.array(Wnew)-np.array(W)) == 1*math.exp(-6):
                print("If:", np.linalg.norm(np.array(Wnew)-np.array(W)) == 1*math.exp(-6))
                break
    else:
                W = Wnew
     
   
empty=np.empty([len(Test),1],dtype=int)*0+1
testnewmatrix=np.append(empty,test_matrix,1)
Testmatrixtrans=np.transpose(testnewmatrix)
F=np.matmul(W,Testmatrixtrans)
predict=np.empty([len(Test),1], dtype=int)*0+0.0

for i in range(0,len(Test)):
     if F[0,i]<0:
         predict[i]=-1
     else :
         predict[i]=1
#zero loss
Actual=np.empty([len(Test),1], dtype=int)*0+0.0
for i in range (0,len(Test)):
       if Test_array[i,1]==0:
           Actual[i]=-1
       else:
           Actual[i]=1
Mistakes=0   
for i in range (0,len(Test_array)):
    if Actual[i]!=predict[i]:
        Mistakes=Mistakes+1#U=U+1
Zero_loss_SVM= Mistakes/len(Test)
Zero_loss_SVM
print ("ZERO_ONE_LOSS SVM %s"%Zero_loss_SVM) 
return(Zero_loss_SVM)