Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #importing libraries
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- import random
- #setting figure size
- plt.rcParams['figure.figsize'] = (6.0, 6.0)
- #preprocessing training data
- data = pd.read_csv('train_data.csv')
- X = data.iloc[:, 0]
- Y = data.iloc[:, 1]
- #creating the training model
- m = random.random()
- c = random.random()
- L = 0.0001
- iterations = 100
- for i in range (iterations):
- Y_pred = m*X + c #predicted value of y
- D_m = (-2/(len(X))) * sum(X * (Y - Y_pred)) #derivative wrt m
- D_c = (-2/(len(X))) * sum(Y - Y_pred) #derivative wrt c
- m = m - L * D_m #update m
- c = c - L * D_c #update c
- print (m,c)
- #testing
- test_data = pd.read_csv("test_data.csv")
- x_test, y_test = test_data['x_test'], test_data['y_test']
- y_pred = m*x_test + c
- plt.scatter(x_test, y_test)
- plt.plot([min(x_test), max(x_test)], [min(y_pred), max(y_pred)], color='red') # predicted
- plt.show()
- MSE = np.square(np.subtract(y_test,y_pred)).mean()
- print (MSE)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement