Commit Graph
11704 Commits
Author SHA1 Message Date
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