org.apache.mahout.math.Matrix.get()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(167)

本文整理了Java中org.apache.mahout.math.Matrix.get()方法的一些代码示例,展示了Matrix.get()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Matrix.get()方法的具体详情如下:
包路径:org.apache.mahout.math.Matrix
类名称:Matrix
方法名:get

Matrix.get介绍

[英]Return the value at the given indexes
[中]返回给定索引处的值

代码示例

代码示例来源:origin: apache/mahout

@Test(expected = IllegalStateException.class)
public void testSettingLabelBindings() {
 assertNull("row bindings", test.getRowLabelBindings());
 assertNull("col bindings", test.getColumnLabelBindings());
 test.set("Fee", "Foo", 1, 1, 9);
 assertNotNull("row", test.getRowLabelBindings());
 assertNotNull("row", test.getRowLabelBindings());
 assertEquals("Fee", 1, test.getRowLabelBindings().get("Fee").intValue());
 assertEquals("Foo", 1, test.getColumnLabelBindings().get("Foo").intValue());
 assertEquals("FeeFoo", test.get(1, 1), test.get("Fee", "Foo"), EPSILON);
 test.get("Fie", "Foe");
}

代码示例来源:origin: apache/mahout

private static void print(Matrix m) {
  for (int i = 0; i < m.rowSize(); i++) {
   for (int j = 0; j < m.columnSize(); j++) {
    if (Math.abs(m.get(i, j)) > 1.0e-10) {
     System.out.printf("%10.3f ", m.get(i, j));
    } else {
     System.out.printf("%10s ", (i + j) % 3 == 0 ? "." : "");
    }
   }
   System.out.printf("\n");
  }
  System.out.printf("\n");
 }
}

代码示例来源:origin: apache/mahout

@Test(expected = IllegalStateException.class)
public void testSettingLabelBindings() {
 Matrix m = matrixFactory(new double[][]{{1, 3, 4}, {5, 2, 3},
   {1, 4, 2}});
 assertNull("row bindings", m.getRowLabelBindings());
 assertNull("col bindings", m.getColumnLabelBindings());
 m.set("Fee", "Foo", 1, 2, 9);
 assertNotNull("row", m.getRowLabelBindings());
 assertNotNull("row", m.getRowLabelBindings());
 assertEquals("Fee", 1, m.getRowLabelBindings().get("Fee").intValue());
 assertEquals("Fee", 2, m.getColumnLabelBindings().get("Foo").intValue());
 assertEquals("FeeFoo", m.get(1, 2), m.get("Fee", "Foo"), EPSILON);
 m.get("Fie", "Foe");
}

代码示例来源:origin: apache/mahout

private static void printMatrix(String name, Matrix m) {
 int rows = m.numRows();
 int columns = m.numCols();
 System.out.printf("%s - %d x %d\n", name, rows, columns);
 for (int i = 0; i < rows; i++) {
  for (int j = 0; j < columns; j++) {
   System.out.printf("%10.5f", m.get(i, j));
  }
  System.out.printf("\n");
 }
 System.out.printf("\n");
 System.out.printf("\n");
}

代码示例来源:origin: apache/mahout

@Test
public void testLabelBindings() {
 assertNull("row bindings", test.getRowLabelBindings());
 assertNull("col bindings", test.getColumnLabelBindings());
 Map<String, Integer> rowBindings = Maps.newHashMap();
 rowBindings.put("Fee", 0);
 rowBindings.put("Fie", 1);
 test.setRowLabelBindings(rowBindings);
 assertEquals("row", rowBindings, test.getRowLabelBindings());
 Map<String, Integer> colBindings = Maps.newHashMap();
 colBindings.put("Foo", 0);
 colBindings.put("Bar", 1);
 test.setColumnLabelBindings(colBindings);
 assertEquals("row", rowBindings, test.getRowLabelBindings());
 assertEquals("Fee", test.get(0, 1), test.get("Fee", "Bar"), EPSILON);
 double[] newrow = {9, 8};
 test.set("Fie", newrow);
 assertEquals("FeeBar", test.get(0, 1), test.get("Fee", "Bar"), EPSILON);
}

代码示例来源:origin: apache/mahout

