Archivi categoria: riflessioni

Giugno dolci dati ed ottimizzazioni

La vita è sempre trionfo dell’improbabile e miracolo dell’imprevisto.


Sono tornato da Londra e sicuramente resterò qui in Italia fino a metà Luglio.

Da metà Marzo fino alla prima settimana di Maggio ho lavorato una catena che produce cupcakes Lola.

Il negozio era un chiosco all’interno della stazione di Marylebone, veramente una bella esperienza, mi sono divertito ed ho imparato molto.

 

Dopo una settimana ero responsabile dell’apertura del negozio.

Dopo tre settimane della chiusura

Dopo cinque settimane l’amministratore delegato è venuto a parlarmi perché voleva mettermi a capo di un progetto di riduzione degli sprechi di cibo dandomi accesso a tutti i dati storici sul fatturato e costi della società.

Come è successo?

Curiosità e noia.

La chiusura del negozio prevede la stesura di un report di fine giornata dove vengono inserite da parte dell’operatore (in questo caso io) informazioni relative a:

  • Fatturato effettivo della giornata
  • Target che era stato definito
  • Sprechi (i cupcakes sono freschi e vengono buttati a fine giornata)
  • Cosa l’azienda avrebbe dovuto fare diversamente da qui ad un anno
  • Idee creative che fossero venute in mente durante la giornata

Una cosa che mi aveva colpito mentre lavoravo era la differenza tra Fatturato – Target – Wastage che non sembrava ottimizzata. (spoiler: c’è un ampio margine di miglioramento 🙂 )

Così un giorno in cui c’erano pochi clienti e mi stavo annoiando ho aperto il pc e con largo anticipo ho iniziato a scrivere il report evidenziando che l’ordine quotidiano di dolci effettuato dalla store manager doveva basarsi su un modello predittivo (una regressione lineare) che considerasse una pluralità di variabili (dati storici sulle vendite, condizioni meteo, flusso di persone della stazione) e che c’era la necessità di studiare la correlazione tra le variabili del modello ed i dati storici.

A  seguito del mio report il CEO ha scritto una email alla store manager dicendole che voleva assolutamente parlarmi, mi ha portato a cena, mi ha proposto di occuparmi di realizzare il nuovo progetto per la riduzione degli sprechi di cibo una volta tornato dall’Italia e di fare la mia offerta economica per il progetto.

Attualmente sto lavorando a distanza, mi sto occupando di tutta una fase preliminare di analisi della quantità e qualità di dati effettivamente disponibili.

It’s easier to fool people than to convice them that they’ve been fooled


Oltre a questo progetto di riduzione degli sprechi, giovedì mi è stato proposto un ulteriore progetto sempre su Londra di ottimizzazione e big data, di questo non posso condividere ulteriori dettagli.

E’ un progetto molto complesso e se l’incarico dovesse essere confermato vedrà l’applicazione di almeno tre differenti algoritmi di Machine Learning.

Continua sempre il mio supporto all’Associazione di InnovAction Lab, ma devo essere più presente, siamo ancora in alto mare con il DB (colpa mia), l’ultimo evento su Roma è stato un flop, ma il BBQ di Agosto è già in agenda.

Per non farmi mancare nulla dovrò sistemare alcune questioni amministrative ed operative per l’azienda di famiglia e devo (da almeno due mesi) rifare il sito di Wheelab per raccontare quello che è stato,  il rinnovo del sito mi è stato suggerito e richiesto da molti recruiter.

Gli impegni per Giugno sono tanti, le energie sono sempre le stesse e non dormire sarebbe solo un problema per la produttività.

La produttività è sempre un tema particolare.

