Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation for core/normalise could specify the type of normalization #318

Open
shark8me opened this issue Jul 4, 2017 · 1 comment

Comments

@shark8me
Copy link
Contributor

shark8me commented Jul 4, 2017

The documentation for the core/normalise method could be more explicit, since there are multiple types of normalization used (in the context of machine learning). The current docstring says "Normalises a numerical vector (scales to unit length). Returns a new normalised vector.".

However there are multiple notions of normalization. Here are examples of normalization in other (similar) libraries:

  • One example is numpy norm, which has multiple ways of normalization.
  • Scikit-learn normalization provides options for L1 or L2 normalization (a subset of those provided by numpy.linalg.norm).
  • Feature scaling in machine learning is also called normalization.

Would you consider (for the sake of a PR) feature scaling methods such as those described here as being within the scope of core.matrix?

--
Thanks

@mikera
Copy link
Owner

mikera commented Jul 4, 2017

Would probably need to be considered separately. Here's my initial thoughts:

  • Computing a L1 or L2 on Lx norm is in scope. These are common vector operations and benefit from potential implementation-specific optimisation (via core.matrix protocols)
  • Rescaling by means / minimum / maximum sounds a bit domain specific and is easy to do with a couple of core.matrix operations. Probably ot in scope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants