本文整理汇总了Java中org.ujmp.core.Matrix.getAsInt方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix.getAsInt方法的具体用法?Java Matrix.getAsInt怎么用?Java Matrix.getAsInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.ujmp.core.Matrix
的用法示例。
在下文中一共展示了Matrix.getAsInt方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: trainAll
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public void trainAll(ListDataSet dataSet) {
Matrix dataSetInput = dataSet.getInputMatrix();
Matrix max = dataSetInput.max(Ret.NEW, Matrix.ROW);
cumSum = new ArrayList<Integer>((int) max.getColumnCount());
int sum = 0;
cumSum.add(sum);
for (int i = (int) max.getColumnCount() - 1; i != -1; i--) {
sum += max.getAsInt(0, i) + 1;
cumSum.add(sum);
}
LabelAlphabet inputAlphabet = new LabelAlphabet();
int featureCount = getFeatureCount(dataSet);
for (int i = 0; i < featureCount; i++) {
// iterate from 1 to max (inclusive!)
for (int fv = 1; fv < max.getAsDouble(0, i) + 1; fv++) {
inputAlphabet.lookupIndex("Feature" + i + "=" + fv, true);
}
}
LabelAlphabet targetAlphabet = new LabelAlphabet();
for (int i = 0; i < dataSet.getTargetMatrix().getColumnCount(); i++) {
targetAlphabet.lookupIndex("Class" + i, true);
}
InstanceList trainingSet = new DataSet2InstanceList(dataSet, inputAlphabet, targetAlphabet, cumSum);
classifier = trainer.train(trainingSet);
}
示例2: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix source = MathUtil.getMatrix(input.get(SOURCE));
Matrix target = Matrix.Factory.zeros(source.getRowCount(), 1);
long cols = source.getColumnCount();
long rows = source.getRowCount();
for (int k = 0; k < rows; k++) {
int tp = 0;
int fp = 0;
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
int count = source.getAsInt(r, c);
boolean expected = r == k;
boolean predicted = c == k;
if (expected && predicted) {
tp += count;
} else if ((!expected) && predicted) {
fp += count;
}
}
}
target.setAsDouble(MathUtil.precision(tp, fp), k, 0);
}
result.put(TARGET, target);
return result;
}
示例3: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix source = MathUtil.getMatrix(input.get(SOURCE));
Matrix target = Matrix.Factory.zeros(source.getRowCount(), 1);
long cols = source.getColumnCount();
long rows = source.getRowCount();
for (int k = 0; k < rows; k++) {
int tp = 0;
int fn = 0;
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
int count = source.getAsInt(r, c);
boolean expected = r == k;
boolean predicted = c == k;
if (expected && predicted) {
tp += count;
} else if (expected && (!predicted)) {
fn += count;
}
}
}
target.setAsDouble(MathUtil.recall(tp, fn), k, 0);
}
result.put(TARGET, target);
return result;
}
示例4: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix source = MathUtil.getMatrix(input.get(SOURCE));
Matrix target = Matrix.Factory.zeros(source.getRowCount(), 1);
long cols = source.getColumnCount();
long rows = source.getRowCount();
for (int k = 0; k < rows; k++) {
int tp = 0;
int fn = 0;
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
int count = source.getAsInt(r, c);
boolean expected = r == k;
boolean predicted = c == k;
if (expected && predicted) {
tp += count;
} else if (expected && (!predicted)) {
fn += count;
}
}
}
target.setAsDouble(MathUtil.sensitivity(tp, fn), k, 0);
}
result.put(TARGET, target);
return result;
}
示例5: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix source = MathUtil.getMatrix(input.get(SOURCE));
Matrix target = Matrix.Factory.zeros(source.getRowCount(), 1);
long cols = source.getColumnCount();
long rows = source.getRowCount();
for (int k = 0; k < rows; k++) {
int tp = 0;
int tn = 0;
int fn = 0;
int fp = 0;
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
int count = source.getAsInt(r, c);
boolean expected = r == k;
boolean predicted = c == k;
if (expected && predicted) {
tp += count;
} else if (expected && (!predicted)) {
fn += count;
} else if ((!expected) && predicted) {
fp += count;
} else {
tn += count;
}
}
}
target.setAsDouble(MathUtil.specificity(tn, fp), k, 0);
}
result.put(TARGET, target);
return result;
}
示例6: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix source = MathUtil.getMatrix(input.get(SOURCE));
Matrix target = Matrix.Factory.zeros(source.getRowCount(), 1);
long cols = source.getColumnCount();
long rows = source.getRowCount();
for (int k = 0; k < rows; k++) {
int tp = 0;
int tn = 0;
int fn = 0;
int fp = 0;
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
int count = source.getAsInt(r, c);
boolean expected = r == k;
boolean predicted = c == k;
if (expected && predicted) {
tp += count;
} else if (expected && (!predicted)) {
fn += count;
} else if ((!expected) && predicted) {
fp += count;
} else {
tn += count;
}
}
}
target.setAsDouble(MathUtil.f1Measure(tp, fp, fn), k, 0);
}
result.put(TARGET, target);
return result;
}
示例7: CreateMatrixP1
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
/**
* 用于生成矩阵p1
*
* @param p0
*/
public static Matrix CreateMatrixP1(Matrix p0) {
System.out.println("正在构建矩阵P1...");
long[] p0_size = p0.getSize();
long n = p0_size[1];
Matrix p1 = Matrix.Factory.zeros(n, n);
Matrix pai = Matrix.Factory.zeros(n, n);
for (int order = 0; order < n; order++) {
Matrix s = Matrix.Factory.zeros(1, n);
Matrix d = Matrix.Factory.zeros(1, n);
Matrix p = Matrix.Factory.zeros(1, n);
for (int i = 0; i < n; i++) {
d.setAsDouble(p0.getAsDouble(order, i), 0, i);
if (p0.getAsDouble(order, i) == 0)
p.setAsInt(-1, 0, i);
else
p.setAsInt(order, 0, i);
}
s.setAsInt(1, 0, order);
for (int i = 0; i < n; i++) {
double temp = 0.0;
int t = 0;
for (int j = 0; j < n; j++) {
if (s.getAsInt(0, j) == 0 && d.getAsDouble(0, j) > temp) {
t = j;
temp = d.getAsDouble(0, j);
}
}
s.setAsInt(1, 0, t);
if (s.getMinValue() == 1) break;
for (int j = 0; j < n; j++) {
if (s.getAsInt(0, j) == 0 && p0.getAsDouble(t, j) > 0) {
if (d.getAsDouble(0, j) < d.getAsDouble(0, t) * p0.getAsDouble(t, j)) {
d.setAsDouble(d.getAsDouble(0, t) * p0.getAsDouble(t, j), 0, j);
p.setAsInt(t, 0, j);
}
}
}
}
for (int i = 0; i < n; i++) {
p1.setAsDouble(d.getAsDouble(0, i), order, i);
pai.setAsInt(p.getAsInt(0, i), order, i);
}
}
// printMatrix(p1, oriPath + "experiment\\p1.txt");
return p1;
}