La nostra capacità di concentrazione è crollata sensibilmente, in alcuni casi paragonabile a quella di un pesce rosso (http://time.com/3858309/attention-spans-goldfish/) e purtroppo guardiamo lo schermo del cellulare ogni 10-12 minuti, circa 80 volte al giorno(http://www.businessinsider.com/dscout-research-people-touch-cell-phones-2617-times-a-day-2016-7?IR=T).

A ragione di questo ho deciso che temporaneamente per tutto il mese di Giugno non sarò presente sui social network. 

  • Eliminazione di Instagram-Linkedin-Twitter dal cellulare
  • Cambio password di Facebook e disconnessione dell’account

Quando sarà Luglio uscirò dalla caverna.

 

Se ci riuscirò scriverò qualche articolo sugli ultimi libri letti nei mesi passati, sto rispettando abbastanza bene la lista che avevo fatto a Gennaio.

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure
Annunci

Lascia un commento

Archiviato in riflessioni, Scritti sparsi

Le 25 skills più richieste per un Data Scientist (tratto da una storia vera) prt 1

Non è facile essere un wannabe Data Scientist

Essere un Data Scientist è veramente difficile, essere un Data Scientist autodidatta ancora peggio.

Il tempo non è mai abbastanza, c’è bisogno di focalizzarsi e focalizzarsi verso quello che il mercato del lavoro vuole, in questo modo ci saranno più possibilità di farcela, almeno all’inizio.

Dove focalizzarsi?

Sono sempre convinto che bisogna definire una strategia di medio termine e seguirla con pazienza, altrimenti si rischierà di essere distratti da tutte le informazioni provenienti dalla rete.

Verso Settembre 2017 fino ad oggi, molto spesso dopo aver inviato il mio CV per annunci di lavoro come Data Scientist ho segnato manualmente su Google Foglio le competenze richieste per quel ruolo

Ho superato più di 430 righe ognuna contenente una informazione.

Oggi ho deciso di analizzare questo CSV in modo da capire quali fossero le competenze più richieste come Data Scientist ed esercitarmi.

In [80]:
#importing the libraries 

import pandas as pd
import matplotlib.pyplot as plt
In [40]:
csvname= "skill.csv"
df= pd.read_csv(csvname,sep= ",", header=None, index_col=False)
print(df.head(30))
                             0    1
0                       Agile   NaN
1                           AI  NaN
2                    Algorithm  NaN
3                    Algorithm  NaN
4                   Algorithms  NaN
5                    Analytics  NaN
6                      Apache   NaN
7                      Apache   NaN
8                          API  NaN
9   Artificial neural networks  NaN
10                         AWS  NaN
11                         AWS  NaN
12                         AWS  NaN
13                         AWS  NaN
14                         AWS  NaN
15                         AWS  NaN
16                         AWS  NaN
17                         AWS  NaN
18                       Azure  NaN
19                       Azure  NaN
20                       Azure  NaN
21                       Azure  NaN
22                       Azure  NaN
23              Bayesian Model  NaN
24              Bayesian Model  NaN
25              Bayesian Model  NaN
26         Bayesian Statistics  NaN
27                          BI  NaN
28                          BI  NaN
29                         BI   NaN
30                    Big Data  NaN
31                    Big Data  NaN
32                    Big Data  NaN
33                    Big Data  NaN
34                    Big Data  NaN
35                    Big Data  NaN
36                    Big Data  NaN
37                    Big Data  NaN
38                    BIgQuery  NaN
39                    BIgQuery  NaN
In [34]:
print(df.columns)
Int64Index([0, 1], dtype='int64')
In [50]:
df.columns=['skills','vuota']
In [51]:
print(df.head())
       skills vuota
0      Agile    NaN
1          AI   NaN
2   Algorithm   NaN
3   Algorithm   NaN
4  Algorithms   NaN
In [65]:
df_skill=pd.DataFrame(df.iloc[:,0], columns=['skills'])
print(df_skill.head(5))
       skills
0      Agile 
1          AI
2   Algorithm
3   Algorithm
4  Algorithms
In [71]:
print(df_skill.info())
RangeIndex: 423 entries, 0 to 422
Data columns (total 1 columns):
skills    423 non-null object
dtypes: object(1)
memory usage: 3.4+ KB
None
In [84]:
df_skill_grouped=df_skill.groupby(['skills']).size().sort_values(ascending=False)
In [85]:
print(df_skill_grouped)
skills
SQL                                        37
Python                                     36
Spark                                      16
Python                                     13
Handoop                                    12
Scala                                      10
Scikit Learn                               10
NLP                                        10
Machine Learning                           10
Statistics                                 10
AWS                                         8
Big Data                                    8
NOSQL                                       7
Kafka                                       7
TensorFlow                                  6
Tableau                                     6
Pandas                                      5
Numpy                                       5
Azure                                       5
SQL                                         5
Machine learning                            5
Financial Systems                           4
Predictive Model                            4
Neural Networks                             4
C++                                         4
Machine Learning                            4
Go                                          3
Bayesian Model                              3
MapReduce                                   3
Clustering                                  3
                                           ..
Sentiment Analysis                          1
NLP                                         1
Scraping                                    1
NOSQL                                       1
Naive Bayes classifier                      1
Natural language processing                 1
Numpy                                       1
Linear Model                                1
Latent semantic indexing                    1
Pig                                         1
Hashmaps                                    1
Flask                                       1
Flink                                       1
Gis                                         1
GitHub                                      1
Testing Software                            1
Google 360                                  1
Gradient Boosted Machine                    1
TF-IDF                                      1
Plotly                                      1
T-SQL                                       1
Html                                        1
Information Extraction                      1
Instantaneously trained neural networks     1
JQuery                                      1
JSON                                        1
Java                                        1
JavaScript                                  1
Jira                                        1
AI                                          1
Length: 150, dtype: int64
In [90]:
df_skill_grouped.head(25).plot.bar()
 25 skills
Queste analisi devono evidentemente essere migliorate:

 

1) Implementare delle Regex, in questo modo potrò correggere velocemente gli errori di battitura ed essere più preciso (ad esempio nel grafico si vede che “Python” e “Python ” (con spazio finale) sono stati trattati come elementi differenti

 

2) Web Scraping degli annunci di lavoro ai quali ho risposto per estrarre automaticamente le competenze richieste ed aggiornare automaticamente il foglio Google

 

