diff --git a/homemade/k_means/__pycache__/k_means.cpython-37.pyc b/homemade/k_means/__pycache__/k_means.cpython-37.pyc new file mode 100644 index 0000000..01698fe Binary files /dev/null and b/homemade/k_means/__pycache__/k_means.cpython-37.pyc differ diff --git a/homemade/k_means/k_means.py b/homemade/k_means/k_means.py index 4933568..17bcd1b 100644 --- a/homemade/k_means/k_means.py +++ b/homemade/k_means/k_means.py @@ -83,10 +83,13 @@ def centroids_find_closest(data, centroids): # We need to return the following variables correctly. closest_centroids_ids = np.zeros((num_examples, 1)) - # Go over every example, find its closest centroid, and store - # the index inside closest_centroids_ids at the appropriate location. - # Concretely, closest_centroids_ids(i) should contain the index of the centroid - # closest to example i. Hence, it should be a value in the range 1...num_centroids. + """ + Go over every example, find its closest centroid, and store + the index inside closest_centroids_ids at the appropriate location. + Concretely, closest_centroids_ids(i) should contain the index of the centroid + closest to example i. Hence, it should be a value in the range 1...num_centroids. + """ + for example_index in range(num_examples): distances = np.zeros((num_centroids, 1)) for centroid_index in range(num_centroids): diff --git a/homemade/k_means/k_means_example.py b/homemade/k_means/k_means_example.py new file mode 100644 index 0000000..7d80cb5 --- /dev/null +++ b/homemade/k_means/k_means_example.py @@ -0,0 +1,29 @@ +from k_means import KMeans +import pandas as pd + +# Load data. +data = pd.read_csv('homemade-machine-learning\data\iris.csv') + +# Get total number of Iris examples. +num_examples = data.shape[0] + +# Get features. +x_train = data[['petal_length', 'petal_width']].values.reshape((num_examples, 2)) + +# Set K-Means parameters. + +# Clusters act as the cassifications for our data. +num_clusters = 3 + +# Max number of iterations, acts as a stopping condition. +max_iterations = 50 + +# Load KMeans. +k_means = KMeans(x_train, num_clusters) + +# Train / fit K-Means. +(centroids, closest_centroids_ids) = k_means.train(max_iterations) + +print(centroids) + +# There is no prediction module? diff --git a/homemade/linear_regression/linear_regression.py b/homemade/linear_regression/linear_regression.py index f01e600..cc6db50 100644 --- a/homemade/linear_regression/linear_regression.py +++ b/homemade/linear_regression/linear_regression.py @@ -1,4 +1,4 @@ -"""Linear Regression Module""" +#Linear Regression Module # Import dependencies. import numpy as np @@ -6,7 +6,7 @@ class LinearRegression: - """Linear Regression Class""" + #Linear Regression Class def __init__(self, data, labels, polynomial_degree=0, sinusoid_degree=0): """Linear regression constructor.