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.
Usage
microsoftml.rx_fast_forest(formula: str,
data: [revoscalepy.datasource.RxDataSource.RxDataSource,
pandas.core.frame.DataFrame], method: ['binary',
'regression'] = 'binary', num_trees: int = 100,
num_leaves: int = 20, min_split: int = 10,
example_fraction: float = 0.7, feature_fraction: float = 1,
split_fraction: float = 1, num_bins: int = 255,
first_use_penalty: float = 0, gain_conf_level: float = 0,
train_threads: int = 8, random_seed: int = None,
ml_transforms: list = None, ml_transform_vars: list = None,
row_selection: str = None, transforms: dict = None,
transform_objects: dict = None, transform_function: str = None,
transform_variables: list = None,
transform_packages: list = None,
transform_environment: dict = None, blocks_per_read: int = None,
report_progress: int = None, verbose: int = 1,
ensemble: microsoftml.modules.ensemble.EnsembleControl = None,
compute_context: revoscalepy.computecontext.RxComputeContext.RxComputeContext = None)
Description
Machine Learning Hızlı Ormanı
Ayrıntılar
Karar ağaçları, girişler üzerinde bir dizi basit test gerçekleştiren parametrik olmayan modellerdir. 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, içindeki regresyon ağacı öğrencisini kullanan rastgele bir orman ve nicel regresyon ormanı uygulamasıdır rx_fast_trees.
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ç bir Gauss dağılımı oluşturur.
Arguments
formül
revoscalepy.rx_formula'de açıklandığı gibi formül.
Etkileşim terimleri ve F() şu anda microsoftml'de desteklenmiyor.
veriler
Bir veri kaynağı nesnesi veya .xdf dosyası veya veri çerçevesi nesnesi belirten bir karakter dizesi.
method
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.
num_trees
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.
num_leaves
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.
min_split
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.
example_fraction
Her ağaç için kullanılacak rastgele seçilen örneklerin kesri. Varsayılan değer 0,7'dir.
feature_fraction
Her ağaç için kullanılacak rastgele seçilen özelliklerin kesri. Varsayılan değer 0,7'dir.
split_fraction
Her bölmede kullanılacak rastgele seçilen özelliklerin kesri. Varsayılan değer 0,7'dir.
num_bins
Özellik başına en fazla ayrı değer (bölme) sayısı. Varsayılan değer 255'tir.
first_use_penalty
Özellik ilk olarak ceza katsayısını kullanır. Varsayılan değer 0'dır.
gain_conf_level
Ağaç uydurma kazanç güven gereksinimi (aralıkta [0,1]olmalıdır). Varsayılan değer 0'dır.
train_threads
Eğitimde kullanılacak iş parçacığı sayısı. Hiçbiri belirtilmezse, kullanılacak iş parçacığı sayısı dahili olarak belirlenir. Varsayılan değer olarak Hiçbiri kullanılır.
random_seed
Rastgele tohumu belirtir. Varsayılan değer olarak Hiçbiri kullanılır.
ml_transforms
Eğitimden önce veriler üzerinde gerçekleştirilecek MicrosoftML dönüşümlerinin listesini veya hiçbir dönüşüm gerçekleştirilecekse Hiçbiri'ni belirtir. Desteklenen dönüştürmeler için bkz featurize_text. , categoricalve categorical_hash.
Bu dönüştürmeler, belirtilen Python dönüşümlerinden sonra gerçekleştirilir.
Varsayılan değer olarak Hiçbiri kullanılır.
ml_transform_vars
Kullanılacak değişken adlarının karakter vektörlerini veya hiçbiri kullanılmadıysa ml_transformsHiçbiri'ni belirtir.
Varsayılan değer olarak Hiçbiri kullanılır.
row_selection
DESTEKLENMEDİ. 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:
row_selection = "old"yalnızca değişkenininoldTruedeğerinin olduğu gözlemleri kullanır.row_selection = (age > 20) & (age < 65) & (log(income) > 10)yalnızca değişkenin değerininage20 ile 65 arasında olduğu ve değişkenin değerininlogincome10'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 transformstransform_functionbakın). Tüm ifadelerde olduğu gibi, row_selection işlevi kullanılarak expression işlev çağrısı dışında tanımlanabilir.
Dönüştüren
DESTEKLENMEDİ. Değişken dönüşümlerinin ilk turunu temsil eden formun ifadesi. Tüm ifadelerde olduğu gibi , transforms (veya row_selection) işlevi kullanılarak expression işlev çağrısı dışında tanımlanabilir.
transform_objects
DESTEKLENMEDİ. , transform_functionve row_selectiontarafından transformsbaşvurulabilen nesneler içeren adlandırılmış liste.
transform_function
Değişken dönüştürme işlevi.
transform_variables
Dönüştürme işlevi için gereken giriş veri kümesi değişkenlerinin karakter vektörleri.
transform_packages
DESTEKLENMEDİ. Değişken dönüştürme işlevlerinde kullanılmak üzere kullanıma sunulacak ve önceden yüklenecek ek Python paketlerini (içinde RxOptions.get_option("transform_packages")belirtilenlerin dışında) belirten bir karakter vektör.
Örneğin, ve bağımsız değişkenleri aracılığıyla transformstransform_functionrevoscalepy işlevlerinde açıkça tanımlananlar veya veya bağımsız değişkenleri aracılığıyla formularow_selection örtük olarak tanımlananlar. Bağımsız transform_packages değişken, dışında RxOptions.get_option("transform_packages") hiçbir paketin önceden yüklenmediğini gösteren Hiçbiri de olabilir.
transform_environment
DESTEKLENMEDİ. 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 transform_environment = None, bunun yerine üst revoscalepy.baseenv içeren yeni bir "karma" ortam kullanılır.
blocks_per_read
Veri kaynağından okunan her veri öbekleri için okunacak blok sayısını belirtir.
report_progress
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 4 olan 1 tamsayı değerleri.
compute_context
Geçerli bir RxComputeContextile belirtilen hesaplamaların yürütülme bağlamını ayarlar.
Şu anda yerel ve RxInSqlServer işlem bağlamları desteklenmektedir.
Topluluğu
Benzerliği için denetim parametreleri.
İade
FastForest Eğitilmiş modele sahip bir nesne.
Uyarı
Bu algoritma çok iş parçacıklıdır ve her zaman veri kümesinin tamamını belleğe yüklemeyi dener.
Ayrıca bakınız
References
Kütüklerden Ağaçlara Ve Ormanlara
İkili sınıflandırma örneği
'''
Binary Classification.
'''
import numpy
import pandas
from microsoftml import rx_fast_forest, rx_predict
from revoscalepy.etl.RxDataStep import rx_data_step
from microsoftml.datasets.datasets import get_dataset
infert = get_dataset("infert")
import sklearn
if sklearn.__version__ < "0.18":
from sklearn.cross_validation import train_test_split
else:
from sklearn.model_selection import train_test_split
infertdf = infert.as_df()
infertdf["isCase"] = infertdf.case == 1
data_train, data_test, y_train, y_test = train_test_split(infertdf, infertdf.isCase)
forest_model = rx_fast_forest(
formula=" isCase ~ age + parity + education + spontaneous + induced ",
data=data_train)
# RuntimeError: The type (RxTextData) for file is not supported.
score_ds = rx_predict(forest_model, data=data_test,
extra_vars_to_write=["isCase", "Score"])
# Print the first five rows
print(rx_data_step(score_ds, number_rows_read=5))
Çıktı:
Not adding a normalizer.
Making per-feature arrays
Changing data from row-wise to column-wise
Beginning processing data.
Rows Read: 186, Read Time: 0, Transform Time: 0
Beginning processing data.
Processed 186 instances
Binning and forming Feature objects
Reserved memory for tree learner: 7176 bytes
Starting to train ...
Not training a calibrator because a valid calibrator trainer was not provided.
Elapsed time: 00:00:00.2704185
Elapsed time: 00:00:00.0443884
Beginning processing data.
Rows Read: 62, Read Time: 0, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0253862
Finished writing 62 rows.
Writing completed.
Rows Read: 5, Total Rows Processed: 5, Total Chunk Time: Less than .001 seconds
isCase PredictedLabel Score
0 False False -36.205067
1 True False -40.396084
2 False False -33.242531
3 False False -87.212494
4 True False -13.100666
Regresyon örneği
'''
Regression.
'''
import numpy
import pandas
from microsoftml import rx_fast_forest, rx_predict
from revoscalepy.etl.RxDataStep import rx_data_step
from microsoftml.datasets.datasets import get_dataset
airquality = get_dataset("airquality")
import sklearn
if sklearn.__version__ < "0.18":
from sklearn.cross_validation import train_test_split
else:
from sklearn.model_selection import train_test_split
airquality = airquality.as_df()
######################################################################
# Estimate a regression fast forest
# Use the built-in data set 'airquality' to create test and train data
df = airquality[airquality.Ozone.notnull()]
df["Ozone"] = df.Ozone.astype(float)
data_train, data_test, y_train, y_test = train_test_split(df, df.Ozone)
airFormula = " Ozone ~ Solar_R + Wind + Temp "
# Regression Fast Forest for train data
ff_reg = rx_fast_forest(airFormula, method="regression", data=data_train)
# Put score and model variables in data frame
score_df = rx_predict(ff_reg, data=data_test, write_model_vars=True)
print(score_df.head())
# Plot actual versus predicted values with smoothed line
# Supported in the next version.
# rx_line_plot(" Score ~ Ozone ", type=["p", "smooth"], data=score_df)
Çıktı:
Not adding a normalizer.
Making per-feature arrays
Changing data from row-wise to column-wise
Beginning processing data.
Rows Read: 87, Read Time: 0, Transform Time: 0
Beginning processing data.
Warning: Skipped 4 instances with missing features during training
Processed 83 instances
Binning and forming Feature objects
Reserved memory for tree learner: 21372 bytes
Starting to train ...
Not training a calibrator because it is not needed.
Elapsed time: 00:00:00.0644269
Elapsed time: 00:00:00.0109290
Beginning processing data.
Rows Read: 29, Read Time: 0.001, Transform Time: 0
Beginning processing data.
Elapsed time: 00:00:00.0314390
Finished writing 29 rows.
Writing completed.
Solar_R Wind Temp Score
0 190.0 7.4 67.0 26.296144
1 20.0 16.6 63.0 14.274153
2 320.0 16.6 73.0 23.421144
3 187.0 5.1 87.0 80.662109
4 175.0 7.4 89.0 67.570549