function RecommenderMatrixTestCase::testVector in Recommender API 6.2
File
- ./
recommender.test, line 23
Class
Code
function testVector() {
$vec1 = Vector::create('RealVector', 5, 0);
$vec1
->set(0, 1);
$vec1
->set(2, 5);
$vec1
->set(4, 3);
$this
->assertEqual(5, $vec1
->count());
$this
->assertEqual(1.8, $vec1
->mean());
$array = array(
1,
1,
5,
0,
3,
);
$vec2 = Vector::wrap('RealVector', $array);
$this
->assertEqual(2, $vec2
->mean());
$this
->assertEqual(3.2, $vec2
->variance());
$this
->assertEqual(3.4, $vec2
->covariance($vec1));
$this
->assertEqualX(0.9802, $vec1
->correlation($vec2));
$vec3 = Vector::create('SparseVector', 5);
$vec3
->set(0, 1);
$vec3
->set(2, 5);
$vec3
->set(4, 3);
$this
->assertEqual(3, $vec3
->count());
$this
->assertEqual(3, $vec3
->mean());
$this
->assertEqual(8 / 3, $vec3
->variance());
$array = array();
$vec4 = Vector::wrap('SparseVector', $array);
$this
->assertTrue(is_nan($vec4
->mean()));
$vec3
->set(1, 1);
$vec4
->set(0, 2);
$vec4
->set(2, 4);
$vec4
->set(4, 1);
$this
->assertEqual(4 / 3, $vec3
->covariance($vec4));
$this
->assertEqual(4 / 3, $vec4
->covariance($vec3));
$this
->assertEqualX(0.6546999999999999, $vec3
->correlation($vec4));
$vec5 = Vector::create('RealVector', 5, 1);
$vec6 = Vector::create('RealVector', 5, 2);
$this
->assertTrue(is_nan($vec5
->correlation($vec6)));
}