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.
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 Fast Forest
Részletek
A döntési fák nem parametrikus modellek, amelyek egyszerű tesztek sorozatát hajtják végre a bemeneteken. Ez a döntési eljárás megfelelteti őket a betanítási adatkészletben található kimeneteknek, amelyek bemenetei hasonlóak voltak a feldolgozott példányhoz. A bináris fa adatstruktúrájának minden csomópontján döntés születik egy hasonlósági mérték alapján, amely rekurzív módon leképozza az egyes példányokat a fa ágain, amíg el nem éri a megfelelő levélcsomópontot, és vissza nem adja a kimeneti döntést.
A döntési fáknak számos előnye van:
A betanítás és az előrejelzés során a számítás és a memóriahasználat terén is hatékonyak.
Ezek nem lineáris döntési határokat jelölhetnek.
Integrált funkciók kiválasztását és besorolását végzik el.
Zajos funkciók jelenlétében rugalmasak.
A gyors erdőregresszió egy véletlenszerű erdő- és kvantilis regressziós erdő-implementáció a regressziós fa tanulójának rx_fast_treeshasználatával.
A modell döntési fákból áll. A döntési erdő minden faja előrejelzéssel ad ki egy Gauss-eloszlást. Az összesítés a fák együttesén keresztül történik, hogy a modellben szereplő összes fa együttes eloszlásához legközelebb eső Gauss-eloszlást találjon.
Ez a döntési erdőosztályozó döntési fákból áll. Az együttesmodellek általában jobb lefedettséget és pontosságot biztosítanak, mint az önálló döntési fák. A döntési erdő minden fája gauss-eloszlást ad ki.
Arguments
képlet
A képlet az revoscalepy.rx_formula.
A microsoftml jelenleg nem támogatja az interakciós feltételeketF().
adat
. xdf-fájlt vagy adatkeret-objektumot meghatározó adatforrás-objektum vagy karaktersztring.
metódus
Gyorsfatípust jelző karaktersztring:
"binary"az alapértelmezett fast tree bináris besoroláshoz vagy"regression"a Fast Tree Regresszióhoz.
num_trees
Megadja az együttesben létrehozandó döntési fák teljes számát. További döntési fák létrehozásával jobb lefedettséget érhet el, de a betanítási idő nő. Az alapértelmezett érték 100.
num_leaves
A fákon létrehozható levelek (terminálcsomópontok) maximális száma. A magasabb értékek növelhetik a fa méretét, és nagyobb pontosságot érhetnek el, de túlillesztést kockáztatnak, és hosszabb betanítási időt igényelnek. Az alapértelmezett érték 20.
min_split
A levélalakításhoz szükséges képzési példányok minimális száma. Ez azt a minimális számú dokumentumot teszi lehetővé, amely egy regressziós fa levélében engedélyezve van, az almintából vett adatokból. A "felosztás" azt jelenti, hogy a fa (csomópont) egyes szintjei véletlenszerűen vannak elosztva. Az alapértelmezett érték 10.
example_fraction
Az egyes fákhoz használandó véletlenszerűen kiválasztott példányok töredéke. Az alapértelmezett érték 0,7.
feature_fraction
Az egyes fákhoz használandó véletlenszerűen kiválasztott funkciók töredéke. Az alapértelmezett érték 0,7.
split_fraction
Az egyes felosztásokon használandó véletlenszerűen kiválasztott funkciók töredéke. Az alapértelmezett érték 0,7.
num_bins
A különböző értékek (tárolók) maximális száma funkciónként. Az alapértelmezett érték 255.
first_use_penalty
A funkció először a büntetési együtthatót használja. Az alapértelmezett érték 0.
gain_conf_level
A faillesztés megbízhatósági követelménye (a tartományban [0,1]kell lennie). Az alapértelmezett érték 0.
train_threads
A betanításhoz használandó szálak száma. Ha nincs megadva, a használandó szálak száma belsőleg lesz meghatározva. Az alapértelmezett érték: Nincs.
random_seed
A véletlenszerű magot adja meg. Az alapértelmezett érték: Nincs.
ml_transforms
Megadja azon MicrosoftML-átalakítások listáját, amelyeket betanítás előtt el kell végezni az adatokon, vagy Nincs , ha nem kell átalakításokat végrehajtani.
categoricalA featurize_texttámogatott átalakításokat lásd, és categorical_hashtekintse meg.
Ezek az átalakítások a megadott Python-átalakítások után lesznek végrehajtva.
Az alapértelmezett érték: Nincs.
ml_transform_vars
A változónevek ml_transforms karaktervektorát adja meg , ha nincs .
Az alapértelmezett érték: Nincs.
row_selection
NEM TÁMOGATOTT. 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:
row_selection = "old"csak olyan megfigyeléseket használ, amelyekben a változóoldértéke .Truerow_selection = (age > 20) & (age < 65) & (log(income) > 10)csak olyan megfigyeléseket használ, amelyekben aageváltozó értéke 20 és 65 között van, és alogincomevá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 transform_functiona ). Az összes kifejezéshez hasonlóan a row_selection függvényhíváson kívül is definiálható a expression függvény használatával.
Átalakítja
NEM TÁMOGATOTT. Az űrlap kifejezése, amely a változóátalakítások első fordulóját jelöli. Az összes kifejezéshez transforms hasonlóan (vagy row_selection) a függvényhíváson kívül is definiálható a expression függvény használatával.
transform_objects
NEM TÁMOGATOTT. Névvel ellátott lista, amely olyan objektumokat tartalmaz, amelyekre hivatkozni transformslehet.row_selectiontransform_function
transform_function
A változó transzformációs függvénye.
transform_variables
A bemeneti adathalmaz változóinak karaktervektora, amely az átalakítási függvényhez szükséges.
transform_packages
NEM TÁMOGATOTT. Egy karaktervektor, amely további Python-csomagokat határoz meg (a megadottakon RxOptions.get_option("transform_packages")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 revoscalepy függvényekben explicit módon definiált függvények például azok és transform_function argumentumaik vagy argumentumaik transformsformularow_selection által implicit módon definiált függvények. Az transform_packages argumentum lehet Nincs is, ami azt jelzi, hogy nincsenek előre betöltött csomagok RxOptions.get_option("transform_packages") .
transform_environment
NEM TÁMOGATOTT. 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 transform_environment = Nonea rendszer ehelyett egy új "kivonat" környezetet használ a szülő revoscalepy.baseenv használatával.
blocks_per_read
Megadja az adatforrásból beolvasott adattömbök olvasási blokkjainak számát.
report_progress
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.
bővebb
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 .
compute_context
Beállítja azt a környezetet, amelyben a számítások végrehajtása történik, érvényes RxComputeContextbeállítással megadva.
Jelenleg a helyi és RxInSqlServer a számítási környezetek támogatottak.
Együttes
Vezérlési paraméterek a ensemblinghez.
Visszatérítések
A FastForest betanított modellel rendelkező objektum.
Megjegyzés:
Ez az algoritmus többszálú, és mindig megpróbálja betölteni a teljes adathalmazt a memóriába.
Lásd még
Hivatkozások
Csonkoktól a fákon át az erdőkig
Bináris besorolási példa
'''
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))
Kimenet:
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
Regressziós példa
'''
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)
Kimenet:
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