diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index 2e5da7d..8101f01 100644 Binary files a/__pycache__/__init__.cpython-36.pyc and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc index 2f9a42a..2d1a34e 100644 Binary files a/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc and b/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_outlier_removal/__pycache__/build.cpython-36.pyc b/q01_outlier_removal/__pycache__/build.cpython-36.pyc index 8248a16..82d384b 100644 Binary files a/q01_outlier_removal/__pycache__/build.cpython-36.pyc and b/q01_outlier_removal/__pycache__/build.cpython-36.pyc differ diff --git a/q01_outlier_removal/build.py b/q01_outlier_removal/build.py index ec278ba..c258af5 100644 --- a/q01_outlier_removal/build.py +++ b/q01_outlier_removal/build.py @@ -1,4 +1,6 @@ +# %load q01_outlier_removal/build.py # Default imports +import numpy as np import pandas as pd loan_data = pd.read_csv('data/loan_prediction_uncleaned.csv') @@ -6,3 +8,12 @@ # Write your Solution here: +def outlier_removal(data): + data = data[np.invert((data['ApplicantIncome'] > data['ApplicantIncome'].quantile(0.95)) | + (data['CoapplicantIncome'] > data['CoapplicantIncome'].quantile(0.95)) | + (data['LoanAmount'] > data['LoanAmount'].quantile(0.95)))] + return data + +outlier_removal(loan_data) + + diff --git a/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc index 5a057ff..c1865e5 100644 Binary files a/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc and b/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc index 4c0b6c7..401f6b6 100644 Binary files a/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc and b/q01_outlier_removal/tests/__pycache__/test_q01_outlier_removal.cpython-36.pyc differ diff --git a/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..d46f801 Binary files /dev/null and b/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_data_cleaning_all/__pycache__/build.cpython-36.pyc b/q02_data_cleaning_all/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..1b6d8df Binary files /dev/null and b/q02_data_cleaning_all/__pycache__/build.cpython-36.pyc differ diff --git a/q02_data_cleaning_all/build.py b/q02_data_cleaning_all/build.py index b56e2bc..d581658 100644 --- a/q02_data_cleaning_all/build.py +++ b/q02_data_cleaning_all/build.py @@ -1,9 +1,11 @@ +# %load q02_data_cleaning_all/build.py # Default Imports import sys, os sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname('__file__')))) import pandas as pd import numpy as np -from sklearn.model_selection import train_test_split +from sklearn.preprocessing import Imputer +from sklearn.model_selection import train_test_split as tts from greyatomlib.logistic_regression_project.q01_outlier_removal.build import outlier_removal loan_data = pd.read_csv('data/loan_prediction_uncleaned.csv') @@ -12,3 +14,23 @@ # Write your solution here : +def data_cleaning(data): + imp = Imputer(missing_values = float('NaN'), strategy='mean') + data['LoanAmount'] = imp.fit_transform(data[['LoanAmount']]).ravel() + + data['Gender'] = data['Gender'].fillna(data['Gender'].mode()[0]) + data['Married'] = data['Married'].fillna(data['Married'].mode()[0]) + data['Dependents'] = data['Dependents'].fillna(data['Dependents'].mode()[0]) + data['Self_Employed'] = data['Self_Employed'].fillna(data['Self_Employed'].mode()[0]) + data['Loan_Amount_Term'] = data['Loan_Amount_Term'].fillna(data['Loan_Amount_Term'].mode()[0]) + data['Credit_History'] = data['Credit_History'].fillna(data['Credit_History'].mode()[0]) + + X = data.drop('Loan_Status', axis=1) + y = data['Loan_Status'] + + X_train, X_test, y_train, t_test = tts(X, y, test_size = 0.25, random_state = 9) + + return X, y, X_train, X_test, y_train, t_test + +data_cleaning(loan_data) + diff --git a/q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..635e5a4 Binary files /dev/null and b/q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc b/q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc new file mode 100644 index 0000000..c4d5e78 Binary files /dev/null and b/q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc differ diff --git a/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..7eedde5 Binary files /dev/null and b/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..6c2c2bf Binary files /dev/null and b/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc differ diff --git a/q02_data_cleaning_all_2/build.py b/q02_data_cleaning_all_2/build.py index e20ff7b..d379c2e 100644 --- a/q02_data_cleaning_all_2/build.py +++ b/q02_data_cleaning_all_2/build.py @@ -1,3 +1,4 @@ +# %load q02_data_cleaning_all_2/build.py # Default Imports import pandas as pd import numpy as np @@ -11,3 +12,21 @@ # Write your solution here : +def data_cleaning_2(X_train, X_test, y_train, y_test): + X_train['LoanAmount'] = np.sqrt(X_train['LoanAmount']) + X_train['ApplicantIncome'] = np.sqrt(X_train['ApplicantIncome']) + X_train['CoapplicantIncome'] = np.sqrt(X_train['CoapplicantIncome']) + + X_test['LoanAmount'] = np.sqrt(X_test['LoanAmount']) + X_test['ApplicantIncome'] = np.sqrt(X_test['ApplicantIncome']) + X_test['CoapplicantIncome'] = np.sqrt(X_test['CoapplicantIncome']) + + get_dummies_cols = ['Gender', 'Married', 'Dependents', 'Education', 'Self_Employed', 'Property_Area'] + X_train = pd.get_dummies(X_train, columns = get_dummies_cols, drop_first = True) + X_test = pd.get_dummies(X_test, columns = get_dummies_cols, drop_first = True) + + return X_train, X_test, y_train, y_test + +data_cleaning_2(X_train, X_test, y_train, y_test) + + diff --git a/q02_data_cleaning_all_2/tests/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all_2/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..b061d64 Binary files /dev/null and b/q02_data_cleaning_all_2/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc b/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc new file mode 100644 index 0000000..4624ae6 Binary files /dev/null and b/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc differ diff --git a/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..1730b6c Binary files /dev/null and b/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc differ diff --git a/q03_logistic_regression/__pycache__/build.cpython-36.pyc b/q03_logistic_regression/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000..7e773dd Binary files /dev/null and b/q03_logistic_regression/__pycache__/build.cpython-36.pyc differ diff --git a/q03_logistic_regression/build.py b/q03_logistic_regression/build.py index cdbd506..bc22949 100644 --- a/q03_logistic_regression/build.py +++ b/q03_logistic_regression/build.py @@ -1,3 +1,4 @@ +# %load q03_logistic_regression/build.py # Default Imports import pandas as pd from sklearn.preprocessing import StandardScaler @@ -15,4 +16,18 @@ # Write your solution code here: +def logistic_regression(X_train, X_test, y_train, y_test): + standardScalerX = StandardScaler() + X_train = standardScalerX.fit_transform(X_train) + + Logistic = LogisticRegression() + Logistic.fit(X_train, y_train) + + y_pred = Logistic.predict(X_test) + ConfusionMatrix = confusion_matrix(y_test, y_pred) + + return ConfusionMatrix + +logistic_regression(X_train, X_test, y_train, y_test) + diff --git a/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000..e35a333 Binary files /dev/null and b/q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc b/q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc new file mode 100644 index 0000000..cc34fdf Binary files /dev/null and b/q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc differ