コード例 #1
0
#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:
コード例 #2
0
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)
コード例 #3
0
#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')