Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Machine Learning Hızlı Ormanı
Kullanım
rxFastForest(formula = NULL, data, type = c("binary", "regression"),
numTrees = 100, numLeaves = 20, minSplit = 10, exampleFraction = 0.7,
featureFraction = 0.7, splitFraction = 0.7, numBins = 255,
firstUsePenalty = 0, gainConfLevel = 0, trainThreads = 8,
randomSeed = NULL, 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 = 2,
computeContext = rxGetOption("computeContext"),
ensemble = ensembleControl(), ...)
Tartışmalar
formula
rxFormula'da açıklandığı gibi formül. Etkileşim terimleri ve F() şu anda MicrosoftML'de desteklenmiyor.
data
Bir veri kaynağı nesnesi veya .xdf dosyası veya veri çerçevesi nesnesi belirten bir karakter dizesi.
type
Hızlı Ağaç türünü belirten bir karakter dizesi:
-
"binary"varsayılan Hızlı Ağaç İkili Sınıflandırması için veya -
"regression"Hızlı Ağaç Regresyonu için.
numTrees
Toplulukta oluşturulacak karar ağaçlarının toplam sayısını belirtir. Daha fazla karar ağacı oluşturarak daha iyi bir kapsam elde edebilirsiniz, ancak eğitim süresi artar. Varsayılan değer 100 şeklindedir.
numLeaves
Herhangi bir ağaçta oluşturulabilecek en fazla yaprak sayısı (terminal düğümleri). Daha yüksek değerler büyük olasılıkla ağacın boyutunu artırır ve daha iyi duyarlık elde eder, ancak fazla uygunluk riski ve daha uzun eğitim süreleri gerektirir. Varsayılan değer 20'dir.
minSplit
Yaprak oluşturmak için gereken en az eğitim örneği sayısı. Başka bir ifadeyle, alt örneklenmiş verilerin dışında bir regresyon ağacının yaprağında izin verilen en az sayıda belge. 'Bölme', ağacın (düğüm) her düzeyindeki özelliklerin rastgele bölündüğü anlamına gelir. Varsayılan değer 10'dur.
exampleFraction
Her ağaç için kullanılacak rastgele seçilen örneklerin kesri. Varsayılan değer 0,7'dir.
featureFraction
Her ağaç için kullanılacak rastgele seçilen özelliklerin kesri. Varsayılan değer 0,7'dir.
splitFraction
Her bölmede kullanılacak rastgele seçilen özelliklerin kesri. Varsayılan değer 0,7'dir.
numBins
Özellik başına en fazla ayrı değer (bölme) sayısı. Varsayılan değer 255'tir.
firstUsePenalty
Özellik ilk olarak ceza katsayısını kullanır. Varsayılan değer 0'dır.
gainConfLevel
Ağaç uydurma kazanç güven gereksinimi ([0,1) aralığında olmalıdır). Varsayılan değer 0'dır.
trainThreads
Eğitimde kullanılacak iş parçacığı sayısı. belirtilirse NULL , kullanılacak iş parçacığı sayısı dahili olarak belirlenir. Varsayılan değer şudur: NULL.
randomSeed
Rastgele tohumu belirtir. Varsayılan değer şudur: NULL.
mlTransforms
Eğitimden önce veya NULL hiçbir dönüşüm gerçekleştirilmeden önce veriler üzerinde gerçekleştirilecek MicrosoftML dönüşümlerinin listesini belirtir. Desteklenen dönüştürmeler için bkz. featurizeText, categorical ve categoricalHash. Bu dönüştürmeler, belirtilen R dönüştürmelerinden sonra gerçekleştirilir. Varsayılan değer şudur: NULL.
mlTransformVars
Içinde kullanılacak mlTransforms değişken adlarının karakter vektörünün veya NULL bunların hiçbirinin kullanılmayacağı bir karakter vektörünün belirtir. Varsayılan değer şudur: NULL.
rowSelection
Model tarafından veri kümesindeki bir mantıksal değişkenin adıyla (tırnak içinde) veya veri kümesindeki değişkenleri kullanan bir mantıksal ifadeyle kullanılacak satırları (gözlemleri) belirtir. Örneğin, rowSelection = "old" yalnızca değişkeninin oldTRUEdeğerinin olduğu gözlemleri kullanır.
rowSelection = (age > 20) & (age < 65) & (log(income) > 10) yalnızca değişkenin değerinin age 20 ile 65 arasında olduğu ve değişkenin değerinin logincome 10'dan büyük olduğu gözlemleri kullanır. Satır seçimi, veri dönüştürmeleri işlendikten sonra gerçekleştirilir (veya bağımsız değişkenlerine transformstransformFuncbakın). Tüm ifadelerde olduğu gibi, rowSelection ifade işlevi kullanılarak işlev çağrısının dışında tanımlanabilir.
transforms
Değişken dönüşümlerinin ilk turunu temsil eden formun list(name = expression, ``...) ifadesi. Tüm ifadelerde olduğu gibi , transforms (veya rowSelection) ifade işlevi kullanılarak işlev çağrısı dışında tanımlanabilir.
transformObjects
, transformsve transformsFunctarafından rowSelectionbaşvurulabilen nesneler içeren adlandırılmış liste.
transformFunc
Değişken dönüştürme işlevi. Ayrıntılar için bkz. rxTransform.
transformVars
Dönüştürme işlevi için gereken giriş veri kümesi değişkenlerinin karakter vektörleri. Ayrıntılar için bkz. rxTransform.
transformPackages
Değişken dönüştürme işlevlerinde kullanılmak üzere kullanıma sunulacak ve önceden yüklenecek ek R paketlerini (içinde rxGetOption("transformPackages")belirtilenlerin dışında) belirten bir karakter vektör. Örneğin, RevoScaleR işlevlerinde ve bağımsız değişkenleri aracılığıyla transformstransformFunc açıkça tanımlananlar veya veya bağımsız değişkenleri aracılığıyla formularowSelection örtük olarak tanımlananlar. Bağımsız transformPackages değişken, NULLdışında rxGetOption("transformPackages") hiçbir paketin önceden yüklenmediğini belirten olabilir.
transformEnvir
Dahili olarak geliştirilen ve değişken veri dönüşümü için kullanılan tüm ortamların üst öğesi olarak görev yapmak için kullanıcı tanımlı bir ortam. ise transformEnvir = NULL, bunun yerine üst öğeye baseenv() sahip yeni bir "karma" ortam kullanılır.
blocksPerRead
Veri kaynağından okunan her veri öbekleri için okunacak blok sayısını belirtir.
reportProgress
Satır işleme ilerleme durumuyla ilgili raporlama düzeyini belirten bir tamsayı değeri:
-
0: herhangi bir ilerleme bildirilmemiştir. -
1: işlenen satır sayısı yazdırılır ve güncelleştirilir. -
2: işlenen satırlar ve zamanlamalar bildirilir. -
3: işlenen satırlar ve tüm zamanlamalar bildirilir.
verbose
İstenen çıkış miktarını belirten bir tamsayı değeri. ise 0, hesaplamalar sırasında ayrıntılı çıktı yazdırılmaz. Artan miktarda bilgi sağlamak için 1 olan 4 tamsayı değerleri.
computeContext
Geçerli bir RxComputeContext ile belirtilen hesaplamaların yürütülme bağlamını ayarlar. Şu anda yerel ve RxInSqlServer işlem bağlamları desteklenmektedir.
ensemble
Benzerliği için denetim parametreleri.
...
Doğrudan Microsoft İşlem Altyapısı'na geçirilecek ek bağımsız değişkenler.
Ayrıntılar
Karar ağaçları, bir dizi gerçekleştiren parametrik olmayan modellerdir
girişlerdeki basit testlerin. Bu karar yordamı bunları eğitim veri kümesinde bulunan ve girişleri işlenen örneğe benzeyen çıkışlarla eşler. İkili ağaç veri yapısının her düğümünde, uygun yaprak düğümüne ulaşılana ve çıkış kararı döndürülene kadar her örneği ağacın dalları üzerinden özyinelemeli olarak eşleyen bir benzerlik ölçüsüne dayalı olarak bir karar verilir.
Karar ağaçlarının çeşitli avantajları vardır:
Eğitim ve tahmin sırasında hem hesaplama hem de bellek kullanımı açısından verimlidir.
Doğrusal olmayan karar sınırlarını temsil edebilir.
Tümleşik özellik seçimi ve sınıflandırması gerçekleştirir.
Gürültülü özelliklerin varlığında dayanıklıdırlar.
Hızlı orman regresyonu , rxFastTrees'te regresyon ağacı öğrenicisini kullanan rastgele bir orman ve nicel regresyon ormanı uygulamasıdır. Model, karar ağaçlarının bir topluluğundan oluşur. Karar ormanındaki her ağaç, tahmin yoluyla bir Gauss dağılımı oluşturur. Modeldeki tüm ağaçlar için birleşik dağılıma en yakın Gauss dağılımını bulmak için ağaç topluluğu üzerinde bir toplama gerçekleştirilir.
Bu karar ormanı sınıflandırıcısı, karar ağaçlarının bir topluluğundan oluşur. Genel olarak, topluluk modelleri tek karar ağaçlarından daha iyi kapsama ve doğruluk sağlar. Karar ormanındaki her ağaç, tahmin yoluyla bir Gauss dağılımı oluşturur. Modeldeki tüm ağaçlar için birleşik dağılıma en yakın Gauss dağılımını bulmak için ağaç topluluğu üzerinde bir toplama gerçekleştirilir.
Değer
rxFastForest
rxFastForest: Eğitilmiş modele sahip bir nesne.
FastForest: Hızlı Orman eğitmeni için sınıfın maml öğrenci belirtimi nesnesi.
Notlar
Bu algoritma çok iş parçacıklıdır ve her zaman veri kümesinin tamamını belleğe yüklemeyi dener.
Yazar(lar)
Microsoft Corporation Microsoft Technical Support
Kaynaklar
From Stumps to Trees to Forests
Ayrıca bakınız
rxFastTrees, rxFastLinear, rxLogisticRegression, rxNeuralNet, rxOneClassSvm, featurizeText, categorical, categoricalHash, rxPredict.mlModel.
Örnekler
# Estimate a binary classification forest
infert1 <- infert
infert1$isCase = (infert1$case == 1)
forestModel <- rxFastForest(formula = isCase ~ age + parity + education + spontaneous + induced,
data = infert1)
# Create text file with per-instance results using rxPredict
txtOutFile <- tempfile(pattern = "scoreOut", fileext = ".txt")
txtOutDS <- RxTextData(file = txtOutFile)
scoreDS <- rxPredict(forestModel, data = infert1,
extraVarsToWrite = c("isCase", "Score"), outData = txtOutDS)
# Print the fist ten rows
rxDataStep(scoreDS, numRows = 10)
# Clean-up
file.remove(txtOutFile)
######################################################################
# Estimate a regression fast forest
# Use the built-in data set 'airquality' to create test and train data
DF <- airquality[!is.na(airquality$Ozone), ]
DF$Ozone <- as.numeric(DF$Ozone)
randomSplit <- rnorm(nrow(DF))
trainAir <- DF[randomSplit >= 0,]
testAir <- DF[randomSplit < 0,]
airFormula <- Ozone ~ Solar.R + Wind + Temp
# Regression Fast Forest for train data
rxFastForestReg <- rxFastForest(airFormula, type = "regression",
data = trainAir)
# Put score and model variables in data frame
rxFastForestScoreDF <- rxPredict(rxFastForestReg, data = testAir,
writeModelVars = TRUE)
# Plot actual versus predicted values with smoothed line
rxLinePlot(Score ~ Ozone, type = c("p", "smooth"), data = rxFastForestScoreDF)