#coding: utf-8 #Author azowmed import outils from outils import * incorrect_data = outils.read_file('./data/False_Data.csv') dFL = fill_matrix_FL(create_matrix_FN_LN(incorrect_data),incorrect_data) #creer une matrice (dictionnaire 2D) dont les lignes sont les prenoms et les colonnes les noms dLF = fill_matrix_LF(create_matrix_LN_FN(incorrect_data),incorrect_data) #creer une matrice (dictionnaire 2D) dont les lignes sont les noms et les colonnes sont les prenoms keysF = dFL.keys() keysL = dLF.keys() k0=100 #On peut initialiser k0 à une grande valeur quand on travaille avec de grandes tailles de données, dans notre cas (10 000 lignes) j'ai initialisé par 100 to_switch = [x for x in incorrect_data] while (float(len(to_switch))/len(incorrect_data) > 0.2): #tant que le programme propose de modifier plus de 10% de la taille des donnees, on diminue le k0 afind de selection moins. #0.2 nous indique la quantitee de lignes qu'on permet au programme d'inverser (ici on suppose que 20% des lignes sont fausses, on peut la mettre a 0.1 pour # 10%) to_switch = [] not_ordered_FN_guess = [] #contiendra les lignes suscetibles a devoir etre inversees suivant l'etudes des occurences des prenoms not_ordered_LN_guess = [] # contiendra les lignes suscetibles a devoir etre inversees suivant l'etude des occurences des noms for i in keysF: k = sum(dFL[i].values()) if k < k0: a = dFL[i] keyz=dFL[i].keys() for l in keyz:
parametres = [2, outils.euclidienne, 0.01, 40] data, c = dt.create_gauss_cross(50) centroide_trouve = apply_proc(data, parametres) e1 = ec.Evaluateur_centroide(c, centroide_trouve) e1.Evaluate() e1.__str__() # In[ ]: parametres = [2, outils.euclidienne, 0.01, 40] data, c = dt.create_gauss_ronde(50, 0.01) centroide_trouve = apply_proc(data, parametres) e1 = ec.Evaluateur_centroide(c, centroide_trouve) e1.Evaluate() e1.__str__() # In[ ]: parametres = [4, outils.euclidienne, 0.01, 40] data, c = dt.create_xor(50, 0.01) centroide_trouve = apply_proc(data, parametres) e1 = ec.Evaluateur_centroide(c, centroide_trouve) e1.Evaluate() e1.__str__() # In[9]: data = outils.read_file("donne_mod.csv") parametres = [2, outils.euclidienne, 0.08, 40] apply_proc(data, parametres)
#coding: utf-8 #Author azowmed import outils from outils import read_file from outils import write_data_in_csv import random data = read_file('./data/DATA2.csv') old_data = [] for k in data: old_data.append(k) indexes_to_switch = random.sample(range(0,len(data)),len(data)/10) while len(indexes_to_switch)!=0: row = data[indexes_to_switch[0]] data[indexes_to_switch[0]] = [row[1],row[0]] indexes_to_switch.remove(indexes_to_switch[0]) print 'la taille des données : ', len(data) write_data_in_csv(data,'./data/False_Data.csv')