1 文本格式
using System;
namespace Legalsoft.Truffer
{
public class Svmlinkernel : Svmgenkernel
{
public int n { get; set; }
public double[] mu { get; set; }
public Svmlinkernel(double[,] ddata, double[] yy) : base(yy, ddata)
{
this.n = data.GetLength(1);
this.mu = new double[n];
for (int j = 0; j < n; j++)
{
mu[j] = 0.0;
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
mu[j] += data[i, j];
}
}
for (int j = 0; j < n; j++)
{
mu[j] /= m;
}
fill();
}
public override double kernel(double xi, double xj)
{
return 0.0;
}
public override double kernel(double[] xi, double[] xj)
{
double dott = 0.0;
for (int k = 0; k < n; k++)
{
dott += (xi[k] - mu[k]) * (xj[k] - mu[k]);
}
return dott;
}
}
}
2 代码格式
using System;
namespace Legalsoft.Truffer
{
public class Svmlinkernel : Svmgenkernel
{
public int n { get; set; }
public double[] mu { get; set; }
public Svmlinkernel(double[,] ddata, double[] yy) : base(yy, ddata)
{
this.n = data.GetLength(1);
this.mu = new double[n];
for (int j = 0; j < n; j++)
{
mu[j] = 0.0;
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
mu[j] += data[i, j];
}
}
for (int j = 0; j < n; j++)
{
mu[j] /= m;
}
fill();
}
public override double kernel(double xi, double xj)
{
return 0.0;
}
public override double kernel(double[] xi, double[] xj)
{
double dott = 0.0;
for (int k = 0; k < n; k++)
{
dott += (xi[k] - mu[k]) * (xj[k] - mu[k]);
}
return dott;
}
}
}