enhancement - #13307
Conversation
Closing this pull request as invalid@RuhanikaChotwani, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines. If you're facing any problem on how to mark a checkbox, please read the following instructions:
NOTE: Only |
There was a problem hiding this comment.
Click here to look at the relevant links ⬇️
🔗 Relevant Links
Repository:
Python:
Automated review generated by algorithms-keeper. If there's any problem regarding this review, please open an issue about it.
algorithms-keeper commands and options
algorithms-keeper actions can be triggered by commenting on this PR:
@algorithms-keeper reviewto trigger the checks for only added pull request files@algorithms-keeper review-allto trigger the checks for all the pull request files, including the modified files. As we cannot post review comments on lines not part of the diff, this command will post all the messages in one comment.NOTE: Commands are in beta and so this feature is restricted only to a member or owner of the organization.
| import numpy as np | ||
|
|
||
| # -------------------- Naive Linear Regression -------------------- | ||
| def naive_linear_regression(X, y, learning_rate=0.01, epochs=1000): |
There was a problem hiding this comment.
As there is no test file in this pull request nor any test function or class in the file machine_learning/01_linear_regression.py, please provide doctest for the function naive_linear_regression
Please provide descriptive name for the parameter: X
Please provide descriptive name for the parameter: y
Please provide return type hint for the function: naive_linear_regression. If the function does not return a value, please provide the type hint as: def function() -> None:
Please provide type hint for the parameter: X
Please provide type hint for the parameter: y
Please provide type hint for the parameter: learning_rate
Please provide type hint for the parameter: epochs
| return theta | ||
|
|
||
| # -------------------- Vectorized Linear Regression -------------------- | ||
| def vectorized_linear_regression(X, y, learning_rate=0.01, epochs=1000): |
There was a problem hiding this comment.
As there is no test file in this pull request nor any test function or class in the file machine_learning/01_linear_regression.py, please provide doctest for the function vectorized_linear_regression
Please provide descriptive name for the parameter: X
Please provide descriptive name for the parameter: y
Please provide return type hint for the function: vectorized_linear_regression. If the function does not return a value, please provide the type hint as: def function() -> None:
Please provide type hint for the parameter: X
Please provide type hint for the parameter: y
Please provide type hint for the parameter: learning_rate
Please provide type hint for the parameter: epochs
for more information, see https://pre-commit.ci
Describe your change:
✅ Add an algorithm
Description:
Added Linear Regression implementations:
Naive implementation using loops for beginners to understand step by step.
Fully vectorized implementation using NumPy for faster and scalable computation.
Includes a test case to verify that both implementations produce similar results.
Added type hints, docstrings, and reference links to Linear Regression concepts for clarity.
Resolves issue #13205(#13205)
This pull request is all my own work -- I have not plagiarized.
I know that pull requests will not be merged if they fail the automated tests.
This PR only changes one algorithm file.
All new Python files are placed inside an existing directory.
All filenames are in all lowercase characters with no spaces or dashes.
All functions and variable names follow Python naming conventions.
All function parameters and return values are annotated with Python.
All functions have doctests
that pass the automated testing.
Checklist:
I have read CONTRIBUTING.md.
This pull request is all my own work -- I have not plagiarized.
I know that pull requests will not be merged if they fail the automated tests.
This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
All new Python files are placed inside an existing directory.
All filenames are in all lowercase characters with no spaces or dashes.
All functions and variable names follow Python naming conventions.
All function parameters and return values are annotated with Python type hints.
All functions have doctests that pass the automated testing.
All new algorithms include at least one URL that points to Wikipedia or another similar explanation.
If this pull request resolves one or more open issues then the description above includes the issue number(s) with a closing keyword: "Fixes #ISSUE-Upgrade Linear Regression with Fully Vectorized Implementation and add a naive implementation for beginners #13205"