cosanlab / neighbors Goto Github PK
View Code? Open in Web Editor NEWA package to perform collaborative filtering on emotion datasets.
Home Page: https://cosanlab.github.io/neighbors
License: MIT License
A package to perform collaborative filtering on emotion datasets.
Home Page: https://cosanlab.github.io/neighbors
License: MIT License
We should add sphinx documentation similar to nltools package. Readthedocs seems to work well. @infiniteline interested in taking a crack at this?
Should cast this line using nan to num: https://github.com/cosanlab/neighbors/blob/master/neighbors/_fit.py#L71
We should verify that we are actually centering the kernel convolution as is mentioned in the documentation, or if instead we are doing a forward convolution (which is what we are likely doing). This is a very small potential bug that I doubt will amount to any appreciable difference, but would good to ensure that we are doing what we say.
This would ideally be in base class.
This would be a good idea to add at some point.
We should add sphinx documentation similar to nltools package. @infiniteline interested in taking a crack at this?
Might only be working with number of iterations.
At some point we need to add an extension to accommodate tensors for multivariate rating data. Not sure how difficult it will be.
uses alternating least squares optimization
Currently we force a boxcar, but it would be a trivial extension to allow any kernel shape to be passed into the convolution.
Error with missing key 'user' at this line: https://github.com/cosanlab/neighbors/blob/master/neighbors/utils.py#L620
right now vmin, vmax for heatmap is fixed to 0,100
I am running estimate_performance()
function on sparse data and am curious about how the mask_items
keyword argument works.
From docstrings
n_mask_items (int/float, optional): how much randomly sparsify dense data each iteration; Defaults to masking out 20% of observed
This keyword makes sense for dense data, but how does it work with sparse data? is it ignored?
This will dramatically impact results. Correct solution is to update mask after dilation to ensure that a bunch of zeros aren't added to data.
from neighbors.models import NNMF_sgd
from neighbors.utils create_user_item_matrix, estimate_performance
In your example code in the README, the second import statement is missing the word 'import'.
Everything else seems to be working well.
This results a "fragmented dataframe" warning. Could refactor the lines around here: https://github.com/cosanlab/neighbors/blob/master/neighbors/utils.py#L283
change:
ratings = pd.DataFrame(columns=df.Item.unique(),index=df['Subject'].unique())
to:
columnNames = sorted(df.Item.unique())
ratings = pd.DataFrame(columns=columnNames,index=df['Subject'].unique())
Could potentially add joblib and parallelize iterations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.