当前位置: 首页>>代码示例>>Java>>正文


Java Matrix.getAsDouble方法代码示例

本文整理汇总了Java中org.ujmp.core.Matrix.getAsDouble方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix.getAsDouble方法的具体用法?Java Matrix.getAsDouble怎么用?Java Matrix.getAsDouble使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.ujmp.core.Matrix的用法示例。


在下文中一共展示了Matrix.getAsDouble方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: AbsMax

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
/**
 * 用于计算一个矩阵的元素中,绝对值最大的那个值。
 *
 * @param matrix
 * @return
 */
public static double AbsMax(Matrix matrix) {
    double maxValue = 0.0;
    long[] matrix_size = matrix.getSize();
    long m = matrix_size[0];
    long n = matrix_size[1];
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            double absValue = matrix.getAsDouble(i, j);
            if (absValue < 0.0)
                absValue = absValue * (-1);
            if (absValue > maxValue)
                maxValue = absValue;
        }
    }
    return maxValue;
}
 
开发者ID:guozhaotong,项目名称:FacetExtract,代码行数:23,代码来源:AAppearedFacet.java

示例2: NormByRow

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
/**
 * 用于把矩阵按行归一化
 *
 * @param oriMatrix
 * @return
 */
public static Matrix NormByRow(Matrix oriMatrix) {
    long[] size = oriMatrix.getSize();
    long m = size[0];
    long n = size[1];
    Matrix normedMatrix = Matrix.Factory.zeros(m, n);
    for (int i = 0; i < m; i++) {
        double summary = 0.0;
        for (int j = 0; j < n; j++) {
            summary = summary + oriMatrix.getAsDouble(i, j);
        }
        if (summary == 0)
            continue;
        else {
            for (int j = 0; j < n; j++) {
                normedMatrix.setAsDouble(oriMatrix.getAsDouble(i, j) / summary, i, j);
            }
        }
    }
    return normedMatrix;
}
 
开发者ID:guozhaotong,项目名称:FacetExtract,代码行数:27,代码来源:AAppearedFacet.java

