English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
1、Fornito un dataset noise-data-1.txt, il dataset contiene un gran numero di valori mancanti (spazi, valori incompleti, ecc.). Utilizzare "costanti globali", "media o mediana" per riempire i valori mancanti.
noise-data-1.txt:
5.1 3.5 1.4 0.2 4.9 3 1.4 0.2 4.7 3.2 1.3 0.2 4.6 3.1 1.5 0.2 5 3.6 1.4 0.2 5.4 3.9 1.7 0.4 4.6 3.4 1.4 0.3 5 3.4 1.5 0.2 4.4 2.9 1.4 0.2 4.9 -3.1 1.5 0.1 5.4 3.7 1.5 0.2 4.8 3.4 1.6 0.2 4.8 3 -1.4 0.1 4.3 3 1.1 0.1 5.8 4 1.2 0.2 5.7 4.4 1.5 0.4 5.4 3.9 1.3 0.4 5.1 3.5 1.4 0.3 5.7 3.8 1.7 0.3 5.1 3.8 -1.5 0.3 5.4 3.4 1.7 0.2 5.1 3.7 1.5 0.4 4.6 3.6 1 0.2 5.1 3.3 1.7 0.5 4.8 3.4 1.9 0.2
Piano di soluzione:Prima di tutto leggere i dati, elaborare i dati, rimuovere le righe vuote, utilizzare la "media" per riempire i valori mancanti, in questo problema viene implementato in Python, il codice è il seguente:
import numpy as np data = [] my_list = [] con=0 noise_data = open('noise-data-1.txt') clean_data = open("clean_data3.txt", 'w') for line in noise_data.readlines(): if len(line) == 0: break if line.count('\n') == len(line): continue dataline =line.strip().split('\t') my_list.append(dataline) con+=1 for i in range(0,con): for j in range(0,len(my_list[i])): if my_list[i][j].count('.')==0: miss_row=[] for a in range(0,len(my_list[i])): if float(my_list[i][a])<0: miss_row.append(-float(my_list[i][a])) miss_row.append(float(my_list[i][a])) my_average=round(np.average(miss_row),1) my_list[i][j]=my_average else: if float(my_list[i][j])<0: my_list[i][j]=-float(my_list[i][j]) my_list[i][j]=float(my_list[i][j]) print my_list def file_write(filename,data_list): file1=open(filename,'w') for i in data_list: for j in i: if type(j)!=str: j=str(j) file1.write(j) file1.write(' ') file1.write('\n') file1.close() return file1 filename='clean_data.txt' file_write(filename,my_list)
I risultati dell'esecuzione sono i seguenti:
Questo esempio di implementazione di pre-elaborazione dei dati in Python per la riempimento dei valori mancanti che ho condiviso con voi è tutto ciò che ho da offrire. Spero che possa essere di riferimento per voi e che possiate sostenere fortemente il tutorial urla.
Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, di proprietà del rispettivo autore, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, il sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.