Skip to content

Commit Live PR #24

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified __pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q01_load_data/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q01_load_data/__pycache__/build.cpython-36.pyc
Binary file not shown.
10 changes: 9 additions & 1 deletion q01_load_data/build.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
# %load q01_load_data/build.py
import pandas as pd

path = 'data/student-mat.csv'
# Write your code below

def load_data(data):
data_1 = pd.read_csv(data, sep = ';')
return (data_1)

(load_data(path))


Binary file modified q01_load_data/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q01_load_data/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q02_data_split/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q02_data_split/__pycache__/build.cpython-36.pyc
Binary file not shown.
13 changes: 12 additions & 1 deletion q02_data_split/build.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
# %load q02_data_split/build.py
from greyatomlib.multivariate_regression_project.q01_load_data.build import load_data
from sklearn.model_selection import train_test_split
import pandas as pd
df = load_data('data/student-mat.csv')
df = 'data/student-mat.csv'
data_1 = load_data(df)

# Write your code below
def split_dataset(data):

#data_1 = pd.read_csv(data,sep=';')
X = data_1.iloc[:, :-1]
y = data_1.iloc[:, -1]
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state=42)
return(x_train, x_test, y_train, y_test)

split_dataset(df)


Binary file modified q02_data_split/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q02_data_split/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q03_data_encoding/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q03_data_encoding/__pycache__/build.cpython-36.pyc
Binary file not shown.
22 changes: 20 additions & 2 deletions q03_data_encoding/build.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,32 @@
# %load q03_data_encoding/build.py
from greyatomlib.multivariate_regression_project.q01_load_data.build import load_data
from greyatomlib.multivariate_regression_project.q02_data_split.build import split_dataset
from sklearn.preprocessing import LabelEncoder
import numpy as np
import pandas as pd
df = load_data('data/student-mat.csv')
pd.set_option('display.max_columns', 100)

x_train, x_test, y_train, y_test = split_dataset(df)

# Write your code below


def label_encode(train, test):
#data_1 = data
le = LabelEncoder()
for col in test.columns.values:
# Encoding only categorical variables
if test[col].dtypes=='object':
# Using whole data to form an exhaustive list of levels
data=train[col].append(test[col])
le.fit(data.values)
train[col]=le.transform(train[col])
test[col]=le.transform(test[col])
return (train, test)




label_encode(x_train, x_test)
df['Pstatus'].value_counts()


Binary file modified q03_data_encoding/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q03_data_encoding/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q04_data_visualisation/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q04_data_visualisation/__pycache__/build.cpython-36.pyc
Binary file not shown.
13 changes: 10 additions & 3 deletions q04_data_visualisation/build.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,23 @@
# -*- coding: utf-8 -*-
from greyatomlib.multivariate_regression_project.q01_load_data.build import load_data
from greyatomlib.multivariate_regression_project.q02_data_split.build import split_dataset
from greyatomlib.multivariate_regression_project.q03_data_encoding.build import label_encode

import matplotlib.pyplot as plt
import pandas as pd
from pandas.plotting import scatter_matrix
plt.switch_backend('agg')
data = load_data('data/student-mat.csv')

x_train, x_test, y_train, y_test = split_dataset(data)
x_train,x_test = label_encode(x_train,x_test)
train_1 = pd.concat([x_train, y_train], axis = 1)

# Write your code below
def visualise_data(data,figname):




scatter_matrix(data, alpha=0.2, diagonal='kde')
plt.show()



Binary file modified q04_data_visualisation/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q04_data_visualisation/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q05_linear_regression_model/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q05_linear_regression_model/__pycache__/build.cpython-36.pyc
Binary file not shown.
8 changes: 8 additions & 0 deletions q05_linear_regression_model/build.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# %load q05_linear_regression_model/build.py
from greyatomlib.multivariate_regression_project.q01_load_data.build import load_data
from greyatomlib.multivariate_regression_project.q02_data_split.build import split_dataset

Expand All @@ -12,4 +13,11 @@


# Write your code below
def linear_regression(x, y):
lm = LinearRegression()

return(lm.fit(x, y))

linear_regression(x_train, y_train)