示例3: f1MeasureMicro

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double f1MeasureMicro(Matrix confusionMatrix) {
	double tp = 0;
	double fn = 0;
	double fp = 0;
	for (int catIndex = 0; catIndex < confusionMatrix.getRowCount(); catIndex++) {
		tp += confusionMatrix.getAsDouble(catIndex, catIndex);
		for (int r = 0; r < confusionMatrix.getRowCount(); r++) {
			if (r == catIndex) {
				continue;
			}
			fn += confusionMatrix.getAsDouble(r, catIndex);
		}
		for (int c = 0; c < confusionMatrix.getRowCount(); c++) {
			if (c == catIndex) {
				continue;
			}
			fp += confusionMatrix.getAsDouble(catIndex, c);
		}
	}
	return f1Measure(tp, fp, fn);
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:22,代码来源:MathUtil.java

示例4: getDouble

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public double getDouble(long... coordinates) {
	Matrix m1 = getSource().selectRows(Ret.LINK, coordinates[ROW]);
	Matrix m2 = getSource().selectRows(Ret.LINK, coordinates[COLUMN]);
	double aiSum = 0;
	double a2Sum = 0;
	double b2Sum = 0;
	for (long i = 0; i < m1.getColumnCount(); i++) {
		double a = m1.getAsDouble(0, i);
		double b = m2.getAsDouble(0, i);
		if (ignoreNaN) {
			if (!MathUtil.isNaNOrInfinite(a) && !MathUtil.isNaNOrInfinite(b)) {
				aiSum += a * b;
				a2Sum += a * a;
				b2Sum += b * b;
			}
		} else {
			aiSum += a * b;
			a2Sum += a * a;
			b2Sum += b * b;
		}
	}
	return aiSum / (Math.sqrt(a2Sum) * Math.sqrt(b2Sum));
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:24,代码来源:CosineSimilarity.java

示例5: getCosineSimilartiy

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double getCosineSimilartiy(Matrix m1, Matrix m2, boolean ignoreNaN) {
	VerifyUtil.verifySameSize(m1, m2);
	double aiSum = 0;
	double a2Sum = 0;
	double b2Sum = 0;
	for (long[] c : m1.allCoordinates()) {
		double a = m1.getAsDouble(c);
		double b = m2.getAsDouble(c);
		if (ignoreNaN) {
			if (!MathUtil.isNaNOrInfinite(a) && !MathUtil.isNaNOrInfinite(b)) {
				aiSum += a * b;
				a2Sum += a * a;
				b2Sum += b * b;
			}
		} else {
			aiSum += a * b;
			a2Sum += a * a;
			b2Sum += b * b;
		}
	}
	return aiSum / (Math.sqrt(a2Sum) * Math.sqrt(b2Sum));
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:23,代码来源:CosineSimilarity.java

示例6: getDouble

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public double getDouble(long... coordinates) {
	if (pinv == null) {

		Matrix[] usv = getSource().svd();
		Matrix u = usv[0];
		Matrix s = usv[1];
		Matrix v = usv[2];

		for (int i = (int) Math.min(s.getRowCount(), s.getColumnCount()); --i >= 0;) {
			double d = s.getAsDouble(i, i);
			if (Math.abs(d) > UJMPSettings.getInstance().getTolerance()) {
				s.setAsDouble(1.0 / d, i, i);
			} else {
				s.setAsDouble(0.0, i, i);
			}
		}

		pinv = v.mtimes(s.transpose()).mtimes(u.transpose());

	}
	return pinv.getAsDouble(coordinates);
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:23,代码来源:Pinv.java

示例7: getDouble

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public double getDouble(long... coordinates) {
	final Matrix m1 = getSources()[0];
	final Matrix m2 = getSources()[1];

	final long row = coordinates[ROW];
	final long col = coordinates[COLUMN];

	double sum = 0.0;
	if (ignoreNaN) {
		for (long k = m1.getColumnCount(); --k >= 0;) {
			sum += MathUtil.ignoreNaN(m1.getAsDouble(row, k))
					* MathUtil.ignoreNaN(m2.getAsDouble(k, col));
		}
	} else {
		for (long k = m1.getColumnCount(); --k >= 0;) {
			sum += m1.getAsDouble(row, k) * m2.getAsDouble(k, col);
		}
	}

	return sum;
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:22,代码来源:Mtimes.java

示例8: SumMatrix

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double SumMatrix(Matrix matrix) {
    double value = 0.0;
    long[] matrix_size = matrix.getSize();
    long m = matrix_size[0];
    long n = matrix_size[1];
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            value = value + matrix.getAsDouble(i, j);
        }
    }
    return value;
}
 
开发者ID:guozhaotong,项目名称:FacetExtract,代码行数:13,代码来源:AAppearedFacet.java

示例9: MaxLocation

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
/**
 * 用于找到一个行矩阵的最大值出现在的位置。
 *
 * @param matrix:这需要是一个行矩阵。一行,n列。
 * @return
 */
public static long MaxLocation(Matrix matrix) {
    long l = 0;
    double maxValue = AbsMax(matrix);
    long[] matrix_size = matrix.getSize();
    long n = matrix_size[1];
    for (int i = 0; i < n; i++) {
        if (matrix.getAsDouble(0, i) == maxValue) {
            l = i;
            break;
        }
    }
    return l;
}
 
开发者ID:guozhaotong,项目名称:FacetExtract,代码行数:20,代码来源:AAppearedFacet.java

示例10: getVector

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
/**
 * @return
 */
public double[] getVector() {
	double[] v = null;
	if(matrix instanceof Matrix) {
		Matrix m = (Matrix) matrix;
		v = new double[(int) m.getSize()[0]];
		for(int i=0; i<v.length; i++)
			v[i] = m.getAsDouble(i);
	}
	return v;
}
 
开发者ID:AKSW,项目名称:Resource2Vec,代码行数:14,代码来源:R2VMatrix.java

示例11: toWriter

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static final void toWriter(Writer w, Matrix m, Object... parameters) throws IOException {
	w.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
	w.write("<graphml>\n");
	w.write("<key id=\"k0\" for=\"node\" attr.name=\"variableName\" attr.type=\"string\"></key>\n");
	w.write("<key id=\"k1\" for=\"node\" attr.name=\"description\" attr.type=\"string\"></key>\n");
	w.write("<key id=\"k2\" for=\"edge\" attr.name=\"confidence\" attr.type=\"double\"><default>0.0</default></key>\n");
	w.write("<key id=\"k3\" for=\"edge\" attr.name=\"directed\" attr.type=\"boolean\"><default>false</default></key>\n");
	w.write("<key id=\"k5\" for=\"node\" attr.name=\"xPos\" attr.type=\"string\"></key>\n");
	w.write("<key id=\"k6\" for=\"node\" attr.name=\"yPos\" attr.type=\"string\"></key>\n");

	w.write("<graph id=\"" + m.getLabel() + "\" edgedefault=\"undirected\">\n");

	for (int i = 0; i < m.getRowCount(); i++) {
		w.write("<node id=\"node" + i + "\">\n");
		w.write("<data key=\"k0\">" + m.getRowLabel(i).replaceAll("[<>&]", "") + "</data>\n");
		// w.write("<data key=\"k5\">" + n.getPosX() + "</data>\n");
		// w.write("<data key=\"k6\">" + n.getPosY() + "</data>\n");
		w.write("</node>\n");
	}

	int id = 0;
	for (long[] c : m.allCoordinates()) {
		if (m.getAsDouble(c) > 0.0) {
			w.write("<edge id=\"edge" + (id++) + "\" ");
			w.write("source=\"node" + c[Matrix.ROW] + "\" ");
			w.write("target=\"node" + c[Matrix.COLUMN] + "\">\n");
			w.write("</edge>\n");
		}
	}
	w.write("</graph>\n");
	w.write("</graphml>");
	w.close();
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:34,代码来源:ExportMatrixGML.java

示例12: predictOne

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Matrix predictOne(Matrix input) {
	input = input.toColumnVector(Ret.LINK);
	final double[] probs = new double[classCount];
	final double[] logs = new double[classCount];

	for (int j = 0; j < classCount; j++) {
		logs[j] += Math.log(classDists[j].getProbability(1.0));
	}

	// for all features
	for (int j = 0; j < input.getColumnCount(); j++) {
		// for all classes
		double probSum = 0;
		for (int i = 0; i < classCount; i++) {
			double value = input.getAsDouble(0, j);
			double probability = dists[j][i].getProbability(value);
			probs[i] = probability;
			probSum += probability;
		}
		for (int i = 0; i < classCount; i++) {
			logs[i] += Math.log(probs[i] / probSum);
		}
	}

	final double[] finalProbs = MathUtil.logToProbs(logs);
	Matrix m = Matrix.Factory.linkToArray(finalProbs).transpose();
	return m;
}
 
开发者ID:jdmp,项目名称:java-data-mining-package,代码行数:29,代码来源:NaiveBayesClassifier.java

示例13: precisionMicro

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double precisionMicro(Matrix confusionMatrix) {
	double tp = 0;
	double fp = 0;
	for (int catIndex = 0; catIndex < confusionMatrix.getRowCount(); catIndex++) {
		tp += confusionMatrix.getAsDouble(catIndex, catIndex);
		for (int c = 0; c < confusionMatrix.getRowCount(); c++) {
			if (c == catIndex) {
				continue;
			}
			fp += confusionMatrix.getAsDouble(catIndex, c);
		}
	}
	return precision(tp, fp);
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:15,代码来源:MathUtil.java

示例14: calc

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double calc(Matrix m) {
	double sum = 0.0;
	for (long[] c : m.availableCoordinates()) {
		sum += m.getAsDouble(c);
	}
	return sum / Coordinates.product(m.getSize());
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:8,代码来源:Mean.java

示例15: calc

import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double calc(Matrix m) {
	double min = Double.MAX_VALUE;
	double v = 0.0;
	for (long[] c : m.availableCoordinates()) {
		min = (v = m.getAsDouble(c)) < min ? v : min;
	}
	min = min == Double.MAX_VALUE ? Double.NaN : min;
	return min;
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:10,代码来源:Min.java


注:本文中的org.ujmp.core.Matrix.getAsDouble方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。