Butterfree: un cadru bazat pe scanteie pentru construirea magazinului de caracteristici

Fotografie de Jamie Taylor pe Unsplash

Modelele de invatare automata sunt atat dependente, cat si sensibile la datele primite. In consecinta, procesele de achizitie de date si ingineria caracteristicilor joaca un rol major in ciclul de viata al ML. Multe transformari pot fi aplicate datelor prin activitatile de dezvoltare ale modelului si, in multe cazuri, este important sa se efectueze toate aceste transformari si in scopuri de inferenta. porno brasileiro Aceasta postare acopera in detaliu conducta noastra de invatare automata pentru a intelege mai mult modul in care antrenam si servim modele la QuintoAndar.

Avem multe surse de date diferite in domenii distincte ale afacerii noastre. Pentru a facilita crearea seturilor de date pentru instruire si recuperarea starii lor actuale pentru predictii online, cu latenta scazuta, am creat Butterfree. viol porno Butterfree este un cadru bazat pe Spark pentru crearea magazinului de caracteristici cu S3 si Cassandra pentru functii offline si online.

Un magazin de caracteristici, asa cum sugereaza si numele, corespunde unui set organizat de caracteristici pentru modelele de invatare automata. Unul dintre principalele avantaje ale utilizarii unui cadru pentru crearea unui magazin de caracteristici este imputernicirea partajarii caracteristicilor si a colaborarii intre echipe care rezolva diferite probleme folosind date partajate. charlotte gainsbourg porno

Mai mult, dezvoltarea modelelor este mult mai rapida. Indiferent daca creati o caracteristica costisitoare din punct de vedere al calculului, care necesita agregari de timp sau o caracteristica simpla si simpla, va puteti astepta sa depuneti acelasi timp si efort. In mod specific in cadrul Butterfree, exista conceptul de inginerie declarativa a caracteristicilor: va puteti concentra asupra a ceea ce doriti sa realizati, in timp ce toate transformarile si straturile de inginerie sunt abstractizate, permitand astfel o abordare fara probleme pentru citirea surselor de date si a caracteristicilor de scriere pentru ambele destinatii offline si online. mapouka porno

In cele din urma, este important sa subliniem ca multe companii, pana acum, si-au construit propriul magazin de functii, pe baza unor cerinte diferite.

Butterfree este un cadru bazat pe Spark pentru construirea unui magazin de caracteristici. In loc sa se ingrijoreze de procesul ETL, utilizatorii se pot concentra asupra caracteristicilor pe care doresc sa le dobandeasca, in timp ce biblioteca abstractizeaza straturile pentru obtinerea acestor rezultate. coqnu porno Ofera multe caracteristici extraordinare, cum ar fi:

  • Permite utilizatorilor sa defineasca toate transformarile intr-un mod declarativ, prin urmare este usor de utilizat si genereaza mai putin cod de intretinut;
  • Deoarece utilizatorii se pot concentra asupra a ceea ce doresc si nu asupra modului de realizare, este, de asemenea, usor de invatat;
  • Este simplu sa adaugati caracteristici si functionalitati la Butterfree, deoarece este un cadru modular;
  • Metadatele sunt generate alaturi de transformari, deci este usor sa exportati ulterior aceasta documentatie.

Pe langa aceste beneficii, Butterfree promoveaza colaborarea in echipa, datorita stocarii caracteristicilor intr-un depozit centralizat si faciliteaza instruirea modelelor de invatare automata. In cele din urma, este, de asemenea, posibil sa calculati retroactiv caracteristicile in timp. porno entier

Butterfree a fost construit pentru a face fata volumelor mari de date, putand incarca si scrie atat date istorice, cat si online pentru consum. Pentru a realiza acest lucru, Butterfree este impartit in trei straturi: extrageti, transformati si incarcati straturi. Stratul de extragere poate consuma date din diferite surse, cum ar fi fisiere acceptate de subiectele Spark si Kafka. porno pere Stratul de transformare, asa cum sugereaza si numele, gestioneaza procesele de transformare. In cele din urma, stratul de incarcare poate incarca date in S3 sau Cassandra. Aceasta arhitectura este rezumata in Figura 1 de mai jos:

Figura 1: Straturile de arhitectura Butterfree: extragere, transformare si incarcare. porno sauna

Dupa cum puteti vedea, puteti consuma date din diferite surse, puteti aplica transformarile dorite si, in cele din urma, puteti incarca datele in locatiile dorite:

  • Magazin istoric de caracteristici: caracteristici offline calculate ca parte a unui job lot, calculat prin joburi regulate programate, care include starea unei caracteristici in orice moment. Este util pentru formarea modelului;
  • Magazin de caracteristici online: modelele online nu pot citi datele stocate in S3 si, in unele cazuri, este dificil sa se aplice transformarile necesare pentru a realiza o anumita caracteristica intr-o fereastra de timp adecvata. Prin urmare, unele caracteristici sunt precomputate si stocate in Cassandra, unde pot fi accesate intr-o latenta scazuta pentru predictii online. porno fitness

De asemenea, este important sa subliniem faptul ca Butterfree accepta conducte ETL atat in ​​lot, cat si in flux si puteti utiliza un instrument de orchestrare, cum ar fi Airflow, pentru gestionarea lucrarilor. Un exemplu este furnizat in Figura 2:

