Ryan Curtin
|
a9b291485c
|
Test RANN with cover trees.
|
2013-10-04 04:30:31 +00:00 |
|
Ryan Curtin
|
836332d526
|
Overhaul RASearchRules so that they will work correctly with cover trees.
|
2013-10-04 04:30:09 +00:00 |
|
Ryan Curtin
|
a4b0955686
|
Handle cases where the reference map is empty a little better.
|
2013-10-04 04:29:45 +00:00 |
|
Ryan Curtin
|
8cc615396c
|
Remove unnecessary functions that were originally for kd-tree compatibility.
|
2013-10-04 04:29:31 +00:00 |
|
Ryan Curtin
|
b21e357578
|
If the root node ends up having an implicit child (not an illicit child!),
remove the implicit node.
|
2013-10-04 04:29:14 +00:00 |
|
Ryan Curtin
|
69d2a71e4a
|
This is premature; wait for this until later.
|
2013-10-03 17:24:23 +00:00 |
|
Ryan Curtin
|
cc4e988b63
|
Remove fake functions that should only be specific to the kd-tree.
|
2013-10-03 17:22:14 +00:00 |
|
Ryan Curtin
|
bc3c0f37b6
|
What, how did I miss this? I definitely built the test and checked it...
|
2013-10-03 15:23:02 +00:00 |
|
Ryan Curtin
|
eb659f8028
|
Add test for EigenvalueRatioConstraint.
|
2013-10-03 15:07:24 +00:00 |
|
Ryan Curtin
|
b9673bb993
|
Add EigenvalueRatioConstraint class for EMFit.
|
2013-10-03 15:07:15 +00:00 |
|
Ryan Curtin
|
7382ca52d0
|
Add test for DiagonalConstraint.
|
2013-10-03 02:05:36 +00:00 |
|
Ryan Curtin
|
c79ddf464c
|
Add DiagonalConstraint.
|
2013-10-03 02:05:25 +00:00 |
|
Ryan Curtin
|
77f43102b6
|
Oh hey, I have to check this in too.
|
2013-10-03 00:49:30 +00:00 |
|
Ryan Curtin
|
d80ede4b33
|
Update name of constraint class.
|
2013-10-03 00:11:27 +00:00 |
|
Ryan Curtin
|
19b95a33c4
|
Rename PositiveDefiniteCovariance to PositiveDefiniteConstraint, because I think
that's a better name and nobody's going to stop me (...I think?).
|
2013-10-03 00:11:18 +00:00 |
|
Ryan Curtin
|
7cf9c3bca2
|
Add tests for NoConstraint and PositiveDefiniteCovariance.
|
2013-10-02 21:50:42 +00:00 |
|
Ryan Curtin
|
23ae2031d2
|
Make function static.
|
2013-10-02 21:50:07 +00:00 |
|
Ryan Curtin
|
8116fff35b
|
Refactor EMFit<> so that the covariance constraint is a template parameter, and
update other components accordingly.
|
2013-10-02 21:32:33 +00:00 |
|
Ryan Curtin
|
abbf4aecd0
|
More comprehensive documentation on options and input/output formats.
|
2013-10-01 20:33:37 +00:00 |
|
Ryan Curtin
|
790c4eca54
|
Actually use number of recommendations and size of neighborhood in calculations.
|
2013-10-01 20:18:33 +00:00 |
|
Ryan Curtin
|
db5d6f95f5
|
Better comments for unimplemented functionality.
|
2013-10-01 20:08:28 +00:00 |
|
Ryan Curtin
|
d8f50cc35d
|
Remove options for output files that weren't being used, and comment out options
that aren't implemented yet.
|
2013-10-01 20:07:30 +00:00 |
|
Ryan Curtin
|
2133591397
|
When --query_file is specified, only give recommendations for those users.
|
2013-10-01 20:05:27 +00:00 |
|
Ryan Curtin
|
f0df7a029a
|
Build CF module.
|
2013-10-01 19:50:34 +00:00 |
|
Ryan Curtin
|
3a27bedb2a
|
Build the CF test.
|
2013-10-01 19:50:14 +00:00 |
|
Ryan Curtin
|
5382e2dbb9
|
Fix comment (thanks Marcus).
|
2013-10-01 19:50:02 +00:00 |
|
Ryan Curtin
|
4efa293f7d
|
Clean up main executable; a bit of const-correctness pedantry, and don't use
c_str() if it isn't needed.
|
2013-10-01 19:31:07 +00:00 |
|
Ryan Curtin
|
3708a02af8
|
Add a test to make sure the output of the CF object is reasonable. I think this
is a good test...
|
2013-10-01 19:22:03 +00:00 |
|
Ryan Curtin
|
8baefe7da8
|
Add a ridge regression test case (huh, I wonder how I forgot to check this in
earlier).
|
2013-10-01 19:21:29 +00:00 |
|
Ryan Curtin
|
7cbc98c0ca
|
Add convenient function to get sparse matrix.
|
2013-10-01 16:59:58 +00:00 |
|
Ryan Curtin
|
b2c914841e
|
Clean up CFTest, and fix some comments that were wrong.
|
2013-10-01 16:04:45 +00:00 |
|
Ryan Curtin
|
409163f24c
|
Remove method that allows modifying the data matrix, because references can't be
re-pointed, and also because the sparse data matrix is only built in the
constructor.
|
2013-10-01 15:58:50 +00:00 |
|
Ryan Curtin
|
c7096243b7
|
Remove Query() function as it is only used once; inline it into
GetRecommendations().
|
2013-10-01 03:54:05 +00:00 |
|
Ryan Curtin
|
4be86901b9
|
No! The spaces were WRONG!
|
2013-10-01 03:47:21 +00:00 |
|
Ryan Curtin
|
68a8d65b71
|
The very large and dense 'mask' matrix is now unnecessary.
|
2013-10-01 02:26:44 +00:00 |
|
Ryan Curtin
|
9ba72d3996
|
Remove CalculateTopRecommendations() function, because it was only called once.
The 'recos' variable, as best I could tell, was not used for anything.
|
2013-10-01 02:24:40 +00:00 |
|
Ryan Curtin
|
6a4dc8bacb
|
Issue a warning if the correct number of recommendations could not be provided.
|
2013-10-01 02:21:04 +00:00 |
|
Ryan Curtin
|
ca2e9b6305
|
Refactor CalculateTopRecommendations(), including a complete overhaul of how
recommendations are actually calculated. std::pair<> and std::map<> are often
quite slow, especially in that implementation. This is faster.
|
2013-10-01 02:13:17 +00:00 |
|
Ryan Curtin
|
1d5d01174c
|
Remove CalculateAverages() since it is only called once, and inline it into
Query(). The code has been cleaned up a bit and should run faster now because
it does not use a temporary column vector.
|
2013-09-30 22:37:19 +00:00 |
|
Ryan Curtin
|
9165d1fe48
|
Remove GetNeighbourhood() because it is only called once. The check that
numUsersForSimilarity < numUsers is redundant because AllkNN will make that
check.
|
2013-09-30 22:24:43 +00:00 |
|
Ryan Curtin
|
2649c42a71
|
Inline CreateQuery() function since it is only used once, and use better
Armadillo functions to make the generation cleaner-looking (probably no
speedup).
|
2013-09-30 20:49:53 +00:00 |
|
Ryan Curtin
|
1cff0114b0
|
Clean up Query(). It makes me feel a little gross to be so pedantic as to
change 'neighbourhood' to 'neighborhood', and maybe I'm taking "code
consistency" a bit too seriously, but it's too late and I've already done it.
|
2013-09-30 19:48:32 +00:00 |
|
Ryan Curtin
|
534ac4c75d
|
Remove CalculateApproximateRatings() since it is only ever called once.
|
2013-09-30 19:44:55 +00:00 |
|
Ryan Curtin
|
5b9e6f171a
|
Remove GenerateRating() function because it's only one line and only used in one
place.
|
2013-09-30 19:43:00 +00:00 |
|
Ryan Curtin
|
0ab9b515b8
|
Decompose() is only called once, so just inline it because it's simple.
|
2013-09-30 19:40:36 +00:00 |
|
Ryan Curtin
|
678157377e
|
Clean up Decompose().
|
2013-09-30 19:38:53 +00:00 |
|
Ryan Curtin
|
57d95bea45
|
Use sparse matrix batch constructor.
|
2013-09-30 17:54:37 +00:00 |
|
Ryan Curtin
|
e927f6ade9
|
Minor comment fix.
|
2013-09-30 17:54:28 +00:00 |
|
Marcus Edel
|
ffa9d5bc20
|
Fix ambiguous call to RandomSeed, to pass the test with clang.
|
2013-09-30 17:41:03 +00:00 |
|
Ryan Curtin
|
017c206cbf
|
Clean up CleanData() function. Don't use temporary matrices; there's no point
to doing that.
|
2013-09-30 17:26:01 +00:00 |
|