Binary file not shown.
Binary file modified q05_linear_regression_model/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q06_cross_validation/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q06_cross_validation/__pycache__/build.cpython-36.pyc
Binary file not shown.
15 changes: 13 additions & 2 deletions q06_cross_validation/build.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# %load q06_cross_validation/build.py
from greyatomlib.multivariate_regression_project.q01_load_data.build import load_data
from greyatomlib.multivariate_regression_project.q02_data_split.build import split_dataset

Expand All @@ -11,11 +12,21 @@

df = load_data('data/student-mat.csv')

x_train, x_test, y_train, y_test = split_dataset(df)
x_train, x_test, y_train, y_test = split_dataset(df)

x_train,x_test = label_encode(x_train,x_test)

model =linear_regression(x_train,y_train)

# Write your code below

def cross_validation_regressor(model, x, y):
#kf = RepeatedKFold(n_splits = 5, n_repeats=10, random_state=None)
#for train_index, test_index in kf.split(x):
#X_train, X_test = X[train_index], X[test_index]
#y_train, y_test = y[train_index], y[test_index]

r2_score = cross_val_score(model, x, y, cv = 3)
return (r2_score.mean())
cross_validation_regressor(model, x_train, y_train)


Binary file modified q06_cross_validation/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q06_cross_validation/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q07_regression_pred/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q07_regression_pred/__pycache__/build.cpython-36.pyc
Binary file not shown.
13 changes: 13 additions & 0 deletions q07_regression_pred/build.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# %load q07_regression_pred/build.py

from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

Expand All @@ -20,3 +21,15 @@


# Write your code below
def regression_predictor(model, x, y):
le = model.fit(x, y)
y_pred = model.predict(x)
mse = mean_squared_error(y, y_pred)
mae = mean_absolute_error(y, y_pred)
r2 = r2_score(y, y_pred)
return y_pred, mse, mae, r2

regression_predictor(model, x_test, y_test)
#x_train.shape, y_train.shape


Binary file modified q07_regression_pred/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q07_regression_pred/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.
Binary file modified q08_linear_model/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q08_linear_model/__pycache__/build.cpython-36.pyc
Binary file not shown.
37 changes: 31 additions & 6 deletions q08_linear_model/build.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# %load q08_linear_model/build.py
import pandas as pd
import numpy as np
from greyatomlib.multivariate_regression_project.q01_load_data.build import load_data
Expand All @@ -9,12 +10,36 @@


df = load_data('data/student-mat.csv')
x_train, x_test, y_train, y_test = split_dataset(df)
x_train,x_test = label_encode(x_train,x_test)
model =linear_regression(x_train,y_train)
val = cross_validation_regressor(model,x_train,y_train)
y_pred, mse, mae, r2 = regression_predictor(model, x_test, y_test)
# x_train, x_test, y_train, y_test = split_dataset(df)
# x_train,x_test = label_encode(x_train,x_test)
# model =linear_regression(x_train,y_train)
# val = cross_validation_regressor(model,x_train,y_train)
# y_pred, mse, mae, r2 = regression_predictor(model, x_test, y_test)

# Write your code below
# # Write your code below
# def linear_model(x_train, y_train,x_test, y_test):

# stats = pd.DataFrame([val, mae, mse, r2], index = ['cross_validation', 'rmse', 'mae', 'r2'])
# return model, y_pred, stats


# linear_model(x_train = x_train, y_train = y_train,x_test = x_test, y_test= y_test)



def linear_model(x_train, x_test, y_train, y_test):

G = linear_regression(x_train,y_train)

c_val = cross_validation_regressor(G , x_train, y_train)

y_pred, mse, mae, r2 = regression_predictor(G, x_test, y_test)

my_dict = {'c_val':c_val, 'mse':mse,'mae':mae,'r2':r2}

stats = pd.DataFrame(my_dict, index=[0])

return G,y_pred,stats



Binary file modified q08_linear_model/tests/__pycache__/__init__.cpython-36.pyc
Binary file not shown.
Binary file modified q08_linear_model/tests/__pycache__/test.cpython-36.pyc
Binary file not shown.