Figura 2. Conducta Butterfree: lot si streaming. porno dragon ball Lucrarile in serie pot fi orchestrate cu Airflow.

Avand in vedere componentele prezentate anterior, este posibil sa se defineasca o conducta Butterfree pentru a obtine caracteristici transformate din date brute. Vom folosi conducta expusa mai jos ca exemplu al modului de utilizare a Butterfree, scopul sau va fi sa calculeze o lista de aparitii unice ale unui id avand in vedere un singur eveniment pentru anul curent intr-o fereastra de timp de 30 de zile. hinata porno

din butterfree.constants.data_type DataType de import



din FeatureSetPipeline butterfree. bourgeoise porno pipelines.



  • scarlett johansson porno
  • le coq porno
  • porno animaux
  • prof porno
  • porno dp
  • gina gerson porno
  • porno a trois
  • porno gamine
  • porno martinique
  • folie porno
  • porno mere fille
  • nathalie andreani porno
  • discord porno
  • porno taboo
  • pute porno
  • film porno mere et fils
  • porno plombier
  • porno mali
  • porno papy
  • porno sister





feature_set_pipeline import



din butterfree.extract import Sursa



de butterfree. porno film complet extract.readers import TableReader



din butterfree.transform. miley cyrus porno aggregated_feature_set import AggregatedFeatureSet



din butterfree.transform.features import Caracteristica, KeyFeature, TimestampFeature



din butterfree. porno 1950 transform.transformations import AggregatedTransform



din butterfree.load import Chiuveta



din butterfree. porno femme de menage load.writers import (



HistoricalFeatureStoreWriter,



OnlineFeatureStoreWriter,



)



din butterfree.transform. porno 1970 utils.function import Functia



din butterfree.extract. photos porno mature pre_processing filter filter



din functiile de import pyspark.sql

clasa DummyPipeline (FeatureSetPipeline):



def __init __ (auto):



#



Cititorii de definire a surselor de date = [



TableReader (



id = „evenimente”, baza de date = „evenimente_database”, tabel = „evenimente_tabel”



) .with_ (filter, condition = „timestamp> = ‘2020/01/01’ „),



TableReader (id =” house „, database =” house_database „, table =” house_table „),



]

# SQL interogare intre sursele de date definite



query = „” ”



select



id,



timestamp,



event_house_id



from



events



inner join



house



on events. porno comores house_id = house.id



” „”

# Extras strat



sursa = Sursa (cititori = cititori, interogare = interogare)

# Key Feature



keys = [



KeyFeature (



name = „id”,



description = „Identificator unic.”,



From_column = „id”,



dtype = DataType. lust porno BIGINT,



)



]

# Timestamp Feature



timestamp = TimestampFeature ()

# Caracteristici



caracteristici transformate = [



Caracteristica (



nume = „listing_favorite_set”,



description = „Lista de ID-uri unice pentru ultimele 30 de zile”,



transformare = AggregatedTransform (



functii = [Function (functions.collect_set, DataType.ARRAY_BIGINT)]



),



from_column = „event_house_id”,



)



]

# Transform layer



feature_set = AggregatedFeatureSet (



name = „count_events”,



entity = „dummy”,



description = „Manipulare fictiva care descrie evenimente de numarare agregata avand in vedere”



„o fereastra de timp de 30 de zile. „,



Taste = taste,



timestamp = timestamp,



features = features ,



) .with_windows (definitii = [„30 de zile”])

#



Scriitori de definire a destinatiilor de date = [HistoricalFeatureStoreWriter, OnlineFeatureStoreWriter ()]

# Incarcati



chiuveta stratului = Chiuveta (scriitori = scriitori)

# Pipeline



super () .__ init __ (sursa = sursa, caracteristica_set = caracteristica_set, chiuveta = chiuveta)

Initial, puteti defini in mod explicit toate sursele de date dorite utilizand cititoarele din clasa Sursa si, ulterior, definiti relatia dintre acestea cu o instructiune SQL. Ulterior, sunt determinate atat caracteristicile cheie, cat si cele ale marcajului de timp, precum si transformarile dorite care ar trebui aplicate coloanei specificate din cadrul de date sursa (este o agregare de seturi de colectare in acest caz, pentru ferestrele de timp definite). In cele din urma, sunt alese destinatiile de date care, in cazul acestui exemplu anterior, erau atat magazinele de caracteristici istorice, cat si online.

Cadrul Butterfree este acum open-source. Obiectivul sau este de a ajuta utilizatorii sa obtina caracteristici transformate pe baza unui ETL declarativ, prin abstractizarea straturilor de inginerie si acum intreaga comunitate isi poate folosi beneficiile si ne poate ajuta sa mergem si mai departe.

Cu capacitatile sale de a stoca caracteristici atat in ​​magazinele de caracteristici istorice, cat si online, reduce eforturile de inginerie necesare pentru a obtine aceste caracteristici in fazele de dezvoltare si implementare.

Speram ca Butterfree poate ajuta echipele sa rezolve probleme complicate de inginerie a caracteristicilor, facilitand realizarea caracteristicilor transformate dorite. Nu ezitati sa urmariti depozitul Butterfree Github pentru a afla mai multe despre acesta.