Să presupunem că trebuie să lucrăm cu setul de date Iris, despre care puteți afla mai multe aici.
Pe coloana specii (species) avem trei tipuri de valori:
- setosa
- versicolor
- virginica
Există mai multe moduri de a encoda aceste valori astfel încât să le putem manipula cu algoritmii noștri.
Encodarea unul-din-N (1-of-n) este cea mai simplă.
Astfel, pornind de la prima linie
5.1,3.5,1.4,0.2,setosa
putem înlocui „setosa” folosim 1,1,-1 și să obținem
5.1,3.5,1.4,0.2, 1,1,-1
La fel și pentru restul
- setosa: 1,1,-1
- versicolor: 1, -1, 1
- virginica: -1,1,1
Cum facem toate acestea în R?
#read csv data setwd("C:\\ScriuCod\\AI\\Data classification") irisData<-as.data.frame( read.csv("iris.csv",header=TRUE, sep=",")) #3 values on the species column: virginica,versicolor,setosa #virginica: 1,1,-1 #versicolor: 1,-1,1 #setosa: -1,1,1 #set 1 value on each cell for the newly created columns irisData$setosa<-1 irisData$versicolor<-1 irisData$virginica<-1 #set -1 on the right column depending on the values setosa, versicolor or virginica irisData$setosa=replace(irisData$setosa, irisData$species=="setosa",-1) irisData$versicolor=replace(irisData$versicolor, irisData$species=="versicolor",-1) irisData$virginica=replace(irisData$virginica, irisData$species=="virginica",-1) #remove the species column irisData$species<-NULL
Urmând să obținem setul de date următor:
Aceasta a fost tot! Folosirea lui -1 în loc de 0, este o chestiune de gust (în acest caz).
Normalizarea observațiilor nominale din setul de date Iris. Înlocuim, setosa cu 1,1,-1, versicolor cu 1, -1, 1 și virginica cu -1,1,1
Dacă doriți să aflați mai multe despre mine, Cornel Fătulescu, sau proiectele în care sunt implicat, vă invit să mă descoperiți și ca Chief Platform Officer la Pentalog, să mă urmăriți pe Facebook, ca investitor la wanttolearn, să citiți unul dintre primele articole despre mine și să mă contactați urmând ghidul de pe pagina de contact.Acest articol a fost citit de 1193 ori