Ho un set di dati contenente sia colonne categoriali che numeriche e la mia colonna di destinazione è anche categoriale. Sto usando la libreria Scikit in Python34. So che Scikit richiede che tutti i valori categoriali vengano trasformati in valori numerici prima di eseguire qualsiasi approccio di apprendimento automatico.Caratteristiche categoriali e numeriche - Target categoriale - Scikit Learn - Python
Come devo trasformare le mie colonne categoriali in valori numerici? Ho provato un sacco di cose, ma sto ricevendo errori diversi, come l'oggetto "str", nessun oggetto "numpy.ndarray" non ha attributi "elementi".
Here is an example of my data:
UserID LocationID AmountPaid ServiceID Target
29876 IS345 23.9876 FRDG JFD
29877 IS712 135.98 WERS KOI
mio set di dati viene salvato in un file CSV, ecco il piccolo codice che ho scritto per dare un'idea di quello che voglio fare:
#reading my csv file
data_dir = 'C:/Users/davtalab/Desktop/data/'
train_file = data_dir + 'train.csv'
train = pd.read_csv(train_file)
#numeric columns:
x_numeric_cols = train['AmountPaid']
#Categrical columns:
categorical_cols = ['UserID' + 'LocationID' + 'ServiceID']
x_cat_cols = train[categorical_cols].as_matrix()
y_target = train['Target'].as_matrix()
ho bisogno x_cat_cols per essere convertito in numerico valori e li aggiungo a x_numeric_cols e così hanno i miei valori di input completi (x).
Quindi ho bisogno di convertire la mia funzione di destinazione in valore numerico e renderlo come la mia colonna target finale (y).
poi voglio fare una foresta a caso utilizzando questi due set completi come:
rf = RF(n_estimators=n_trees,max_features=max_features,verbose =verbose, n_jobs =n_jobs)
rf.fit(x_train, y_train)
Grazie per il vostro aiuto!
Per l'obiettivo di classificazione, in realtà non è necessario utilizzare alcuna trasformazione. Tutti i classificatori possono trattare con etichette arbitrarie. –