Draft:LensKit
Review waiting, please be patient.
This may take 7 weeks or more, since drafts are reviewed in no specific order. There are 1,257 pending submissions waiting for review.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Reviewer tools
|
Submission declined on 22 November 2024 by SafariScribe (talk).
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
This draft has been resubmitted and is currently awaiting re-review. |
Developer(s) | GroupLens Research, Michael D. Ekstrand |
---|---|
Initial release | October 23, 2010 |
Stable release | 0.14.4
/ 2024 |
Written in | Python, formerly Java |
Operating system | Cross-platform |
Platform | Linux, macOS, Windows |
Type | Recommender system, Software library |
License | MIT License |
Website | lenskit.org |
LensKit is an open-source toolkit for developing and researching recommender systems. Originally released in 2010/11[1][2] as a Java-based framework, it was later re-implemented in Python as LensKit for Python (LKPY)[3]. It is considered "mature" and "well documented".[4] Along with a few other libraries, LensKit was one of the first recommender-system software libraries for "rapid prototyping" due to an "easy-to-use" model execution[5][6]. The Recommender-Systems.com Blog recommends LensKit for developers and researchers who are new to the field[7] and considers it "one of the best choices".[8] The well regarded "List of Recommender Systems" with 4.6k stars on GitHub lists LensKit as #1 in the list of academic recommender systems.[9]
Overview
[edit]LensKit was initially developed at the University of Minnesota by the GroupLens Research team, led by Michael D. Ekstrand, a member of the ACM Recommender Systems Conference Steering Committee.
The original Java version, archived in 2018, supported numerous research publications and educational efforts, including its use in MOOCs on Coursera.[10] The transition to Python enabled the integration of modern data science libraries like Pandas, scikit-learn, and TensorFlow. As of November 2024, the LensKit Java repository on GitHub recevieved 971 stars and 326 forks[11] and the Python version obtained 270 stars and 61 forks.[12]
Key Features
[edit]Modularity
[edit]LensKit supports the reconfiguration of algorithm components such as similarity functions and normalizers, allowing researchers to experiment with collaborative filtering, content-based methods, and hybrid algorithms.[1]
Evaluation Framework
[edit]LensKit provides tools for offline evaluation of recommendation algorithms. Common metrics include normalized discounted cumulative gain (nDCG), precision, and recall. These tools are built to ensure reproducibility and consistency in research experiments.[3] As one of few libraries, LensKit allows for statistical significance testing.[13]
LensKit for Python
[edit]LensKit for Python (LKPY) takes advantage of Python’s extensive data science ecosystem to provide a flexible and robust platform for reproducible research in recommender systems.[3]
Extensions
[edit]As one of three recommender system libraries, LensKit has been incorprorated into the RiVal evaluation framework, a general pupose evaluation framework for recommender systems.[14] Similarly, the PILGRIM[4] evaluation framework is based on LensKit.
LensKit also served as a base for the development of LensKit-Auto,[15] which was designed to automate the recommender system pipeline. LensKit-Auto was developed by researchers at the University of Siegen and supports algorithm selection, hyperparameter optimization, and ensembling. LensKit-Auto was created to address challenges in prior LensKit workflows, where researchers manually integrated third-party tools for optimization.
Comparison with RecBole
[edit]LensKit has been compared with RecBole, another popular recommender systems library, using datasets such as Anime, ModCloth, ML-100K, and ML-1M. Key findings include:[16]
- RecBole showed better performance on some metrics, including nDCG and precision.
- LensKit produced comparable results after adjustments to similarity matrix calculations.
- Both libraries performed similarly for the ML-1M dataset under identical conditions.
Adoption and Impact
[edit]LensKit has been cited in over 350 academic publications, with its results presented at major conferences like ACM RecSys, SIGIR, and CIKM. It has also been widely used in education, including university courses and MOOCs.[1][2][3] Multiple tutorials about recommender systems feature LensKit such as the CrashCourse Youtube Channel with 16 million subscribers [17] and the Recommender-Systems.com Blog.[8] A relatively large number of questions on Quora[18] and StackOverflow[19] indicates a notable interest in LensKit, too.
Related Libraries
[edit]LensKit competes with and complements other libraries such as:
- RecBole: Focuses on deep learning-based recommendation models.[20]
- MyMediaLite: A lightweight library for collaborative filtering.[21]
- Surprise: Known for its simplicity and focus on accuracy metrics.[22]
About the Lead Developer
[edit]Michael D. Ekstrand holds a Ph.D. from the University of Minnesota and is a prominent researcher in recommender systems.[23] He is known for his work on fairness, interpretability, and reproducibility. Ekstrand is currently a member of the ACM RecSys Conference Steering Committee.[24][25]
External Links
[edit]References
[edit]- ^ a b c Ekstrand, Michael D.; Ludwig, Michael; Kolb, Jack; Riedl, John T. (2011). "LensKit: A Modular Recommender Framework". Proceedings of the Fifth ACM Conference on Recommender Systems (RecSys '11). ACM. p. 349. doi:10.1145/2043932.2044001.
- ^ a b Ekstrand, Michael D.; Ludwig, Michael; Konstan, Joseph A.; Riedl, John T. (2011-10-23). "Rethinking the recommender research ecosystem: Reproducibility, openness, and LensKit". Proceedings of the fifth ACM conference on Recommender systems. ACM. pp. 133–140. doi:10.1145/2043932.2043958. ISBN 978-1-4503-0683-6.
- ^ a b c d Ekstrand, Michael D. (2020). "LensKit for Python: Next-Generation Software for Recommender Systems Experiments". Proceedings of the 29th ACM International Conference on Information and Knowledge Management (CIKM '20). ACM. pp. 2999–3007. doi:10.1145/3340531.3412778.
- ^ a b Chulyadyo, Rajani; Leray, Philippe (2017-12). A Framework for Offline Evaluation of Recommender Systems based on Probabilistic Relational Models (Report). Laboratoire des Sciences du Numérique de Nantes ; Capacités SAS.
{{cite report}}
: Check date values in:|date=
(help) - ^ "Towards Responsible AI in Recommender Systems". tesidottorato.depositolegale.it. Retrieved 2024-11-22.
- ^ Mohammadi, Amir Reza; Karimi, Amir-Hossein; Bohlouli, Mahdi; Zangerle, Eva; Specht, G¨unther (2023). "HPT4Rec: AutoML-based Hyperparameter Self-Tuning Framework for Session-based Recommender Systems". S2CID 270879801.
{{cite journal}}
: Cite journal requires|journal=
(help) - ^ "Recommender-System Software Libraries & APIs – RS_c". Retrieved 2024-11-22.
- ^ a b "Creating a Recommender System Prototype Using LensKit and MovieLens – RS_c". Retrieved 2024-11-22.
- ^ Jenson, Graham (2024-11-21), grahamjenson/list_of_recommender_systems, retrieved 2024-11-22
- ^ "Recommender Systems". Coursera. Retrieved 2024-11-22.
- ^ "LensKit Java Repository". GitHub.
- ^ "LensKit Python Repository". GitHub.
- ^ Lops, Pasquale; Polignano, Marco; Musto, Cataldo; Silletti, Antonio; Semeraro, Giovanni (2023-10-01). "ClayRS: An end-to-end framework for reproducible knowledge-aware recommender systems". Information Systems. 119: 102273. doi:10.1016/j.is.2023.102273. ISSN 0306-4379.
- ^ Said, Alan; Bellogín, Alejandro (2014-10-06). "Rival: A toolkit to foster reproducibility in recommender system evaluation". Proceedings of the 8th ACM Conference on Recommender systems. ACM. pp. 371–372. doi:10.1145/2645710.2645712. ISBN 978-1-4503-2668-1.
- ^ Vente, Tobias; Ekstrand, Michael D.; Beel, Joeran (2023). "Introducing LensKit-Auto, an Experimental Automated Recommender System (AutoRecSys) Toolkit". Proceedings of the 17th ACM Conference on Recommender Systems (RecSys '23). ACM. doi:10.1145/3604915.3610656.
- ^ Schmidt, Michael; Prinz, Tim; Nitschke, Jannik (2024). Evaluating the Performance-Deviation of ItemKNN in RecBole and LensKit. arXiv:2407.13531.
- ^ CrashCourse (2019-11-29). Let's make a movie recommendation system: Crash Course AI #16. Retrieved 2024-11-22 – via YouTube.
- ^ "'LensKit' Search on Quora". Quora. Retrieved 22.11.2024.
{{cite web}}
: Check date values in:|access-date=
(help) - ^ "LensKit Search on StackOverflow". StackOverflow. Retrieved 2024/11/22.
{{cite web}}
: Check date values in:|access-date=
(help) - ^ Leskovec, Jure; Grobelnik, Marko; Najork, Marc; Tang, Jie; Zia, Leila, eds. (2021). "Proceedings of the Web Conference 2021". ACM Transactions on Information Systems. doi:10.1145/3442381. hdl:11585/948756. ISBN 978-1-4503-8312-7.
- ^ "MyMediaLite Recommendation Framework". MyMediaLite.
- ^ "Surprise Library Documentation". Surprise.
- ^ "List of RecSys Researchers – RS_c". Retrieved 2024-11-22.
- ^ "Michael D. Ekstrand – Personal Website". Ekstrand's Personal Website.
- ^ "RecSys – ACM Recommender Systems". RecSys. Retrieved 2024-11-22.
- in-depth (not just passing mentions about the subject)
- reliable
- secondary
- independent of the subject
Make sure you add references that meet these criteria before resubmitting. Learn about mistakes to avoid when addressing this issue. If no additional references exist, the subject is not suitable for Wikipedia.