from gamma.utils import Gamma
import pandas as pd
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
import pandas as pd
X = Gamma().read_dataset(website='UCI_Machine_Learning_Repository', dataset='iris')
X.head()
X['class'].nunique()
X['class'].unique()
X.loc[X['class'] == 'Iris-setosa', 'class'] = 1
X.loc[X['class'] == 'Iris-versicolor', 'class'] = 2
X.loc[X['class'] == 'Iris-virginica', 'class'] = 3
X['class'].unique()
X, y = Gamma().separate_data_and_labels(X)
Gamma().generate_descriptive_statistics(X)
Gamma().detect_missing_values(X, y)
Gamma().total_patterns(X)
%matplotlib inline
class1_n, class2_n, class3_n = Gamma().get_patterns_by_class(y, X)
X = Gamma.logarithmic_scale(X, exponent=0)
X.head()
%matplotlib inline
Gamma().feature_correlation(X)
X_train, X_valid, y_train, y_valid = Gamma().hold_out_stratified(X, y, train_size=0.7, test_size=0.3)
%matplotlib inline
patterns_c1, patterns_c2, patterns_c3 = Gamma().get_patterns_by_class(y_train, X_train)
%matplotlib inline
test_class_1, test_class_2, test_class_3 = Gamma().get_patterns_by_class(y_valid, X_valid)
class1_n, class2_n, class3_n = Gamma().get_number_of_patterns_by_class(y_train)
train_patterns, X_test, number_of_patterns = Gamma().prepare_data(class1_n,
patterns_c1,
class2_n,
patterns_c2,
class3_n,
patterns_c3,
X_valid,
y_valid)
data = {'X_test':X_test,'train_patterns':train_patterns, 'number_of_patterns':number_of_patterns, 'theta':5} #the keyword argument container
acc, preds = Gamma().predict(**data) #calling the function
names = ['Iris-setosa', 'Iris-versicolor', 'Iris-virginica']
Gamma().plot_confusion_matrix(preds, y_valid, names)
print("Gamma Accuracy: ", acc)
Gamma().mean_absolute_error(preds, y_valid)