Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Máquinas vetoriais de suporte de uma classe do Machine Learning One
Uso
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(), ...)
Argumentos
formula
A fórmula, conforme descrito em rxFormula. No momento, não há suporte para termos F() de interação no MicrosoftML.
data
Um objeto de fonte de dados ou uma cadeia de caracteres especificando um arquivo .xdf ou um objeto de quadro de dados.
cacheSize
O tamanho máximo em MB do cache que armazena os dados de treinamento. Aumente isso para conjuntos de treinamento grandes. O valor padrão é 100 MB.
kernel
Uma cadeia de caracteres que representa o kernel usado para computação de produtos internos. Para obter mais informações, consulte maKernel. As seguintes opções estão disponíveis:
-
rbfKernel(): kernel de função de base radial. Seu parâmetro representagammano termoexp(-gamma|x-y|^2. Se não for especificado, o padrão será dividido pelo número de recursos usados1. Por exemplo,rbfKernel(gamma = .1). Esse é o valor padrão. -
linearKernel(): kernel linear. -
polynomialKernel(): kernel polinomial com nomesabiasde parâmetro edegno termo(a*<x,y> + bias)^deg. Obiaspadrão0é . O grau,dego padrão é3. Seanão for especificado, ele será definido como1dividido pelo número de recursos. Por exemplo,maKernelPoynomial(bias = 0, deg = `` 3). -
sigmoidKernel(): kernel Sigmoid com nomesgammade parâmetro ecoef0no termotanh(gamma*<x,y> + coef0).gamma, o padrão é1dividido pelo número de recursos. O parâmetrocoef0usa0como padrão . Por exemplo,sigmoidKernel(gamma = .1, coef0 = 0).
epsilon
O limite de convergência do otimizador. Se a melhoria entre as iterações for menor que o limite, o algoritmo para e retorna o modelo atual. O valor deve ser maior ou igual a .Machine$double.eps. O valor padrão é 0,001.
nu
A troca entre a fração de exceções e o número de vetores de suporte (representados pela letra grega nu). Deve estar entre 0 e 1, normalmente entre 0,1 e 0,5. O valor padrão é 0,1.
shrink
Usa a heurística de redução se TRUE. Nesse caso, alguns exemplos serão "reduzidos" durante o procedimento de treinamento, o que pode acelerar o treinamento. O valor padrão é TRUE.
normalize
Especifica o tipo de normalização automática usado:
-
"auto": se a normalização for necessária, ela será executada automaticamente. Essa é a opção padrão. -
"no": nenhuma normalização é executada. -
"yes": a normalização é executada. -
"warn": se a normalização for necessária, uma mensagem de aviso será exibida, mas a normalização não será executada.
A normalização redimensiona intervalos de dados diferentes para uma escala padrão. O dimensionamento de recursos garante que as distâncias entre os pontos de dados sejam proporcionais e permite que vários métodos de otimização, como descendente de gradiente, convergam muito mais rapidamente. Se a normalização for executada, umMaxMinnormalizador será usado. Normaliza valores em um intervalo [a, b] onde-1 <= a <= 0e0 <= b <= 1b - a = 1. Esse normalizador preserva a moderação mapeando zero a zero.
mlTransforms
Especifica uma lista de transformações do MicrosoftML a serem executadas nos dados antes do treinamento ou NULL se nenhuma transformação deve ser executada. Consulte featurizeText, categórico e categórico para ver as transformações com suporte. Essas transformações são executadas após quaisquer transformações de R especificadas. O valor padrão é NULL.
mlTransformVars
Especifica um vetor de caractere de nomes de variáveis a ser usado ou mlTransformsNULL se nenhum deve ser usado. O valor padrão é NULL.
rowSelection
Especifica as linhas (observações) do conjunto de dados que devem ser usadas pelo modelo com o nome de uma variável lógica do conjunto de dados (entre aspas) ou com uma expressão lógica usando variáveis no conjunto de dados. Por exemplo, rowSelection = "old" usará apenas observações nas quais o valor da variável old é TRUE.
rowSelection = (age > 20) & (age < 65) & (log(income) > 10) usa apenas observações nas quais o valor da age variável está entre 20 e 65 e o valor da logincome variável é maior que 10. A seleção de linha é executada após o processamento de transformações de dados (consulte os argumentos transforms ou transformFunc). Assim como acontece com todas as expressões, rowSelection pode ser definido fora da chamada de função usando a função de expressão.
transforms
Uma expressão do formulário list(name = expression, ``...) que representa a primeira rodada de transformações variáveis. Assim como acontece com todas as expressões, transforms (ou rowSelection) pode ser definido fora da chamada de função usando a função de expressão.
transformObjects
Uma lista nomeada que contém objetos que podem ser referenciados por transforms, transformsFunce rowSelection.
transformFunc
A função de transformação variável. Consulte rxTransform para obter detalhes.
transformVars
Um vetor de caractere das variáveis de conjunto de dados de entrada necessárias para a função de transformação. Consulte rxTransform para obter detalhes.
transformPackages
Um vetor de caracteres que especifica pacotes R adicionais (fora daqueles especificados em rxGetOption("transformPackages")) a serem disponibilizados e pré-carregados para uso em funções de transformação variável. Por exemplo, aqueles explicitamente definidos em funções RevoScaleR por meio de seus transforms argumentos ou transformFunc argumentos ou aqueles definidos implicitamente por meio de seus formula argumentos ou rowSelection argumentos. O transformPackages argumento também pode ser NULL, indicando que nenhum pacote externo rxGetOption("transformPackages") está pré-carregado.
transformEnvir
Um ambiente definido pelo usuário para servir como pai para todos os ambientes desenvolvidos internamente e usados para transformação de dados variáveis. Em transformEnvir = NULLvez disso, um novo ambiente "hash" com pai baseenv() será usado.
blocksPerRead
Especifica o número de blocos a serem lidos para cada parte dos dados lidos da fonte de dados.
reportProgress
Um valor inteiro que especifica o nível de relatório sobre o progresso do processamento de linhas:
-
0: nenhum progresso é relatado. -
1: o número de linhas processadas é impresso e atualizado. -
2: linhas processadas e intervalos são relatados. -
3: linhas processadas e todos os intervalos são relatados.
verbose
Um valor inteiro que especifica a quantidade de saída desejada. Se 0, nenhuma saída detalhada será impressa durante os cálculos. Valores inteiros de 1 para 4 fornecer quantidades crescentes de informações.
computeContext
Define o contexto no qual os cálculos são executados, especificado com um RxComputeContext válido. Atualmente, há suporte para contextos de computação locais e RxInSqlServer.
ensemble
Controlar parâmetros para ensembling.
...
Argumentos adicionais a serem passados diretamente para o Mecanismo de Computação da Microsoft.
Detalhes
a detecção é identificar exceções que não pertencem a alguma classe de destino. Esse tipo de SVM é de uma classe porque o conjunto de treinamento contém apenas exemplos da classe de destino. Ele infere quais propriedades são normais para os objetos na classe de destino e dessas propriedades prevê quais exemplos são diferentes dos exemplos normais. Isso é útil para detecção de anomalias porque a escassez de exemplos de treinamento é o caractere definidor de anomalias: normalmente, há muito poucos exemplos de intrusão de rede, fraude ou outros tipos de comportamento anômalo.
Valor
rxOneClassSvm: um rxOneClassSvm objeto com o modelo treinado.
OneClassSvm: um objeto de especificação de aprendiz de classe maml para o treinador do OneClass Svm.
Anotações
Esse algoritmo é de thread único e sempre tentará carregar todo o conjunto de dados na memória.
Autor(s)
Microsoft Corporation Microsoft Technical Support
Referências
Azure Machine Learning Studio (classic): One-Class Support Vector Machine
Support of a High-Dimensional Distribution
Consulte também
rbfKernel, linearKernel, polynomialKernel, sigmoidKernelrxFastTrees, rxFastForest, rxFastLinear, rxLogisticRegression, rxNeuralNet, featurizeText, categorical, categoricalHash, rxPredict.mlModel.
Exemplos
# 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)