* added self organising maps algo
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update machine_learning/Self_Organising_Maps.py
* Update and rename Self_Organising_Maps.py to self_organizing_map.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update self_organizing_map.py
* Update self_organizing_map.py
* Update self_organizing_map.py
* Update self_organizing_map.py
Co-authored-by: Eeman Majumder <eemanmajumder@Eemans-MacBook-Pro.local>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
* initial commit
* first implementation of hard margin
* remove debugging print
* many commits squashed because pre-commit was buggy
* more kernels and improved kernel management
* remove unnecessary code + fix names + formatting + doctests
* rename to fit initial naming
* better naming and documentation
* better naming and documentation
* MAINT: Used f-string method
Updated the code with f-string methods wherever required for a better and cleaner understanding of the code.
* Updated files with f-string method
* Update rsa_key_generator.py
* Update rsa_key_generator.py
* Update elgamal_key_generator.py
* Update lru_cache.py
I don't think this change is efficient but it might tackle the error as the error was due to using long character lines.
* Update lru_cache.py
* Update lru_cache.py
Co-authored-by: cyai <seriesscar@gmail.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
* The black formatter is no longer beta
* pre-commit autoupdate
* pre-commit autoupdate
* Remove project_euler/problem_145 which is killing our CI tests
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* Updated name from lstm_prediction.py_lf to lstm_prediction.py and also imported keras
* Edited the changes
* tensorflow 2.5 is has shipped!!!
* Update lstm_prediction.py
* Update lstm_prediction.py
* One blank line, not two?
Co-authored-by: Christian Clauss <cclauss@me.com>
* Add initial support for moving tests to GitHub
* Add setup Python step in the workflow
* Remove Travis CI config file
* Fix GitHub action file for build to trigger on PR
* Use Python 3.8 as tensorflow is not yet supported
* Fix ciphers.hill_cipher doctest error
* Fix: instagram crawler tests failing on GitHub actions
* Fix floating point errors in doctest
* Small change to test cache
* Apply suggestions from code review
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update instagram_crawler.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* add forecasting code
* add statsmodel
* sort import
* sort import fix
* fixing black
* sort requirement
* optimize code
* try with limited data
* sort again
* sort fix
* sort fix
* delete warning and black
* add code for forecasting
* use black
* add more hints to describe
* add doctest
* finding whitespace
* fixing doctest
* delete
* revert back
* revert back
* revert back again
* revert back again
* revert back again
* try trimming whitespace
* try adding doctypeand etc
* fixing reviews
* deleting all the space
* fixing the build
* delete x
* add description for safety checker
* deleting subscription integer
* fix docthint
* make def to use function parameters and return values
* make def to use function parameters and return values
* type hints on data safety checker
* optimize code
* Update run.py
Co-authored-by: FVFYK3GEHV22 <fvfyk3gehv22@FVFYK3GEHV22s-MacBook-Pro.local>
Co-authored-by: Christian Clauss <cclauss@me.com>
* Add GitHub action file for pre-commit
* Fix errors exposed by pre-commit hook:
- Remove executable bit from files without shebang. I checked those
file and it was not needed.
- Fix with black
* Apply suggestions from code review
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
* Fix all errors mentioned in pre-commit run:
- Fix end of file
- Remove trailing whitespace
- Fix files with black
- Fix imports with isort
* Fix errors
* Update scoring_functions.py
We can find accuracy by manually if we are not going to use sklearn library.
* Update scoring_functions.py
* Update machine_learning/scoring_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Added Standardization and Normalization algorithms with built-in stats
* Implement ndigits for rounding
Co-authored-by: Christian Clauss <cclauss@me.com>
* black format
* updating DIRECTORY.md
* fixes
* fixup! Format Python code with psf/black push
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* NLP Word Frequency Algorithms
* Added type hints and Wikipedia link to tf-idf
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Fix line length for flake8
* Fix line length for flake8 V2
* Add line escapes and change int to float
* Corrected doctests
* Fix for TravisCI
* Fix for TravisCI V2
* Tests passing locally
* Tests passing locally
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Update machine_learning/word_frequency_functions.py
Co-authored-by: Christian Clauss <cclauss@me.com>
* Add doctest examples and clean up docstrings
Co-authored-by: Christian Clauss <cclauss@me.com>
* Tighten up psf/black and flake8
* Fix some tests
* Fix some E741
* Fix some E741
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* Fix astar
Single character variable names are old school.
* fixup! Format Python code with psf/black push
* Tuple
* updating DIRECTORY.md
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
* Added Lstm example for stock predection
* Changes after review
* changes after build failed
* Add Kiera’s to requirements.txt
* requirements.txt: Add keras and tensorflow
* psf/black
Co-authored-by: Christian Clauss <cclauss@me.com>
* Added Random Forest Regressor
* Updated file to standard
* Added Random Forest Classifier (Iris dataset) and a Confusion Matrix for result visualization
* spelling corrections
* review
* improved documentation, removed redundant variables, added testing
* added type hint
* camel case to snake case
* spelling fix
* review
* python --> Python # it is a brand name, not a snake
* explicit cast to int
* spaces in int list
* "!= None" to "is not None"
* Update comb_sort.py
* various spelling corrections in documentation & several variables naming conventions fix
* + char in file name
* import dependency - bug fix
Co-authored-by: John Law <johnlaw.po@gmail.com>
* Adding doctests into <gaussian_distribution> function
* Adding doctests into <y_generator> function
* Adding doctests into <calculate_mean> function
* Adding doctests into <calculate_probabilities> function
* Adding doctests into <calculate_variance> function
* Adding doctests into <predict_y_values> function
* Adding doctests into <accuracy> function
* fixup! Format Python code with psf/black push
* Update convex_hull.py
* Update convex_hull.py
* Simplify sudoku.is_completed() using builtin all()
Simplify __sudoku.is_completed()__ using Python builtin function [__all()__](https://docs.python.org/3/library/functions.html#all).
* fixup! Format Python code with psf/black push
* Update sudoku.py
* fixup! Format Python code with psf/black push
* Old style exception -> new style for Python 3
* updating DIRECTORY.md
* Update convex_hull.py
* fixup! Format Python code with psf/black push
* e.args[0] = "msg"
* ValueError: could not convert string to float: 'pi'
* Update convex_hull.py
* fixup! Format Python code with psf/black push
* converting generator object to a list object
* Refactor: converting generator object to a list object
* fixup! Format Python code with psf/black push
* Adding new file to the machine_learning directory
* Adding initial documentation
* importing modules
* Adding Normal_gen function
* Adding Y_gen function
* Adding mean_calc function
* Adding prob_calc function
* Adding var_calc function
* Adding predict function
* Adding accuracy function
* Adding main function
* Renaming LDA file
* Adding requested changes
* Renaming some of functions
* Refactoring str.format() statements to f-string
* Removing unnecessary list objects inside two functions
* changing code style in some lines
* Fixing y_generator function
* Refactoring 'predict_y_values' function by using list comprehensions
* Changing code style in import statements
* Refactoring CLI code block
* fixup! Format Python code with psf/black push
* No lines longer than 88 characters
* Remove code with side effects from main
When running tests withy pytest, some modules execute code in main scope
and open plot or browser windows.
Moves such code under `if __name__ == "__main__"`.
* fixup! Format Python code with psf/black push
* Added Pytests for Decission Tree
Modified the mean_squared_error to be a static method
Created the Test_Decision_Tree class
Consists of two methods
1. helper_mean_squared_error_test: This method calculates the mean squared error manually without using
numpy. Instead a for loop is used for the same.
2. test_one_mean_squared_error: This method considers a simple test case and compares the results by the
helper function and the original mean_squared_error method of Decision_Tree class. This is done using asert
keyword.
Execution:
PyTest installation
pip3 install pytest OR pip install pytest
Test function execution
pytest decision_tree.py
* Modified the pytests to be compatible with the doctest
Added 2 doctest in the mean_squared_error method
For its verification a static method helper_mean_squared_error(labels, prediction) is used
It uses a for loop to calculate the error instead of the numpy inbuilt methods
Execution
```
pytest .\decision_tree.py --doctest-modules
```
* Added dbscan in two formats. A jupyter notebook file for the
storytelling and a .py file for people that just want to look at the
code. The code in both is essentially the same. With a few things
different in the .py file for plotting the clusters.
* fixed LGTM problems
* Some requested changes implemented.
Still need to do docstring
* implememted all changes as requested
* svm.py
for issue #840
I would like to add the Support Vector Machine algorithm implemented in Python 3.6.7
Requirements:
- sklearn
* update svm.py
* update svm.py
* Update and renamed to sorted_vector_machines.py
* Updated sorted_vector_machines.py
* Travis CI: Add pytest --doctest-modules neural_network
Fixes#987
```
neural_network/perceptron.py:123: in <module>
sample.insert(i, float(input('value: ')))
../lib/python3.7/site-packages/_pytest/capture.py:693: in read
raise IOError("reading from stdin while output is captured")
E OSError: reading from stdin while output is captured
-------------------------------------------------------------------------------- Captured stdout --------------------------------------------------------------------------------
('\nEpoch:\n', 399)
------------------------
value:
```
* Adding fix from #1056 -- thanks @QuantumNovice
* if __name__ == '__main__':
* pytest --ignore=virtualenv # do not test our dependencies