machine_learning.linear_regression_vectorized¶
Vectorized Linear Regression using Gradient Descent
Author: Somrita Banerjee (mailto:somritabanerjee126@gmail.com)
Dataset used: CSGO dataset (ADR vs Rating)
References: https://en.wikipedia.org/wiki/Linear_regression
Functions¶
|
Collect dataset of CSGO (ADR vs Rating). |
|
Run gradient descent in a fully vectorized form. |
|
|
|
Return mean absolute error. |
Module Contents¶
- machine_learning.linear_regression_vectorized.collect_dataset() numpy.ndarray¶
Collect dataset of CSGO (ADR vs Rating).
- Returns:
dataset as a NumPy array
>>> ds = collect_dataset() >>> isinstance(ds, np.ndarray) True >>> ds.shape[1] >= 2 True
- machine_learning.linear_regression_vectorized.gradient_descent(features: numpy.ndarray, labels: numpy.ndarray, alpha: float = 0.000155, iterations: int = 100000) numpy.ndarray¶
Run gradient descent in a fully vectorized form.
- Parameters:
features – dataset features
labels – dataset labels
alpha – learning rate
iterations – number of iterations
- Returns:
learned feature vector theta
>>> import numpy as np >>> features = np.array([[1, 1], [1, 2], [1, 3]]) >>> labels = np.array([[1], [2], [3]]) >>> theta = gradient_descent( ... features, labels, alpha=0.01, iterations=1000 ... )
- machine_learning.linear_regression_vectorized.main() None¶
- machine_learning.linear_regression_vectorized.mean_absolute_error(predicted_y: numpy.ndarray, original_y: numpy.ndarray) float¶
Return mean absolute error.
>>> pred = np.array([3, -0.5, 2, 7]) >>> orig = np.array([2.5, 0.0, 2, 8]) >>> mean_absolute_error(pred, orig) 0.5