Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Machine Learning Egy osztály támogatása vektorgépek
Használat
rxOneClassSvm(formula = NULL, data, cacheSize = 100, kernel = rbfKernel(),
epsilon = 0.001, nu = 0.1, shrink = TRUE, normalize = "auto",
mlTransforms = NULL, mlTransformVars = NULL, rowSelection = NULL,
transforms = NULL, transformObjects = NULL, transformFunc = NULL,
transformVars = NULL, transformPackages = NULL, transformEnvir = NULL,
blocksPerRead = rxGetOption("blocksPerRead"),
reportProgress = rxGetOption("reportProgress"), verbose = 1,
computeContext = rxGetOption("computeContext"),
ensemble = ensembleControl(), ...)
Érvek
formula
A képlet az rxFormulában leírtak szerint. Interakciós feltételek, és F() jelenleg nem támogatottak a MicrosoftML-ben.
data
.xdf-fájlt vagy adatkeret-objektumot meghatározó adatforrás-objektum vagy karaktersztring.
cacheSize
A betanítási adatokat tároló gyorsítótár maximális mérete MB-ban. Növelje ezt a nagy betanítási csoportok esetében. Az alapértelmezett érték 100 MB.
kernel
A belső termékek számításához használt kernelt jelképező karaktersztring. További információ: maKernel. A következő lehetőségek érhetők el:
-
rbfKernel(): Radiális alapfüggvény kernel. Paramétere a kifejezésbengammaszerepelexp(-gamma|x-y|^2. Ha nincs megadva, az alapértelmezés szerint1a használt funkciók számával van osztva. Például:rbfKernel(gamma = .1). Ez az alapértelmezett érték. -
linearKernel(): Lineáris kernel. -
polynomialKernel(): Polinom kernel paraméternevekkela,biasésdega kifejezésben(a*<x,y> + bias)^deg. Azbiasalapértelmezett érték a következő.0A fok,degaz alapértelmezett érték a következő.3Haanincs megadva, akkor a1funkció a funkciók számával van osztva. Például:maKernelPoynomial(bias = 0, deg = `` 3). -
sigmoidKernel(): Sigmoid kernel paraméternevekkelgammaéscoef0a kifejezésbentanh(gamma*<x,y> + coef0).gammaalapértelmezés szerint1osztva a funkciók számával. A paramétercoef0alapértelmezés szerint a következő.0Például:sigmoidKernel(gamma = .1, coef0 = 0).
epsilon
Az optimalizáló konvergenciájának küszöbértéke. Ha az iterációk közötti javulás kisebb, mint a küszöbérték, az algoritmus leáll, és visszaadja az aktuális modellt. Az értéknek nagyobbnak vagy egyenlőnek .Machine$double.epskell lennie. Az alapértelmezett érték 0,001.
nu
A kiugró értékek törtrésze és a támogató vektorok száma közötti kompromisszum (amelyet a görög nu betű jelöl). 0 és 1 között kell lennie, általában 0,1 és 0,5 között. Az alapértelmezett érték 0,1.
shrink
A zsugorító heurisztikus ha TRUE. Ebben az esetben egyes minták "zsugorulnak" a betanítási eljárás során, ami felgyorsíthatja a betanítást. Az alapértelmezett érték a TRUE.
normalize
A használt automatikus normalizálás típusát adja meg:
-
"auto": ha normalizálásra van szükség, a rendszer automatikusan végrehajtja. Ez az alapértelmezett választás. -
"no": nem történik normalizálás. -
"yes": normalizálás történik. -
"warn": ha normalizálásra van szükség, figyelmeztető üzenet jelenik meg, de a normalizálás nem történik meg.
A normalizálás az adattartományokat standard méretezésre skálázza át. A funkciók skálázása biztosítja az adatpontok közötti távolságok arányosak, és lehetővé teszi a különböző optimalizálási módszereket, például a színátmenetes süllyedést, hogy sokkal gyorsabban konvergáljanak. Normalizálás esetén a rendszer normalizálótMaxMinhasznál. Normalizálja az értékeket egy intervallumban [a, b] ahol-1 <= a <= 0és0 <= b <= 1.b - a = 1Ez a normalizáló a nulláról nullára való leképezéssel megőrzi a ritkaságot.
mlTransforms
Megadja azon MicrosoftML-átalakítások listáját, amelyeket betanítás előtt el kell végezni az adatokon, vagy NULL hogy nem kell-e átalakításokat végrehajtani. A támogatott átalakításokról lásd : featurizeText, kategorikus és kategorikusHash. Ezek az átalakítások a megadott R-átalakítások után lesznek végrehajtva. Az alapértelmezett érték a NULL.
mlTransformVars
A változónevek mlTransforms karaktervektorát adja meg, vagy NULL ha egyik sem használható. Az alapértelmezett érték a NULL.
rowSelection
Az adathalmaz azon sorait (megfigyeléseit) adja meg, amelyeket a modell az adathalmazból származó logikai változó nevével (idézőjelekben) vagy az adathalmaz változóit használó logikai kifejezéssel használ. Például csak olyan megfigyeléseket fog használni, rowSelection = "old" amelyekben a változó old értéke .TRUE
rowSelection = (age > 20) & (age < 65) & (log(income) > 10) csak olyan megfigyeléseket használ, amelyekben a age változó értéke 20 és 65 között van, és a logincome változó értéke nagyobb, mint 10. A sorkijelölés az adatátalakítások feldolgozása után történik (lásd az argumentumokat transforms vagy transformFunca ). Az összes kifejezéshez hasonlóan a rowSelection függvényhíváson kívül is definiálható a kifejezésfüggvény használatával.
transforms
Az űrlap list(name = expression, ``...) kifejezése, amely a változóátalakítások első fordulóját jelöli. Az összes kifejezéshez transforms hasonlóan (vagy rowSelection) a függvényhíváson kívül is definiálható a kifejezésfüggvény használatával.
transformObjects
Névvel ellátott lista, amely olyan objektumokat tartalmaz, amelyekre hivatkozni transformslehet.transformsFuncrowSelection
transformFunc
A változó transzformációs függvénye. Részletekért tekintse meg az rxTransformot.
transformVars
A bemeneti adathalmaz változóinak karaktervektora, amely az átalakítási függvényhez szükséges. Részletekért tekintse meg az rxTransformot.
transformPackages
Egy karaktervektor, amely további R-csomagokat határoz meg (a megadottakon rxGetOption("transformPackages")kívül), amelyeket elérhetővé kell tenni és előre be kell tölteni a változóátalakítási függvényekben való használatra. A RevoScaleR-ben explicit módon definiált függvények például azok és transforms argumentumaiktransformFunc, illetve az azok vagy formula argumentumaik rowSelection által implicit módon definiált függvények. Az transformPackages argumentum lehet NULLaz is, amely azt jelzi, hogy nincsenek előre betöltött csomagok.rxGetOption("transformPackages")
transformEnvir
Felhasználó által definiált környezet, amely szülőként szolgál minden belső fejlesztésű és változó adatátalakításhoz használt környezethez. Ha transformEnvir = NULLa rendszer ehelyett egy új "kivonat" környezetet használ szülővel baseenv() .
blocksPerRead
Megadja az adatforrásból beolvasott adattömbök olvasási blokkjainak számát.
reportProgress
Egész számérték, amely a sorfeldolgozási folyamat jelentési szintjét határozza meg:
-
0: nem jelent előrehaladást. -
1: a feldolgozott sorok száma ki lesz nyomtatva és frissítve. -
2: a feldolgozott sorok és az időzítések jelentése. -
3: feldolgozott sorok és az összes időzítés jelentése.
verbose
Egy egész szám, amely meghatározza a kívánt kimenet mennyiségét. Ha 0, a számítások során a rendszer nem nyomtat részletes kimenetet. Egész számértékek a 1 növekvő mennyiségű információ biztosításához 4 .
computeContext
Beállítja a számítások végrehajtásának környezetét egy érvényes RxComputeContexttel megadva. Jelenleg a helyi és az RxInSqlServer számítási környezetek támogatottak.
ensemble
Vezérlési paraméterek a ensemblinghez.
...
További argumentumok, amelyek közvetlenül a Microsoft számítási motornak lesznek átadva.
Részletek
az észlelés olyan kiugró értékek azonosítására használható, amelyek nem tartoznak valamilyen célosztályhoz. Az SVM ilyen típusa egyosztályos, mert a betanítási csoport csak a célosztályból származó példákat tartalmaz. Ebből arra következtet, hogy a célosztály objektumai milyen tulajdonságokat használnak, és ezekből a tulajdonságokból előrejelzi, hogy mely példák különböznek a normál példáktól. Ez azért hasznos az anomáliadetektáláshoz, mert a betanítási példák szűkössége az anomáliák meghatározó karaktere: általában nagyon kevés példa van hálózati behatolásra, csalásra vagy egyéb rendellenes viselkedésre.
Érték
rxOneClassSvm: A rxOneClassSvm betanított modellel rendelkező objektum.
OneClassSvm: A OneClass Svm oktató osztályának tanulói specifikációs maml objektuma.
Jegyzetek
Ez az algoritmus egyszálas, és mindig megpróbálja betölteni a teljes adathalmazt a memóriába.
Szerző(k)
Microsoft Corporation Microsoft Technical Support
Hivatkozások
Azure Machine Learning Studio (classic): One-Class Support Vector Machine
Support of a High-Dimensional Distribution
Lásd még
rbfKernel, linearKernel, polynomialKernel, sigmoidKernelrxFastTrees, rxFastForest, rxFastLinear, rxLogisticRegression, rxNeuralNet, featurizeText, categorical, categoricalHash, rxPredict.mlModel.
Példák
# Estimate a One-Class SVM model
trainRows <- c(1:30, 51:80, 101:130)
testRows = !(1:150 %in% trainRows)
trainIris <- iris[trainRows,]
testIris <- iris[testRows,]
svmModel <- rxOneClassSvm(
formula = ~Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,
data = trainIris)
# Add additional non-iris data to the test data set
testIris$isIris <- 1
notIris <- data.frame(
Sepal.Length = c(2.5, 2.6),
Sepal.Width = c(.75, .9),
Petal.Length = c(2.5, 2.5),
Petal.Width = c(.8, .7),
Species = c("not iris", "not iris"),
isIris = 0)
testIris <- rbind(testIris, notIris)
scoreDF <- rxPredict(svmModel,
data = testIris, extraVarsToWrite = "isIris")
# Look at the last few observations
tail(scoreDF)
# Look at average scores conditioned by 'isIris'
rxCube(Score ~ F(isIris), data = scoreDF)