⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fengleiqi2.c

📁 使用线性分类器进行分类
💻 C
字号:
#include"source.h"
void Main(void)
{ 
  int i,j,k,t,flag,g,sign,sum=0,u,s[150][2];
  float w[3][5],d[3],max=0,x[5]={0,0,0,0,0};
  for(i=0;i<5;i++)
     for(j=0;j<5;j++)
        w[i][j]=0;
  do
    {
      flag=0;
      for(i=0;i<3;i++)
         {
           for(j=0;j<25;j++)
              {
                for(k=0;k<4;k++)
                   {
                    if(i==0) 
                       x[k]=a[j][k];
                    else if(i==1)
                       x[k]=b[j][k];
                    else if(i==2)
                       x[k]=c[j][k];
                    }
                 x[4]=1;
                 for(k=0;k<3;k++)
                     d[k]=0;
                 for(k=0;k<3;k++) 
                    for(t=0;t<5;t++)
                       d[k]+=w[k][t]*x[t];   
                 g=1; 
                 for(k=0;k<3;k++)
                    {
                     if(k!=i)
                        if(d[k]<d[i])
                           g&=1;   
                        else
                           g&=0;
                     }
                  if(g==1)
                     flag+=1;
                  else
                     {
                       for(k=0;k<3;k++)
                          {
                            for(t=0;t<5;t++)
                               {
                                 if(k!=i)
                                    {if(d[k]>d[i])
                                        w[k][t]-=x[t];
                                     }      
                                 else 
                                   w[k][t]+=x[t];
                                }
                           }
                        flag+=0;
                      }
                }
           }
       sum++;
       if(flag==75)
          break;
     }while(sum<500);
  u=0;
  
  for(i=0;i<3;i++)
     {
      for(j=0;j<50;j++)
        {
         for(k=0;k<4;k++)
            {
             if(i==0) 
                x[k]=a[j][k];
             else if(i==1)
                x[k]=b[j][k];
             else if(i==2)
                x[k]=c[j][k];
            }  
         x[4]=1;
         s[50*i+j][0]=i+1;
         for(k=0;k<3;k++)
             d[k]=0;
         for(k=0;k<3;k++)
            {
             for(t=0;t<5;t++)
                 d[k]+=w[k][t]*x[t];
             }
         max=d[0];
         sign=1;
         for(k=1;k<3;k++)
            if(d[k]>max)
              {
               max=d[k];
               sign=k+1;
               }
         s[50*i+j][1]=sign;
         }
     }
 } 
               
  
           
                     
                         
                      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -