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

📄 linearkernel.java

📁 SVM_light是一种非常流行的支持向量机的java接口
💻 JAVA
字号:
/*
 * JNI_SVM-light - A Java Native Interface for SVM-light
 * 
 * Copyright (C) 2005 
 * Tom Crecelius & Martin Theobald 
 * Max-Planck Institute for Computer Science
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc., 51
 * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 */

package jnisvmlight;

/**
 * A linear kernel. Computes the scalar (inner) product of two feature vectors
 * and is the default inner kernel of all the other kernel implementations.
 * 
 * @author Tom Crecelius & Martin Theobald
 */
public class LinearKernel extends Kernel {

  public double evaluate(FeatureVector fv1, FeatureVector fv2) {
     double result = 0.0;      
     int i = 0, j = 0;
     while (i < fv1.m_dims.length && j < fv2.m_dims.length) {
       if (fv1.m_dims[i]>fv2.m_dims[j]) j++;
       else if (fv1.m_dims[i]<fv2.m_dims[j]) i++;
       else result += (fv1.m_vals[i++] * fv2.m_vals[j++]);
     }
     return result;
   }
}

⌨️ 快捷键说明

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