Notiuni introductive despre TensorFlow the Easy Way (Partea 4)

Partea 1: Instalare si configurare Tensorflow, sintaxa si grafice

Partea 2: Variabile si substituenti in Tensorflow

Partea 3: Implementarea unui exemplu de regresie in Tensorflow

Declaratia problemei

Avand in vedere diverse caracteristici ale unei persoane pentru a prezice in ce clasa de venit apartine (> 50k sau <= 50k). Setul de date poate fi descarcat de aici

Mai jos este prezentarea generala a coloanelor datelor

Sa incepem sa ne incarcam setul de date folosind panda

import panda ca pd



import tensorflow ca tf

Setul de date de la UCI nu are de obicei un format CSV standard. Deci, haideti sa redenumim coloanele din informatiile furnizate la pagina de date.

census = pd. porno sport read_csv („adult.csv”, header = None)



cens.columns = [‘varsta’, ‘clasa de lucru’, ‘fnlwgt’, ‘educatie’, ‘educatie_num’, ‘stat marital_,



‘ ocupatie ‘,’ relatie ”,„ rasa ”,„ sex ”,„ capital_castig ”,



„ capital_pierdere ”,„ ore_per_ saptamana ”,„ tara_ nativa ”,„ venit_credit ”]

Consultati antetul pentru a vedea cadrul nostru tabelar de date.

Variabila noastra tinta in acest caz este un sir, adica> 50K, <= 50K. blog porno Din pacate, TensorFlow nu va putea intelege sirurile ca etichete, trebuie sa folosim metoda pandas .apply () pentru a aplica o functie personalizata care le converteste in 0 si 1.

def label_fix (eticheta):



daca eticheta == ‘<= 50K ‘:



return 0



altfel:



intoarcere 1



. recensamant [‘ income_bracket ‘] = recensamant [‘ income_bracket ‘] se aplica (label_fix)



. porno pov hd recensamant [‘ income_bracket’] unic ()

Iesirea ar trebui sa fie 0 sau 1. Acum, suntem setati sa codificam conducta tensorflow, urmata de impartirea datelor noastre in tren si seturi de testare.

din sklearn.model_selection import train_test_splitx_data = census. porno perfect girls drop (‘revenue_bracket’, axis = 1)



