ax.w_xaxis.set_ticklabels([]) ax.set_ylabel("2nd eigenvector") ax.w_yaxis.set_ticklabels([]) ax.set_zlabel("3rd eigenvector") ax.w_zaxis.set_ticklabels([]) plt.show() elif set_of_exps == 2: from load_data import load_binary_diabetes_uci from sklearn import svm from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from sklearn.decomposition import PCA diabetes = load_binary_diabetes_uci() # 50% for train ntrain = len(diabetes.target) // 2 # Train an SVM using the training set clf = svm.SVC(C=10.0) # with C = 10 and C = 100 => same accuracy, different fairness! # with C = 1000 => from 76% to 74% in accuracy but fair! clf.fit(diabetes.data[:ntrain, :], diabetes.target[:ntrain]) # The dataset becomes the test set diabetes.data = diabetes.data[ntrain:, :] diabetes.target = diabetes.target[ntrain:] # Accuracy pred = clf.predict(diabetes.data)
# print(newdata.shape) self.dataset = namedtuple('_', 'data, target')(newdata, self.dataset.target) self.model.fit(self.dataset.data, self.dataset.target) #if hasattr(self.model, 'best_estimator_'): # self.model = self.model.best_estimator_ #self.coef_ = self.model.coef_ #self.intercept_ = self.model.intercept_ if __name__ == "__main__": experiment_number = 0 if experiment_number == 0: dataset_train = load_binary_diabetes_uci() dataset_test = load_binary_diabetes_uci() sensible_feature = 1 # sex elif experiment_number == 1: dataset_train = load_heart_uci() dataset_test = load_heart_uci() sensible_feature = 1 # sex elif experiment_number == 2: dataset_train, dataset_test = load_adult(smaller=False) sensible_feature = 9 # sex print('Different values of the sensible feature', sensible_feature, ':', set(dataset_train.data[:, sensible_feature])) elif experiment_number == 3: dataset_train, dataset_test = load_adult_race(smaller=False) sensible_feature = 8 # race print('Different values of the sensible feature', sensible_feature,