Artificiell intelligens (AI) har blivit ett viktigt och populärt ämne inom tekniksamhället. Allt eftersom AI har utvecklats har vi sett olika typer av maskininlärningsmodeller (ML) dyka upp. Ett tillvägagångssätt, känt som ensemblemodellering, har snabbt fått dragkraft bland dataforskare och praktiker. I det här inlägget diskuterar vi vad ensemblemodeller är och varför deras användning kan vara fördelaktig. Vi ger sedan ett exempel på hur du kan träna, optimera och distribuera dina anpassade ensembler med hjälp av Amazon SageMaker.
Ensembleinlärning hänvisar till användningen av flera inlärningsmodeller och algoritmer för att få mer exakta förutsägelser än någon enskild, individuell inlärningsalgoritm. De har visat sig vara effektiva i olika applikationer och inlärningsmiljöer som cybersäkerhet [1] och bedrägeriupptäckt, fjärranalys, förutsäga de bästa nästa stegen i ekonomiskt beslutsfattande, medicinsk diagnos och till och med datorseende och naturlig språkbehandling (NLP) uppgifter. Vi tenderar att kategorisera ensembler efter de tekniker som används för att träna dem, deras sammansättning och hur de slår samman de olika förutsägelserna till en enda slutledning. Dessa kategorier inkluderar:
- Öka – Träning sekventiellt av flera svaga elever, där varje felaktig förutsägelse från tidigare elever i sekvensen ges en högre vikt och input till nästa elev, vilket skapar en starkare elev. Exempel inkluderar AdaBoost, Gradient Boosting och XGBoost.
- Säckväv – Använder flera modeller för att minska variansen för en enskild modell. Exempel inkluderar Random Forest och Extra Trees.
- Stapling (blandning) – Använder ofta heterogena modeller, där förutsägelser av varje enskild skattare staplas ihop och används som input till en slutlig skattare som hanterar förutsägelsen. Den här slutliga skattarens utbildningsprocess använder ofta korsvalidering.
Det finns flera metoder för att kombinera förutsägelserna till den enda som modellen slutligen producerar, till exempel genom att använda en meta-uppskattare såsom linjär inlärare, en röstningsmetod som använder flera modeller för att göra en förutsägelse baserad på majoritetsröstning för klassificeringsuppgifter, eller en ensemble med medelvärde för regression.
Även om flera bibliotek och ramverk tillhandahåller implementeringar av ensemblemodeller, som XGBoost, CatBoost eller scikit-learns slumpmässiga skog, fokuserar vi i det här inlägget på att ta med dina egna modeller och använda dem som en staplingsensemble. Men istället för att använda dedikerade resurser för varje modell (dedikerade utbildnings- och inställningsjobb och värdslutpunkter per modell), tränar, trimmar och distribuerar vi en anpassad ensemble (flera modeller) med ett enda SageMaker-utbildningsjobb och ett enda trimjobb, och distribuera till en enda slutpunkt, och därigenom minska möjliga kostnader och driftskostnader.
BYOE: Ta med din egen ensemble
Det finns flera sätt att träna och distribuera heterogena ensemblemodeller med SageMaker: du kan träna varje modell i en separat utbildningsjobb och optimera varje modell separat med hjälp av Amazon SageMaker Automatisk modellinställning. När SageMaker är värd för dessa modeller erbjuder SageMaker olika kostnadseffektiva sätt att vara värd för flera modeller på samma hyresgästinfrastruktur. Detaljerade distributionsmönster för den här typen av inställningar finns i Modellvärdsmönster i Amazon SageMaker, del 1: Vanliga designmönster för att bygga ML-applikationer på Amazon SageMaker. Dessa mönster inkluderar användning av flera slutpunkter (för varje tränad modell) eller en enda flermodell slutpunkt, eller till och med en singel slutpunkt för flera behållare där behållarna kan anropas individuellt eller kedjas i en pipeline. Alla dessa lösningar inkluderar en meta-estimator (till exempel i en AWS Lambda funktion) som anropar varje modell och implementerar blandnings- eller röstningsfunktionen.
Men att köra flera utbildningsjobb kan innebära drifts- och kostnadsoverhead, speciellt om din ensemble kräver utbildning på samma data. På samma sätt kräver värd för olika modeller på separata slutpunkter eller behållare och kombinera deras förutsägelseresultat för bättre noggrannhet flera anrop, och introducerar därför ytterligare hanterings-, kostnads- och övervakningsinsatser. Till exempel stöder SageMaker ensemble ML-modeller med hjälp av Triton Inference Server, men den här lösningen kräver att modellerna eller modellensemblerna stöds av Tritons backend. Dessutom krävs ytterligare ansträngningar från kunden för att ställa in Triton-servern och ytterligare lärande för att förstå hur olika Triton-backends fungerar. Därför föredrar kunderna ett enklare sätt att implementera lösningar där de bara behöver skicka anropet en gång till slutpunkten och har flexibiliteten att kontrollera hur resultaten aggregeras för att generera den slutliga produktionen.
Lösningsöversikt
För att lösa dessa problem går vi igenom ett exempel på ensembleträning med ett enda träningsjobb, optimerar modellens hyperparametrar och distribuerar den med en enda behållare till en serverlös slutpunkt. Vi använder två modeller för vår ensemblestack: CatBoost och XGBoost (som båda är förstärkande ensembler). För vår data använder vi datauppsättning för diabetes [2] från scikit-learn-biblioteket: Den består av 10 funktioner (ålder, kön, kroppsmassa, blodtryck och sex blodserummätningar), och vår modell förutsäger sjukdomsförloppet 1 år efter att baslinjeegenskaperna samlades in (en regression) modell).
Hela kodförrådet finns på GitHub.
Träna flera modeller i ett enda SageMaker-jobb
För att träna våra modeller använder vi SageMaker utbildningsjobb i skriptläge. Med skriptläge kan du skriva anpassad träning (och senare slutledningskod) medan du använder SageMaker-ramverksbehållare. Rambehållare gör att du kan använda färdiga miljöer som hanteras av AWS som inkluderar alla nödvändiga konfigurationer och moduler. För att demonstrera hur du kan anpassa en rambehållare, som ett exempel, använder vi den förbyggda SKLearn-behållaren, som inte inkluderar XGBoost- och CatBoost-paketen. Det finns två alternativ för att lägga till dessa paket: antingen förlänga den inbyggda behållaren för att installera CatBoost och XGBoost (och sedan distribuera som en anpassad behållare), eller använd SageMakers utbildningsjobbskriptlägesfunktion, som låter dig tillhandahålla en requirements.txt
fil när du skapar träningsuppskattaren. SageMaker-utbildningsjobbet installerar de listade biblioteken i requirements.txt
fil under körning. På så sätt behöver du inte hantera ditt eget Docker-bildarkiv och det ger mer flexibilitet att köra träningsskript som behöver ytterligare Python-paket.
Följande kodblock visar koden vi använder för att starta träningen. De entry_point
parametern pekar på vårt träningsskript. Vi använder också två av SageMaker SDK API:s övertygande funktioner:
- Först anger vi den lokala sökvägen till vår källkatalog och beroenden i
source_dir
ochdependencies
parametrar, respektive. SDK:n kommer att komprimera och ladda upp dessa kataloger till Amazon enkel lagringstjänst (Amazon S3) och SageMaker kommer att göra dem tillgängliga på träningsinstansen under arbetskatalogen/opt/ml/code
. - För det andra använder vi SDK
SKLearn
estimator-objekt med vår föredragna Python- och ramversion, så att SageMaker kommer att dra motsvarande behållare. Vi har också definierat ett anpassat träningsmått 'validation:rmse
', som kommer att sändas ut i träningsloggarna och fångas av SageMaker. Senare använder vi detta mått som objektiv mått i trimningsjobbet.
hyperparameters = {"num_round": 6, "max_depth": 5}
estimator_parameters = {
"entry_point": "multi_model_hpo.py",
"source_dir": "code",
"dependencies": ["my_custom_library"],
"instance_type": training_instance_type,
"instance_count": 1,
"hyperparameters": hyperparameters,
"role": role,
"base_job_name": "xgboost-model",
"framework_version": "1.0-1",
"keep_alive_period_in_seconds": 60,
"metric_definitions":[
{'Name': 'validation:rmse', 'Regex': 'validation-rmse:(.*?);'}
]
}
estimator = SKLearn(**estimator_parameters)
Därefter skriver vi vårt träningsmanus (multi_model_hpo.py). Vårt manus följer ett enkelt flöde: fånga hyperparametrar som jobbet konfigurerades med och träna CatBoost-modellen och XGBoost -modell. Vi implementerar även en k-vikt kors valideringsfunktion. Se följande kod:
if __name__ == "__main__":
parser = argparse.ArgumentParser() # Sagemaker specific arguments. Defaults are set in the environment variables.
parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
parser.add_argument("--train", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
parser.add_argument("--validation", type=str, default=os.environ["SM_CHANNEL_VALIDATION"])
.
.
.
"""
Train catboost
"""
K = args.k_fold
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
rmse_list, model_catboost = cross_validation_catboost(train_df, K, catboost_hyperparameters)
.
.
.
"""
Train the XGBoost model
""" hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
"objective": args.objective,
"num_round": args.num_round,
} rmse_list, model_xgb = cross_validation(train_df, K, hyperparameters)
Efter att modellerna har tränats, beräknar vi medelvärdet av både CatBoost- och XGBoost-förutsägelserna. Resultatet, pred_mean
, är vår ensembles slutliga förutsägelse. Sedan bestämmer vi mean_squared_error
mot valideringsuppsättningen. val_rmse
används för utvärdering av hela ensemblen under träning. Lägg märke till att vi också skriver ut RMSE-värdet i ett mönster som passar det regex vi använde i metric_definitions
. Senare kommer SageMaker Automatic Model Tuning att använda det för att fånga det objektiva måttet. Se följande kod:
pred_mean = np.mean(np.array([pred_catboost, pred_xgb]), axis=0)
val_rmse = mean_squared_error(y_validation, pred_mean, squared=False)
print(f"Final evaluation result: validation-rmse:{val_rmse}")
Slutligen sparar vårt skript båda modellartefakterna till utdatamappen som finns på /opt/ml/model
.
När ett träningsjobb är klart paketerar och kopierar SageMaker innehållet i /opt/ml/model
katalogen som ett enda objekt i komprimerat TAR-format till den S3-plats som du angav i jobbkonfigurationen. I vårt fall buntar SageMaker de två modellerna i en TAR-fil och laddar upp den till Amazon S3 i slutet av träningsjobbet. Se följande kod:
model_file_name = 'catboost-regressor-model.dump'
# Save CatBoost model
path = os.path.join(args.model_dir, model_file_name)
print('saving model file to {}'.format(path))
model.save_model(path)
.
.
.
# Save XGBoost model
model_location = args.model_dir + "/xgboost-model"
pickle.dump(model, open(model_location, "wb"))
logging.info("Stored trained model at {}".format(model_location))
Sammanfattningsvis bör du lägga märke till att vi i denna procedur laddade ner data en gång och tränade två modeller med ett enda träningsjobb.
Automatisk inställning av ensemblemodeller
Eftersom vi bygger en samling ML-modeller är det opraktiskt att utforska alla möjliga hyperparameterpermutationer. SageMaker erbjuder Automatisk modellinställning (AMT), som letar efter de bästa modellhyperparametrarna genom att fokusera på de mest lovande kombinationerna av värden inom intervall som du anger (det är upp till dig att definiera rätt intervall att utforska). SageMaker stöder flera optimeringsmetoder för dig att välja mellan.
Vi börjar med att definiera de två delarna av optimeringsprocessen: det objektiva måttet och hyperparametrarna vi vill ställa in. I vårt exempel använder vi validerings-RMSE som målmått och vi ställer in eta
och max_depth
(för andra hyperparametrar, se XGBoost Hyperparametrar och CatBoost hyperparametrar):
from sagemaker.tuner import (
IntegerParameter,
ContinuousParameter,
HyperparameterTuner,
) hyperparameter_ranges = {
"eta": ContinuousParameter(0.2, 0.3),
"max_depth": IntegerParameter(3, 4)
}
metric_definitions = [{"Name": "validation:rmse", "Regex": "validation-rmse:([0-9.]+)"}]
objective_metric_name = "validation:rmse"
Vi måste också säkerställa i träningsmanus att våra hyperparametrar inte är hårdkodade och hämtas från SageMakers runtime-argument:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker skriver också hyperparametrarna till en JSON-fil och kan läsas från /opt/ml/input/config/hyperparameters.json
på träningsinstansen.
Liksom CatBoost fångar vi också hyperparametrarna för XGBoost-modellen (märk på att objective
och num_round
är inte inställda):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
Slutligen startar vi hyperparameterjusteringsjobbet med dessa konfigurationer:
tuner = HyperparameterTuner(
estimator,
objective_metric_name,
hyperparameter_ranges,
max_jobs=4,
max_parallel_jobs=2,
objective_type='Minimize'
)
tuner.fit({"train": train_location, "validation": validation_location}, include_cls_metadata=False)
När jobbet är klart kan du hämta värdena för det bästa träningsjobbet (med minimal RMSE):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
För mer information om AMT, se Utför automatisk modellinställning med SageMaker.
konfiguration
För att distribuera vår anpassade ensemble måste vi tillhandahålla ett skript för att hantera slutledningsbegäran och konfigurera SageMaker-värd. I det här exemplet använde vi en enda fil som innehåller både tränings- och slutledningskoden (multi_model_hpo.py). SageMaker använder koden under if _ name _ == "_ main _"
för träningen och funktionerna model_fn
, input_fn
och predict_fn
när du distribuerar och servar modellen.
Slutledningsmanus
Precis som med träning använder vi SageMaker SKLearn ramverkscontainer med vårt eget slutledningsskript. Skriptet kommer att implementera tre metoder som krävs av SageMaker.
Först den model_fn
metoden läser våra sparade modellartefaktfiler och laddar dem i minnet. I vårt fall returnerar metoden vår ensemble som all_model
, som är en Python-lista, men du kan också använda en ordbok med modellnamn som nycklar.
def model_fn(model_dir):
catboost_model = CatBoostRegressor()
catboost_model.load_model(os.path.join(model_dir, model_file_name))
model_file = "xgboost-model"
model = pickle.load(open(os.path.join(model_dir, model_file), "rb"))
all_model = [catboost_model, model]
return all_model
Andra, input_fn
metod avserialiserar indata från begäran som ska skickas till vår slutledningshanterare. För mer information om inmatningshanterare, se Anpassa din egen slutledningsbehållare.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
Tredje, predict_fn
metod är ansvarig för att få förutsägelser från modellerna. Metoden tar modellen och data som returneras från input_fn
som parametrar och returnerar den slutliga förutsägelsen. I vårt exempel får vi CatBoost-resultatet från modelllistans första medlem (model[0]
) och XGBoost från den andra medlemmen (model[1]
), och vi använder en blandningsfunktion som returnerar medelvärdet av båda förutsägelserna:
def predict_fn(input_data, model):
predictions_catb = model[0].predict(input_data)
dtest = xgb.DMatrix(input_data)
predictions_xgb = model[1].predict(dtest,
ntree_limit=getattr(model, "best_ntree_limit", 0),
validate_features=False)
return np.mean(np.array([predictions_catb, predictions_xgb]), axis=0)
Nu när vi har våra tränade modeller och slutledningsskript kan vi konfigurera miljön för att distribuera vår ensemble.
SageMaker Serverless Inference
Även om det finns många värdalternativ i SageMaker, i det här exemplet använder vi en serverlös slutpunkt. Serverlösa slutpunkter startar automatiskt beräkningsresurser och skalar in och ut dem beroende på trafik. Detta tar bort det odifferentierade tunga lyftet av att hantera servrar. Det här alternativet är idealiskt för arbetsbelastningar som har inaktiva perioder mellan trafiksprutor och som tål kallstarter.
Att konfigurera den serverlösa slutpunkten är enkel eftersom vi inte behöver välja instanstyper eller hantera skalningspolicyer. Vi behöver bara tillhandahålla två parametrar: minnesstorlek och maximal samtidighet. Den serverlösa slutpunkten tilldelar automatiskt beräkningsresurser proportionellt mot det minne du väljer. Om du väljer en större minnesstorlek har din behållare tillgång till fler vCPU:er. Du bör alltid välja din slutpunkts minnesstorlek enligt din modellstorlek. Den andra parametern vi måste tillhandahålla är maximal samtidighet. För en enskild slutpunkt kan denna parameter ställas in till 200 (när detta skrivs är gränsen för det totala antalet serverlösa slutpunkter i en region 50). Du bör notera att den maximala samtidigheten för en enskild ändpunkt förhindrar att ändpunkten tar upp alla anrop som är tillåtna för ditt konto, eftersom alla ändpunktsanrop utöver det maximala stryps (för mer information om den totala samtidigheten för alla serverlösa ändpunkter per region, se till Amazon SageMaker slutpunkter och kvoter).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
Nu när vi konfigurerat slutpunkten kan vi äntligen distribuera modellen som valdes i vårt hyperparameteroptimeringsjobb:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
Städa upp
Även om serverlösa slutpunkter har noll kostnad när de inte används, när du har kört klart det här exemplet, bör du se till att ta bort slutpunkten:
predictor.delete_endpoint(predictor.endpoint)
Slutsats
I det här inlägget täckte vi ett tillvägagångssätt för att träna, optimera och distribuera en anpassad ensemble. Vi beskrev i detalj processen för att använda ett enda träningsjobb för att träna flera modeller, hur man använder automatisk modellinställning för att optimera ensemblens hyperparametrar och hur man distribuerar en enda serverlös slutpunkt som blandar slutsatserna från flera modeller.
Att använda denna metod löser potentiella kostnads- och driftsproblem. Kostnaden för ett träningsjobb baseras på de resurser du använder under den tid du använder det. Genom att ladda ner data endast en gång för att träna de två modellerna, minskade vi med hälften av jobbets datanedladdningsfas och den använda volymen som lagrar data, vilket minskade utbildningsjobbets totala kostnad. Dessutom körde AMT-jobbet fyra utbildningsjobb, vart och ett med ovannämnda minskade tid och lagring, så det representerar 4 gånger i kostnadsbesparing! När det gäller modelldistribution på en serverlös slutpunkt, eftersom du också betalar för mängden data som behandlas, betalar du hälften av I/O-dataavgifterna genom att endast anropa slutpunkten en gång för två modeller.
Även om det här inlägget bara visade fördelarna med två modeller, kan du använda den här metoden för att träna, ställa in och distribuera många ensemblemodeller för att se en ännu större effekt.
Referensprojekt
[1] Raj Kumar, P. Arun; Selvakumar, S. (2011). "Distribuerad denial of service-attackdetektering med en ensemble av neurala klassificerare". Datorkommunikation. 34 (11): 1328–1341. doi:10.1016/j.comcom.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone och Robert Tibshirani (2004) "Least Angle Regression," Annals of Statistics (med diskussion), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Om författarna
Melanie Li, PhD, är en Senior AI/ML Specialist TAM på AWS baserad i Sydney, Australien. Hon hjälper företagskunder att bygga lösningar som utnyttjar de senaste AI/ML-verktygen på AWS och ger vägledning om arkitektur och implementering av maskininlärningslösningar med bästa praxis. På fritiden älskar hon att utforska naturen utomhus och umgås med familj och vänner.
Uri Rosenberg är AI & ML Specialist Technical Manager för Europa, Mellanöstern och Afrika. Baserat från Israel arbetar Uri för att ge företagskunder möjlighet att designa, bygga och driva ML-arbetsbelastningar i stor skala. På fritiden tycker han om att cykla, vandra och minimera RMSE.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Fordon / elbilar, Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- BlockOffsets. Modernisera miljökompensation ägande. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- : har
- :är
- :inte
- :var
- ][s
- $UPP
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- Om oss
- tillgång
- Enligt
- Konto
- noggrannhet
- exakt
- lägga till
- Annat
- Dessutom
- adress
- afrika
- Efter
- mot
- ålder
- AI
- AI / ML
- algoritm
- algoritmer
- Alla
- tillåts
- tillåter
- också
- alltid
- amason
- Amazon SageMaker
- Amazon Web Services
- bland
- mängd
- an
- och
- vilken som helst
- tillämpningar
- tillvägagångssätt
- ÄR
- argument
- AS
- At
- attackera
- Australien
- Automat
- automatiskt
- tillgänglig
- medelvärdes
- bort
- AWS
- backend
- baserat
- Baslinje
- BE
- därför att
- blir
- varit
- Där vi får lov att vara utan att konstant prestera,
- fördelaktigt
- Fördelarna
- BÄST
- bästa praxis
- Bättre
- mellan
- Bortom
- blandning
- blandningar
- Blockera
- blod
- Blood Pressure
- kropp
- öka
- båda
- föra
- Föra
- SLUTRESULTAT
- Byggnad
- inbyggd
- buntar
- men
- by
- beräkna
- KAN
- fånga
- fångas
- Vid
- kategorier
- kedjad
- avgifter
- Välja
- klassificering
- koda
- förkylning
- samling
- kombinationer
- kombinera
- Gemensam
- Trygghet i vårdförloppet
- samfundet
- övertygande
- fullborda
- Compute
- dator
- Datorsyn
- oro
- konfiguration
- konfigurerad
- består
- Behållare
- Behållare
- innehåll
- kontroll
- Motsvarande
- Pris
- kostnadseffektiv
- omfattas
- Skapa
- beställnings
- kund
- Kunder
- skräddarsy
- Cybersäkerhet
- datum
- Beslutsfattande
- dedicerad
- defaults
- definiera
- definierade
- definierande
- demonstrera
- Denial of Service
- beroende
- distribuera
- utplacera
- utplacering
- Designa
- Design mönster
- detaljerad
- Detektering
- Bestämma
- olika
- kataloger
- diskutera
- diskussion
- Sjukdom
- flera
- Hamnarbetare
- inte
- inte
- ladda ner
- dumpa
- varaktighet
- under
- varje
- öster
- effekt
- effektiv
- effektivt
- ansträngningar
- antingen
- framträda
- ge
- möjliggöra
- änden
- Slutpunkt
- säkerställa
- Företag
- Miljö
- miljöer
- speciellt
- Europa
- utvärdering
- Även
- utvecklats
- exempel
- exempel
- utforska
- Utforska
- extra
- familj
- Leverans
- Funktioner
- Fil
- Filer
- slutlig
- Slutligen
- finansiella
- Förnamn
- Flexibilitet
- flöda
- Fokus
- fokusering
- efter
- följer
- För
- skog
- format
- hittade
- fyra
- Ramverk
- ramar
- bedrägeri
- spårning av bedrägerier
- vänner
- från
- full
- fungera
- funktioner
- Vidare
- Få
- få
- generera
- skaffa sig
- få
- ges
- större
- vägleda
- Hälften
- hantera
- Handtag
- Har
- he
- tung
- tunga lyft
- hjälper
- här
- högre
- hans
- värd
- värd
- Hur ser din drömresa ut
- How To
- Men
- html
- http
- HTTPS
- Hyperparameteroptimering
- Inställning av hyperparameter
- idealisk
- Idle
- if
- bild
- genomföra
- genomföra
- redskap
- med Esport
- in
- innefattar
- innefattar
- individuellt
- Individuellt
- informationen
- Infrastruktur
- ingång
- installera
- exempel
- istället
- Intelligens
- in
- införa
- Introducerar
- åberopas
- anropar
- Israel
- problem
- IT
- Jobb
- Lediga jobb
- jpg
- json
- nycklar
- Snäll
- känd
- språk
- större
- senare
- lansera
- inlärning
- hävstångs
- Li
- bibliotek
- Bibliotek
- lyft
- BEGRÄNSA
- Lista
- Noterade
- laster
- lokal
- belägen
- läge
- skogsavverkning
- UTSEENDE
- älskar
- Maskinen
- maskininlärning
- Huvudsida
- Majoritet
- göra
- hantera
- förvaltade
- ledning
- chef
- hantera
- Massa
- maximal
- betyda
- mätningar
- medicinsk
- medlem
- Minne
- Sammanfoga
- metod
- metoder
- metriska
- Mitten
- Mellanöstern
- kanske
- minimum
- minimerande
- ML
- Mode
- modell
- modeller
- Moduler
- övervakning
- mer
- mest
- multipel
- namn
- namn
- Natural
- Naturlig språkbehandling
- Natur
- nödvändigt för
- Behöver
- Nästa
- nlp
- Lägga märke till..
- antal
- talrik
- objektet
- mål
- of
- Erbjudanden
- Ofta
- on
- gång
- ONE
- endast
- driva
- operativa
- optimering
- Optimera
- optimera
- Alternativet
- Tillbehör
- or
- OS
- Övriga
- vår
- ut
- utomhus
- produktion
- övergripande
- egen
- paket
- parameter
- parametrar
- del
- reservdelar till din klassiker
- Godkänd
- bana
- Mönster
- mönster
- Betala
- för
- perioder
- fas
- rörledning
- plato
- Platon Data Intelligence
- PlatonData
- poäng
- Strategier
- Populära
- möjlig
- Inlägg
- potentiell
- praxis
- förutsäga
- förutsägelse
- Förutsägelser
- Predictor
- Förutspår
- föredra
- föredragen
- tryck
- förhindrar
- föregående
- Skriva ut
- förfaranden
- process
- Bearbetad
- bearbetning
- producera
- progression
- lovande
- beprövade
- ge
- ger
- Python
- slumpmässig
- snabbt
- Läsa
- minska
- Minskad
- reducerande
- hänvisar
- betraktar
- regex
- region
- avlägsen
- Repository
- representerar
- begära
- Obligatorisk
- Kräver
- Resurser
- respektive
- ansvarig
- resultera
- Resultat
- avkastning
- återgår
- höger
- ROBERT
- Roll
- Körning
- rinnande
- s
- sagemaker
- SageMaker Automatisk modellinställning
- Samma
- Save
- sparande
- Skala
- skalning
- vetenskapsmän
- scikit lära
- skript
- sDK
- Andra
- se
- sett
- vald
- sända
- senior
- separat
- Sekvens
- Serum
- Server
- Servrar
- service
- Tjänster
- portion
- in
- inställningar
- flera
- Sex
- hon
- skall
- visade
- Visar
- Liknande
- Enkelt
- enda
- SEX
- Storlek
- So
- lösning
- Lösningar
- Löser
- Källa
- specialist
- specifik
- specificerade
- spendera
- stapel
- staplade
- stapling
- stanford
- starta
- startar
- state-of-the-art
- statistik
- Steg
- förvaring
- lagras
- lagrar
- okomplicerad
- starkare
- sådana
- SAMMANFATTNING
- Som stöds
- Stöder
- säker
- sydney
- tar
- tar
- Målet
- uppgifter
- Teknisk
- tekniker
- Teknologi
- hyresgäst
- än
- den där
- Smakämnen
- deras
- Dem
- sedan
- Där.
- vari
- därför
- Dessa
- de
- detta
- de
- fastän?
- tre
- Genom
- tid
- gånger
- till
- tillsammans
- verktyg
- ämne
- Totalt
- dragkraft
- trafik
- Tåg
- tränad
- Utbildning
- Träd
- Trevor
- Triton
- två
- typer
- under
- förstå
- Användning
- användning
- Begagnade
- användningar
- med hjälp av
- godkännande
- värde
- Värden
- olika
- version
- syn
- volym
- Röstning
- vill
- var
- Sätt..
- sätt
- we
- webb
- webbservice
- vikt
- były
- Vad
- när
- som
- medan
- Hela
- varför
- kommer
- med
- inom
- Arbete
- arbetssätt
- fungerar
- skriva
- skrivning
- XGBoost
- år
- Om er
- Din
- zephyrnet
- noll-