3) Migliorare il codice del Pomodoro Workout Analyzer così da essere più consapevole dicome sto gestendo le ore di esercizio con Python.

 

Un abbraccio e grazie per aver letto il mio articolo.

 

Andrea

 

ps se noti qualche errore scrivimi pure

 

Lascia un commento

Archiviato in Ingegneria, riflessioni

La differenza tra Vincere ed avere Successo secondo John Wooden

Col nuovo anno Alessandro mi aveva girato questo video del TED di John Wooden

John Wooden è un stato un allenatore di pallacanestro e cestista statunitense.

E’ stato il tecnico più vincente della storia del basket collegiale USA alla guida degli UCLA Bruins.

Nel video del TED definisce dei punti chiave sia sul successo che sull’insegnamento.

No written word, no spoken plea can teach our youth what they should be.
Nor all the books on all the shelves, it’s what the teachers are themselves.

Ha anche citato la sua piramide del successo, non è andato nel dettaglio, ma è molto interessante.

In cima a tutto troviamo la pazienza ed “il crederci”.

Un concetto quello della pazienza che ritorna in discorsi già visti(“La vita è fatta di centimetri” Al Pacino in Ogni Maledetta Domenica o “There is NO Overnight Success” di Gary Vay) denominatore comune per qualsiasi obiettivo che si voglia raggiungere.

Focus sull’obiettivo ed allenamento costante.

Il punto interessante del talk è stata la sua definizione di successo.

La definizione è nata dopo alcune discussioni con dei genitori mentre insegnava in Indiana:

“Il successo rappresenta la serenità acquisita esclusivamente attraverso la soddisfazione personale nel sapere che hai dato il massimo rispetto al tuo potenziale.

Se tu ti impegni al meglio in ciò che sei capace di fare cercando di migliorarti (performance, risultati ecc) allora avrai raggiunto il successo.
E’ simile alla differenza tra carattere e reputazione, la reputazione è ciò che le persone percepiscono di te, il carattere è ciò che realmente sei.

Io penso che il carattere sia molto più importante di quello che gli altri pensino di te. “

Gran bel video!

Lascia un commento

Archiviato in riflessioni