y_labels = census [‘revenue_bracket’] X_train, X_test, y_train, y_test = train_test_split (x_data, y_labels = test,

Daca ati urmarit partile anterioare, trebuie sa fi observat ca nu am folosit niciun fel de siruri ca caracteristici inainte. Cum credeti ca putem trece caracteristici categorice intr-un model tensorflow? Exista de fapt doua metode

  1. Lista de vocabular
  2. Hash Bucket

In metoda listei de vocabular, trebuie sa trecem numele coloanei si toate etichetele unice care exista pentru coloana respectiva. Acest lucru este fezabil pentru codificarea coloanelor cu 2-4 valori unice.

In aceasta metoda, hashul tuturor valorilor unice este calculat si inlocuit cu etichete. film porno chinois Acest lucru este convenabil atunci cand aveti coloane cu cardinalitate ridicata in care nu puteti transmite o lista cu toate valorile unice.

Pentru sex, permiteti-ne, utilizati metoda listei de vocabular

gender = tf.feature_column.categorical_column_with_vocabulary_list („gender”, [„Female”, „Male”])

Si, pentru coloanele cardinale inalte, folositi galeti de hash;

ocupatie = tf. porno animal feature_column.categorical_column_with_hash_bucket ( „ocupatie”, hash_bucket_size = 1000)



marital_status = tf.feature_column.categorical_column_with_hash_bucket ( „marital_status”, hash_bucket_size = 1000)



relatie = tf. filme porno romanesti feature_column.categorical_column_with_hash_bucket ( „relatie”, hash_bucket_size = 1000)



educatie = tf.feature_column.categorical_column_with_hash_bucket („educatie”, hash_bucket_size = 1000)



workclass = tf. porno xvideo feature_column.categorical_column_with_hash_bucket („workclass”, hash_bucket_size = 1000)



native_courical = tf.

Coloanele numerice continue sunt usoare si similare cu tf.feature_columns. cote de pablo porno numeric_column de mai sus

varsta = tf.feature_column.numeric_column ( „varsta”)



education_num = tf.feature_column. casting film porno numeric_column ( „education_num”)



capital_gain = tf.feature_column.numeric_column ( „capital_gain”)



capital_loss = tf.feature_column. porno plan a 3 numeric_column ( „capital_loss”)



hours_per_week = tf.feature_column.numeric_column („hours_per_week”)

Suntem cu totii pregatiti. Acum, infasurati toate aceste caracteristici intr-un obiect lista folosind urmatoarea linie de cod

feat_cols = [sex, ocupatie, stat marital, relatie, educatie, clasa de lucru, tara nativa, varsta, numar_educare, capital_gain, capital_loss, hours_per_week] input_func = tf. porno nigeria estimator.



  • porno gay teen
  • tante et neveu porno
  • porno mama
  • porno sur netflix
  • chris bieber porno
  • porno forcé
  • lahaie porno
  • free porno français
  • youtube film porno gratuit
  • hamster porno french
  • porno gyneco
  • porno sous la douche
  • porno fait maison
  • porno hard
  • xmaster porno
  • site porno trans
  • porno gratuit a telecharger
  • porno bourgeoise
  • porno choc
  • scenes porno





inputs.pandas_input_fn (x = X_train, y = y_train, batch_size = Niciuna, amestecare = Adevarat)

Acum, ca ne-am pregatit cu divizarile de date si, de asemenea, cu caracteristicile de utilizat, permiteti-ne sa instruim modelul.

input_func = tf. porno oops estimator.inputs.pandas_input_fn (x = X_train, y = y_train, batch_size = 100, num_epochs = None, shuffle = True) model = tf.estimator. porno bureau LinearClassifier (feature_columns = feat_cols)



model.train (input_fn = input_fn pasi = 5000)

La un antrenament de succes ar trebui sa obtineti scoruri de pierdere si de antrenament pentru fiecare pas / epoca

Sa facem pred_fn care detine setul nostru de date de testare pentru a face predictii cu shuffle = False

Nota importanta: In timp ce instruiti modelul, depindeti de dvs. sa folositi shuffle = True . De obicei, este bine sa instruiti modelele folosind shuffle. porno en foret Dar, in timp ce faceti predictii, asigurati-va ca aveti shuffle = False, ca si in cazul ordinii de predictie aleatorii, nu va puteti valida sau masura niciodata rezultatele.

pred_fn = tf.estimator.inputs. film porno zoophile pandas_input_fn (x = X_test, batch_size = len (X_test), shuffle = False) predictions = list (model.predict (input_fn = pred_fn))



final_preds = []



for pred in predictions:



final_preds.append (pred [[class_ids ‘] [0])

Predictiile sunt gata. Urmatorul pas este sa aflam cum a functionat modelul nostru de tensorflow. porno ecolieres

din sklearn.metrics import classification_report



print (classification_report (y_test, final_preds))

Woah! Un scor F1 excelent pentru un model de baza de vanilie. Acum, sa aruncam o privire asupra valorii AUC pentru modelul nostru.

din sklearn. porno asiatique non censuré metrics import roc_curve, auc fpr,



tpr, thresholds = roc_curve (y_test, final_preds)



roc_auc = auc (fpr, tpr)



print („ROC AUC Score: {}”. format (roc_auc))



plt.figure ()



plt .plot (fpr, tpr, color = ‘green’, lw = 1, label = ‘ROC curve (area =% 0. bbc porno 2f)’% roc_auc)



plt.plot ([0, 1], [0, 1], color = ‘navy’, linestyle = ‘-‘)



plt.xlim ([0.0, 1. porno sénégalais 0])



plt.ylim ([0.0, 1.05])



plt. xlabel (‘False Positive Rate’)



plt.ylabel (‘True Positive Rate ‘)



plt.title (‘ Caracteristica de functionare a receptorului ‘)



plt.legend (loc = „dreapta jos”)



plt. show ()

Obtinem si un scor AUC acceptabil de 0,738. Pentru a imbunatati scorul, putem fie sa crestem epoca, fie sa facem inginerie de caracteristici, cum ar fi;

  1. Creati categorii utilizand coloana Varsta
  2. Calculati ora medie pentru ocupare
  3. Castig de capital mediu pentru educatie .. etc.

Va las restul modificarilor. Asta este tot pentru aceasta serie. Felicitari pentru construirea primului dvs. model de clasificare cu vanilie TensorFlow. Buna treaba!

Aplaudati, comentati si impartasiti-va gandurile in comentariile de mai jos. Urmariti Analytics Vidhya si ramaneti la curent cu viitoarele serii interesante de postari