LinearAlgebra.SparseMatrix.IndexOfVerticalMax C# (CSharp) Method

IndexOfVerticalMax() public method

public IndexOfVerticalMax ( ) : int[]
return int[]
		public int[] IndexOfVerticalMax()
		{
			int[] IdxVerticalMax = new int[nCols];
			float[] ValVerticalMax = new float[nCols];

			for (int IdxCol = 0; IdxCol < nCols; IdxCol++)
			{
				ValVerticalMax[IdxCol] = SparseColumnVectors[IdxCol].Val[0];
				IdxVerticalMax[IdxCol] = SparseColumnVectors[IdxCol].Key[0];
				for (int IdxRow = 0; IdxRow < SparseColumnVectors[IdxCol].nNonzero; IdxRow++)
				{
					if (SparseColumnVectors[IdxCol].Val[IdxRow] > ValVerticalMax[IdxCol])
					{
						ValVerticalMax[IdxCol] = SparseColumnVectors[IdxCol].Val[IdxRow];
						IdxVerticalMax[IdxCol] = SparseColumnVectors[IdxCol].Key[IdxRow];
					}
				}
			}

			return IdxVerticalMax;
		}

Usage Example

コード例 #1
0
ファイル: LDA_Learn.cs プロジェクト: jvking/bp-lda
		public static int ComputeNumberOfErrors(SparseMatrix Dt, SparseMatrix y)
		{
			if (Dt.nCols != y.nCols)
			{
				throw new Exception("The numbers of samples from label and prediction do not match.");
			}
			int nTotError = 0;
			int[] PredictedClass = y.IndexOfVerticalMax();
			for (int IdxCol = 0; IdxCol < Dt.nCols; IdxCol++)
			{
				if (Dt.SparseColumnVectors[IdxCol].Key[0] != PredictedClass[IdxCol])
				{
					nTotError++;
				}
			}
			return nTotError;
		}