kandi background
Explore Kits

iterative-cf | storm/trident | Recommender System library

 by   pmerienne Java Version: Current License: Non-SPDX

 by   pmerienne Java Version: Current License: Non-SPDX

Download this library from

kandi X-RAY | iterative-cf Summary

iterative-cf is a Java library typically used in Artificial Intelligence, Recommender System applications. iterative-cf has no bugs, it has no vulnerabilities, it has build file available and it has low support. However iterative-cf has a Non-SPDX License. You can download it from GitHub.
Trident-CF is an highly scalable recommendation engine. This library is built on top of Storm, a distributed stream processing framework which runs on a cluster of machines and supports horizontal scaling. This library implements a user-based collaborative filtering algorithm with binary ratings. Note that Trident-CF is still in a beta phase and isn't production ready. It only lays the fundamental algorithm.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • iterative-cf has a low active ecosystem.
  • It has 19 star(s) with 6 fork(s). There are 3 watchers for this library.
  • It had no major release in the last 12 months.
  • iterative-cf has no issues reported. There are no pull requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of iterative-cf is current.
iterative-cf Support
Best in #Recommender System
Average in #Recommender System
iterative-cf Support
Best in #Recommender System
Average in #Recommender System

quality kandi Quality

  • iterative-cf has 0 bugs and 0 code smells.
iterative-cf Quality
Best in #Recommender System
Average in #Recommender System
iterative-cf Quality
Best in #Recommender System
Average in #Recommender System

securitySecurity

  • iterative-cf has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • iterative-cf code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
iterative-cf Security
Best in #Recommender System
Average in #Recommender System
iterative-cf Security
Best in #Recommender System
Average in #Recommender System

license License

  • iterative-cf has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
iterative-cf License
Best in #Recommender System
Average in #Recommender System
iterative-cf License
Best in #Recommender System
Average in #Recommender System

buildReuse

  • iterative-cf releases are not available. You will need to build from source code and install.
  • Build file is available. You can build the component from source.
  • Installation instructions, examples and code snippets are available.
iterative-cf Reuse
Best in #Recommender System
Average in #Recommender System
iterative-cf Reuse
Best in #Recommender System
Average in #Recommender System
Top functions reviewed by kandi - BETA

