Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

KNN klasifikacija

Isto kreiramo 3rd *quantile()


Kreiramo novu iizlaznu varijablu uz pomoc *ifelse()
Pratvaramo varijablu u faktorsku *as.factor()
Brisanje varijable Dataset$Varijabla <- NULL

Sada radimo iskljucivo sa numerickim podacima


Numericke zadrzavamo, a faktorske rtransformisemo ukolikosu one pogodne
Imamo dva pristupa 1.Standardizacija 2. Normalizacija
Odloku donosimo na osnovu prisutva outlayera,ukoliko ih ima 1.S, ukoliko ih nema
2.N
1. Odsvake svakevrednosti oduzimamo sa prosecnom vrednosti i delimo sa merom
varijabiletita(najcesce medijama)
2.Normalizacija svodjenje na interval 0-1

Vrsimo proveru outlayera


length(boxplot.stats(Carseats$CompPrice)$out)

Nakontoga vrsimo grupisanje svih numerickih varijavli,i premestamo ih u neki


numerickiDataset

Nakon toga vrsimo proveru outlayera za svaku od varijabli u numerickom datasetu,


preko metode
*apply(Dataset[,numeric],MARGIN,function(x))
Za proveru normalnosti umesto function koristiom ShapiroTest, ako je vr 0.05 , ta
varijabla nema Normalnu raspodelu

Nakon za sve neNormalne varijable vrsimo standardizaciju sa median i IQR

carseats.noNormVar <- apply(X = carseats.noNormVar,


MARGIN = 2,
FUN = function(x) scale(x, center = median(x), scale =
IQR(x)))

Pretvaramo rezultat u as.data.frame jer inace ostaje u obliku liste

radimo centriranje vrednosti


noNormVar$Price <- as.vector(scale(x = Carseats$Price, center = TRUE, scale =
TRUE))

Transformisanje faktorskih varijabli u numericke


1.Kada su sa 2 vrednosti,pretvaramo ihodmah *as.integer(Carseats$Urban)
2.Kada ima vise od 2
Prvo pogledamo koliko i koje nivoe ima *levels(Carseats$ShelveLoc)
Zatim je potrebno da ih poredjamo , ali je bitno da one predstavljaju neku
gradaciju vrednosti
Carseats$ShelveLoc <- factor(Carseats$ShelveLoc, levels = c("Bad", "Medium",
"Good"))
Nakon toga radimo prosto transformaciju

Nakon toga kreiramo samo trening i test setr preko Create DataPartition

Kreiranje modela
Kreiranje modelavrsimo uz pomoc funkcije knn
Imamo knn funkciju
knn(train.data[,-rednibrojvarijable],
test.data[,-rednibrojvarijable],
cl = izlaznaVarijabla,
k=5 #broj suseda)

You might also like