private static void printMatrix(String name, Matrix m) {
 int rows = m.numRows();
 int columns = m.numCols();
 System.out.printf("%s - %d x %d\n", name, rows, columns);
 for (int i = 0; i < rows; i++) {
  for (int j = 0; j < columns; j++) {
   System.out.printf("%10.5f", m.get(i, j));
  }
  System.out.printf("\n");
 }
 System.out.printf("\n");
 System.out.printf("\n");
}

代码示例来源:origin: apache/mahout

@Test(expected = IndexException.class)
public void testGetIndexOver() {
 for (int row = 0; row < test.rowSize() + 1; row++) {
  for (int col = 0; col < test.columnSize(); col++) {
   test.get(row, col);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test(expected = IndexException.class)
public void testGetIndexUnder() {
 for (int row = -1; row < test.rowSize(); row++) {
  for (int col = 0; col < test.columnSize(); col++) {
   test.get(row, col);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test(expected = IndexException.class)
public void testGetIndexOver() {
 for (int row = 0; row < test.rowSize() + 1; row++) {
  for (int col = 0; col < test.columnSize(); col++) {
   test.get(row, col);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test(expected = IndexException.class)
public void testGetIndexUnder() {
 for (int row = -1; row < test.rowSize(); row++) {
  for (int col = 0; col < test.columnSize(); col++) {
   test.get(row, col);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testGet() {
 for (int row = 0; row < test.rowSize(); row++) {
  for (int col = 0; col < test.columnSize(); col++) {
   assertEquals("value[" + row + "][" + col + ']', values[row][col], test
     .get(row, col), EPSILON);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testGet() {
 for (int row = 0; row < test.rowSize(); row++) {
  for (int col = 0; col < test.columnSize(); col++) {
   assertEquals("value[" + row + "][" + col + ']',
     values[row + 1][col + 1], test.get(row, col), EPSILON);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testClone() {
 double oldValue = 1.23;
 double newValue = 2.34;
 double[][] values = {{oldValue, 3}, {3, 5}, {7, 9}};
 Matrix matrix = matrixFactory(values);
 Matrix clone = matrix.clone();
 clone.set(0, 0, newValue);
 //test whether the update in the clone is reflected in the original matrix
 assertEquals("Matrix clone is not independent of the original",
  oldValue, matrix.get(0, 0), EPSILON);
}

代码示例来源:origin: apache/mahout

@Test
public void testColumnView() {
 assertEquals(test.rowSize(), test.viewColumn(0).size());
 assertEquals(test.rowSize(), test.viewColumn(1).size());
 Random gen = RandomUtils.getRandom();
 for (int col = 0; col < test.columnSize(); col++) {
  int j = gen.nextInt(test.columnSize());
  double old = test.get(col, j);
  double v = gen.nextGaussian();
  test.viewColumn(col).set(j, v);
  assertEquals(v, test.get(j, col), 0);
  assertEquals(v, test.viewColumn(col).get(j), 0);
  test.set(j, col, old);
  assertEquals(old, test.get(j, col), 0);
  assertEquals(old, test.viewColumn(col).get(j), 0);
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testRowView() {
 assertEquals(test.columnSize(), test.viewRow(1).size());
 assertEquals(test.columnSize(), test.viewRow(2).size());
 Random gen = RandomUtils.getRandom();
 for (int row = 0; row < test.rowSize(); row++) {
  int j = gen.nextInt(test.columnSize());
  double old = test.get(row, j);
  double v = gen.nextGaussian();
  test.viewRow(row).set(j, v);
  assertEquals(v, test.get(row, j), 0);
  assertEquals(v, test.viewRow(row).get(j), 0);
  test.set(row, j, old);
  assertEquals(old, test.get(row, j), 0);
  assertEquals(old, test.viewRow(row).get(j), 0);
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testTimesMatrix() {
 Matrix transpose = test.transpose();
 Matrix value = test.times(transpose);
 assertEquals("rows", test.rowSize(), value.rowSize());
 assertEquals("cols", test.rowSize(), value.columnSize());
 Matrix expected = new DenseMatrix(new double[][]{{5.0, 11.0, 17.0},
   {11.0, 25.0, 39.0}, {17.0, 39.0, 61.0}}).times(1.21);
 for (int i = 0; i < expected.numCols(); i++) {
  for (int j = 0; j < expected.numRows(); j++) {
   assertTrue("Matrix times transpose not correct: " + i + ", " + j
     + "\nexpected:\n\t" + expected + "\nactual:\n\t"
     + value,
     Math.abs(expected.get(i, j) - value.get(i, j)) < 1.0e-12);
  }
 }
 Matrix timestest = new DenseMatrix(10, 1);
 /* will throw ArrayIndexOutOfBoundsException exception without MAHOUT-26 */
 timestest.transpose().times(timestest);
}

代码示例来源:origin: apache/mahout

@Test
public void testViewPart() {
 int[] offset = {1, 1};
 int[] size = {2, 1};
 Matrix view = test.viewPart(offset, size);
 assertEquals(2, view.rowSize());
 assertEquals(1, view.columnSize());
 for (int row = 0; row < view.rowSize(); row++) {
  for (int col = 0; col < view.columnSize(); col++) {
   assertEquals("value[" + row + "][" + col + ']',
     values[row + 1][col + 1], view.get(row, col), EPSILON);
  }
 }
}

代码示例来源:origin: apache/mahout

@Test
public void testBasics() {
 Matrix a = new DenseSymmetricMatrix(new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, false);
 System.out.println(a.toString());
 assertEquals(0, a.viewDiagonal().minus(new DenseVector(new double[]{1, 5, 8, 10})).norm(1), 1.0e-10);
 assertEquals(0, a.viewPart(0, 3, 1, 3).viewDiagonal().minus(
   new DenseVector(new double[]{2, 6, 9})).norm(1), 1.0e-10);
 assertEquals(4, a.get(0, 3), 1.0e-10);
 System.out.println(a);
 Matrix m = new DenseMatrix(4, 4).assign(a);
 assertEquals(0, m.minus(a).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
 System.out.println(m);
 assertEquals(0, m.transpose().times(m).minus(a.transpose().times(a)).aggregate(
   Functions.PLUS, Functions.ABS), 1.0e-10);
 System.out.println(a.plus(a));
 assertEquals(0, m.plus(m).minus(a.plus(a)).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
}

代码示例来源:origin: apache/mahout

/**
 * Predict the power law growth in number of unique samples from the first few data points.
 * Also check that the fitted growth coefficient is about right.
 *
 * @param m
 * @param currentIndex        Total data points seen so far.  Unique values should be log(currentIndex)*expectedCoefficient + offset.
 * @param expectedCoefficient What slope do we expect.
 * @return The predicted value for log(currentIndex)
 */
private static double predictSize(Matrix m, int currentIndex, double expectedCoefficient) {
 int rows = m.rowSize();
 Matrix a = m.viewPart(0, rows, 1, 2);
 Matrix b = m.viewPart(0, rows, 0, 1);
 Matrix ata = a.transpose().times(a);
 Matrix atb = a.transpose().times(b);
 QRDecomposition s = new QRDecomposition(ata);
 Matrix r = s.solve(atb).transpose();
 assertEquals(expectedCoefficient, r.get(0, 0), 0.2);
 return r.times(new DenseVector(new double[]{Math.log(currentIndex), 1})).get(0);
}

代码示例来源:origin: apache/mahout

@Test
public void testBasics() {
 Matrix a = new UpperTriangular(new double[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, false);
 assertEquals(0, a.viewDiagonal().minus(new DenseVector(new double[]{1, 5, 8, 10})).norm(1), 1.0e-10);
 assertEquals(0, a.viewPart(0, 3, 1, 3).viewDiagonal().minus(
   new DenseVector(new double[]{2, 6, 9})).norm(1), 1.0e-10);
 assertEquals(4, a.get(0, 3), 1.0e-10);
 print(a);
 Matrix m = new DenseMatrix(4, 4).assign(a);
 assertEquals(0, m.minus(a).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
 print(m);
 assertEquals(0, m.transpose().times(m).minus(a.transpose().times(a)).aggregate(
   Functions.PLUS, Functions.ABS), 1.0e-10);
 assertEquals(0, m.plus(m).minus(a.plus(a)).aggregate(Functions.PLUS, Functions.ABS), 1.0e-10);
}

相关文章