kandi has reviewed iterative-cf and discovered the below as its top functions. This is intended to give you an instant insight into iterative-cf implemented functionality, and help decide if they suit your requirements.

  • Retrieves a list of recommendations based on the recommendations .
    • Append user preferences to update user preferences .
      • Get a set of values
        • Compares two users .
          • Updates the state of the triples
            • Converts a byte array to a character array .
              • Serialize object to byte array
                • Builds a concrete collaboration filter .
                  • Get the score for the given key and value
                    • This method retrieves all triples of the specified tuple .

                      Get all kandi verified functions for this library.

                      Get all kandi verified functions for this library.

                      iterative-cf Key Features

                      storm/trident based highly scalable recommendation engine

                      Build collaborative filtering topology

                      copy iconCopydownload iconDownload
                      // Your trident topology
                      TridentTopology topology = ...;
                      
                      // Stream which contain the binary ratings
                      Stream preferenceStream = ...;
                      
                      // Stream which emit an empty tuple when user similarities must be re-computed
                      Stream triggerStream = ...;
                      
                      // Create collaborative filtering topology
                      TridentCollaborativeFiltering tcf = new TridentCollaborativeFilteringBuilder()
                          .use(topology)
                          .process(preferenceStream)
                          .updateSimilaritiesOn(triggerStream)
                          .build();
                      

                      Get item recommendations

                      copy iconCopydownload iconDownload
                      // The Trident-CF algorithm
                      TridentCollaborativeFiltering tcf = ...;
                      
                      // Recommendations parameters
                      int nbItems = 10;
                      int neighborhoodSize = 100;
                      
                      // Stream containing recommendation queries
                      Stream recommendationQueryStream = ...;
                      
                      // Create a new stream which contains a single field : "recommendedItems" (a List of RecommendedItem).
                      Stream recommendationStream = tcf.createItemRecommendationStream(recommendationQueryStream, nbItems, neighborhoodSize);
                      
                      

                      Configure the Trident CF topology

                      copy iconCopydownload iconDownload
                      // Custom options
                      Options options = ...;
                      
                      // Create collaborative filtering topology
                      TridentCollaborativeFiltering tcf = new TridentCollaborativeFilteringBuilder()
                          .use(topology)
                          .with(options)
                          .process(preferenceStream)
                          .updateSimilaritiesOn(triggerStream)
                          .build();
                      

                      Trident-CF states

                      copy iconCopydownload iconDownload
                      Options options = Options.redis();
                      

                      Maven

                      copy iconCopydownload iconDownload
                      <repository>
                        <id>clojars.org</id>
                        <url>http://clojars.org/repo</url>
                      </repository>
                      

                      Community Discussions

                      Trending Discussions on Recommender System
                      • Dataframe users who did not purchase item for user-item collaborative filtering
                      • How to Deploy ML Recommender System on AWS
                      • What does .nonzero()[0] mean when we want to compute the sparsity of a matrix?
                      • how to make an integer index corresponding to a string value?
                      • How can I ensure that all users and all items appear in the training set of my recommender system?
                      • LensKit Recommender only returns results for some users, otherwise returns empty DataFrame. Why is this happening?
                      • How to get similarity score for unseen documents using Gensim Doc2Vec model?
                      • Unable to create dataframe from RDD
                      • Combining output in pandas?
                      • How to get a while loop to start over after error?
                      Trending Discussions on Recommender System

                      QUESTION

                      Dataframe users who did not purchase item for user-item collaborative filtering

                      Asked 2022-Mar-05 at 12:35

                      I intend to use a hybrid user-item collaborative filtering to build a Top-N recommender system with TensorFlow Keras

                      currently my dataframe consist of |user_id|article_id|purchase

                      user article purchases

                      purchase is always TRUE because the dataset is a history of user - article purchases

                      This dataset has 800,000 rows and 3 columns

                      2 Questions
                      1. How do I process it such that I will have 20% purchase = true and 80% purchase = false to train the model?

                      2. Is a 20%, 80% true:false ratio good for this use case?

                      ANSWER

                      Answered 2022-Mar-05 at 12:35
                      1. How do I process it such that I will have 20% purchase = true and 80% purchase = false to train the model?

                      Since you only have True values, it means that you'll have to generate the False values. The only False that you know of are the user-item interactions that are not present in your table. If your known interactions can be represented as a sparse matrix (meaning, a low percentage of the possible interactions, N_ITEMS x N_USER, is present) then you can do this:

                      1. Generate a random user-item combination
                      2. If the user-item interaction exists, means is True, then repeat step 1.
                      3. If the user-item interaction does not exist, you can consider it a False interaction.

                      Now, to complete your 20%/80% part, just define the size N of the sample that you'll take from your ground truth data (True values) and take 4*N False values using the previous steps. Remember to keep some ground truth values for your test and evaluation steps.

                      1. Is a 20%, 80% true:false ratio good for this use case?

                      In this case, since you only have True values in your ground truth dataset, I think the best you can do is to try out different ratios. Your real world data only contains True values, but you could also generate all of the False values. The important part to consider is that some of the values that you'll consider False while training might actually be True values in your test and validation data. Just don't use all of your ground truth data, and don't generate an important portion of the possible combinations.

                      I think a good start could be 50/50, then try 60/40 and so on. Evaluate using multiple metrics, see how are they changing according to the proportion of True/False values (some proportions might be better to reach higher true positive rates, other will perform worse, etc). In the end, you'll have to select one model and one training procedure according to the metrics that matter the most to you.

                      Source https://stackoverflow.com/questions/71359291

                      Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                      Vulnerabilities

                      No vulnerabilities reported

                      Install iterative-cf

                      The Trident-CF algorithm is build over a TridentTopology and process a stream of binary ratings in order to measure similarity between users. Binary ratings are added in real time while the similarities for changed users have to be re-processed on demand using a trigger stream. The TridentCollaborativeFilteringBuilder helps you to build up the recommendation engine. For the purposes of illustration, this example processes an existing stream of binary ratings and re-computes users' similarities every time the trigger stream emit a tuple. Note that the preference stream must contain at least the 2 fields ("user" and "item") while the trigger stream doesn't need any field. Trident-CF provides 2 spouts implementations which can be used to create the trigger stream : DelayedSimilaritiesUpdateLauncher and PermanentSimilaritiesUpdateLauncher.

                      Support

                      For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .

                      DOWNLOAD this Library from

                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 430 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit

                      Share this Page

                      share link
                      Consider Popular Recommender System Libraries
                      Try Top Libraries by pmerienne
                      Compare Recommender System Libraries with Highest Support
                      Compare Recommender System Libraries with Highest Quality
                      Compare Recommender System Libraries with Highest Security
                      Compare Recommender System Libraries with Permissive License
                      Compare Recommender System Libraries with Highest Reuse
                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
                      over 430 million Knowledge Items
                      Find more libraries
                      Reuse Solution Kits and Libraries Curated by Popular Use Cases
                      Explore Kits

                      Save this library and start creating your kit

                      • © 2022 Open Weaver Inc.