#ifndef STRUCTURES_H #define STRUCTURES_H #include #include #include #include #include using namespace std; const string trainingDir = "/home/gregstoll/stuff/netflixprize/download/training_set/"; const string trainingFilePrefix = "mv_"; const string trainingFileSuffix = ".txt"; const string binaryEntriesDir = "/home/gregstoll/stuff/netflixprize/download/binary_training_set/"; const string predictionFileName = "/home/gregstoll/stuff/netflixprize/download/qualifying.txt"; const string probeFileName = "/home/gregstoll/stuff/netflixprize/download/probe.txt"; const string probeResultsFileName = "/home/gregstoll/stuff/netflixprize/download/proberatings.txt"; const string probeDataDir = "/home/gregstoll/projects/netflixprize/probe/"; const string predictionDataDir = "/home/gregstoll/projects/netflixprize/"; const int numMovies = 17770; static string formatNumber(int num, int length) { stringstream ss; ss << "" << num; string toReturn = ss.str(); while (toReturn.size() < length) { toReturn = "0" + toReturn; } return toReturn; } class Entry { public: // TODO - timestamp Entry() { Entry(0,0,0); } Entry(int userId, char rating, int movieId) { setData(userId, rating, movieId); } friend std::ostream& operator<<(std::ostream& os, const Entry& entry); bool operator==(const Entry& e) const { return (userId == e.userId) && (ratingAndMovieId == e.ratingAndMovieId); } bool equalsWithoutRating(const Entry& e) const { return (userId == e.userId) && (getMovieId() == e.getMovieId()); } void setData(int userId, char rating, int movieId) { this->userId = userId; this->ratingAndMovieId = rating; this->ratingAndMovieId |= movieId << 4; } int getUserId() const { return userId; } char getRating() const { return (char) (ratingAndMovieId & 0xf); } int getMovieId() const { return (ratingAndMovieId >> 4); } int userId; int ratingAndMovieId; }; class AverageRating { public: AverageRating() { AverageRating(0.0, 0, 0.0); } AverageRating(double aR, int nR, double sD) { averageRating = aR; numRatings = nR; stdDev = sD; } double averageRating; int numRatings; double stdDev; }; struct MovieCorrelation { MovieCorrelation(int mI, double c) : movieId(mI), correlation(c) { } MovieCorrelation() { } int movieId; double correlation; }; #endif // STRUCTURES_H