Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - caronte

Pagine: [1] 2 3 ... 19
1
Benvenuto e regolamento / Re:Hello......
« il: Maggio 29, 2019, 16:12 »
give me five!!!!

2
Ciao
Perdonami ma non e’ che si capisce bene cosa realmente vorresti fare e soprattutto con cosa..
Cioe’ dici di dover lavorare su dataframes ma non dici come sono organizzati i dati…
Si presume che sto df abbia diverse colonne, visto che non puoi specificare all’inizio quale header contenga la stringa ‘Data’, poi non si capisce bene se tale stringa sia parte di un testo e se tale testo rappresenti uno dei valori di una colonna in particolare…probabilmente si, e quindi dovresti filtrare solo i tutti i valori  di indice i della suddetta colonna  j = 2 ad es. ma poi dal codice che posti estrai righe “intere” diciamo, da un file di testo che non e’ un csv….

poi, permettimi ancora, se qualcuno spera che individui piu esperti spendano piu di 2 secondi per interpretare i ‘sentimenti’ di chi chiede un aiuto, senza che costui si sprechi a fornire un esempio riproducibile ( nello specifico del problema che si ha anche in piccolo chiaramente), e a fornire dei dati in maniera chiara…be tanti auguri…

poi: Quel codice e’ inefficiente e lo diventa ancor di piu se cominci ad aver a  che fare con un bel po di dati ;

se vuoi fare data analisi in Python non puoi prescindere da dataframes, series e tensori in generale, che oltre ad essere l’unica roba che i vari “modelli statistici e predittivi capiscono”…sono le uniche ‘strutture’ che ti consentono una manipolazione pesante dei suddetti

3
Base / Re:metodo find()
« il: Novembre 22, 2018, 13:47 »
Anche se sei al primo anno, sicuramente il tuo prof ti avra’ dato inputs necessari ad eseguire il compito;
chiaramente neanche lui si aspetta che tu trovi la soluzione piu veloce, servirebbe a poco.. perche’ al momento lo scopo principale e’ farti scrivere un algoritmo che implementi la logica necessaria allo scopo…
poi di vie piu' veloci per fare quella cosa , soprattutto in Python , ce ne sono…vedrai;

e comunque posta sempre il tuo codice(anche errato) prima,  senza   aspettare che gli altri postino il loro, perche' su quello devi riflettere...

4
Esercizi / Re:Aiuto con progetto , Analisi di Markov
« il: Settembre 24, 2018, 23:22 »
...sull' Hip Hop fa miracoli

5
Base / Re:Come evito di usare eval?
« il: Maggio 27, 2018, 14:29 »
Senti dalle domande che fai mi sembra che tu non abbia ancora ‘compreso bene’ l’argomento..

Prima di tutto qui non stai usando TF se non come  backend..ma stai lavorando con keras, creare un network in TF risulta essere molto piu articolato..ma molto;
Poi se ritieni di crearti un modello con 100 200 o piu layers probabilmente stai totalemnte fuori strada…
Poi tutto dipende da che tipo di network ti vuoi crerare..se ad esempio stai lavorando con RNN’s allora gia 10 sono troppi…google ne usa anche meno in stack per il completamento automatico, per dire…
Poi che senso ha affidarti a eval..(che non e’ mai una gradne idea)  a te basta che una funzione costruttrice ti ritorni un modello..

Poi in un altro post leggo che parli di epoche che vorresti rimpiazzare con un ciclo while…
Che alla  fine sarebbe come porre epoche infinite, poiche’ l’algoritmo che si istruisce ragiona in epoche…(oltre che in caso di batch size  e iterazioni, dipende dalla quantita’ di dati e di memoria che puoi sfruttare)
Quindi una volta istruito sai che ti serviranno n epoche per ottimizzare la loss..quindi successivamente potrai operare sul test con quelle n epoche..cosa che chiaramente non puoi sapere a  priori;
(keras ad esempio ha una classe dedicata ‘callbacks’ di cui il metodo early-stopping
 ti permette proprio di fare quello che hai detto tu, ma in maniera scientifica…ovvero se dopo n epoche la loss specificata non ‘migliora’ allora l’algoritmo termina , ritornandoti i dati che ti servono; chiaro e’ che la validazione non la vai a fare sul training set…)

vedo pero’ che l’argomento ti interessa…ma se ti interessa veramente e non per gioco…(perche’ e’ relativamente semplice mettere su da zero un network , almeno di base..basta studiarsi qualche buon libro), ma se vui addentrarti e tentare di andar oltre la semplice applicazione ‘automatica’ di modelli  standard – il DL..che e’ una besta che va molto al di la di quello che all’inizio puo’ sembrare --devi procurarti almeno buone basi di algebra lineare(ragionare in spazi e sottospazi vettoriali di  funzioni lineari, bilineari associate a matrici, autovettori e autovalori e roba affine….) e magari di calcolo(ad esempio equazioni differenziali…per capire almeno di base  come ti ragiona un ‘semplice algoritmo’ di gradient descent…)

cioe stai un po girando a caso senza un tragitto definito…tipo: quello che hai scritto, ma pensato meglio ci puo’ anche stare, ma alla fine sono ‘vezzi’ , ti consiglio di crearti un percorso serio di studio..e poi alal fine apri TF, pytorch, cntk, o il framework che credi; si keras facilita molto e penso che in futuro si porti pure pytorch…

6
senti,  alla fine la probailita’ di mutazione non e’ altro che un ulteriore parametro da ‘ottimizzare’ …chiaro e' che se imposti una popolazione molto ampia conviene tentare subito con una valori piu bassi…fermo restando che ci potrebbero essere casi in cui una prob. di mutazione anche minima potrebbe risultare svantaggiosa…

detto questo il linea di massima uno degli approcci  migliori sarebbe quello proposto dal Simulated Annealing., usato spesso come algoritmo di ‘progressione; (passatemela) del learning rate in taluni optimizers di architetture neurali…ovvero partire da valori maggiori, chesso tipo .3, e man mano che aumentano le iterazioni/epoche , abbassarne progressivamente il valore (.05, .01, .001...ad es.) in maniera che all’inizio si eviti una possibile e rapida  convergenza verso minimi locali,e  successivamente si cerca con valori bassi o molto bassi di raggiungere il ‘minimo globale’ che detta in italiano sembra una malattia…

7


 Mah...l di la del codice, per  abbassare  la probabilita' di incorrere nel local minimum, solitamente conviene diversificare il piu possibile la popolazione( aumentandone magari anche il ‘size’)…cosa fattibile con l’aumentare la probabilita’ di mutazione per ogni genoma...

cioe’ non e’ che al momento  ci sia proprio una soluzione ‘precompilata’…questo chiaramente dipende anche dal dataset su cui stai lavorando; inlotre le modalita’ e o possibilita di crossing possono chiaramente essere svariate, come quelle di mutazione…puoi agire a livello di genoma(se e come selezionarlo) , e /o sui singoli geni (quali e come variarli)..insomma le modalita’ possono essere molteplici;
in tutti i casi la probabilita’ di mutazione influisce anche sul criterio di convergenza dell’algoritmo..diciamo che potrebbe essere considerata(sotto questo aspetto), come  una sorta di ‘regolazione’(anche se ‘tecnicamente’ non vi ha NIENTE a che fare)…come la strategia utilizzata da algorithmi  di DeepLearn o di qualsiasi altro shallow models: nel qual caso si cerca di ovviare al gravoso problema dell’overfitting…

detto questo, in situazioni ben piu complesse di una semplcie iindovina la password, l’approccio migliore probabilmente sarebbe  assumere  soluzioni ibride., tipo  cominciare con un GA e poi rifinire con una semplice random search  in uno spazio piu circoscritto di valori dei parametri…poi se volessimo tagliare la testa al toro (dimensione dati permettendo) andremmo di brute force…ma mettiamoci comodi, dico;
ad esempio spesso e  volentieri quando devo fare tuning dei parametri, come ottimizzazione escludo per limiti di tempo algoritmi piu impegnativi quali appunto GA, hill-climbing, e amici cari..e vado semplicemnte di grid-random search…un buon compromesso anche se chiaramente non il piu efficace:

poi ancora se passasse di qui qualche data scientist serio, beh…il suo parere sarebbe ben gradito..perche’ lo ritengo  un argomento molto fico… :vampire:

8
Base / Re:Lettura file binario di dati
« il: Marzo 05, 2018, 21:57 »
Ma forse non è questo il luogo...
Esatto..per quello che ti serve ti basta google…

9
Base / Re:Problema con matrice o lista di liste
« il: Gennaio 31, 2018, 22:31 »
a ok...pensavo avessi decifrato


10
Esercizi / Re:Aiuto...prossimo ad esame.
« il: Gennaio 31, 2018, 21:14 »
e dovevi frequentare...

11
Base / Re:Problema con matrice o lista di liste
« il: Gennaio 31, 2018, 21:08 »
Penso che numpy o meglio ancora pandas potrebbero aiutarti a non reinventare la ruota.
Pero' bisogna studiarlo un po' pandas per imparare come usarlo bene.

C'e' un corso di data science ben fatto su coursera, in cui la seconda week e' tutta su pandas: https://www.coursera.org/learn/python-data-analysis/

a bene, almeno tu hai capito..ce lo spiegheresti?  e poi ci dici pure come lo incastri pandas (o qualche sua "utility")  per risolvere quel gravoso problema dell'estrazione di tutte quelle liste  precedenti a quella???? che mica e' semplice oh..

12
Base / Re:Problema con matrice o lista di liste
« il: Gennaio 31, 2018, 21:03 »
Uhm, rileggi quello che hai scritto e chiediti se è comprensibile in italiano.

+ 3
ovvero grammaticalmente va tutto bene, perfetto ..bravo! il problema e' nella logica...cioe' non si comprende tanto bene cosa Ca..O hai scritto

13
Base / Re:Liste phyton
« il: Novembre 22, 2017, 14:06 »
essi ci divertiamo con 'poco'...  :teeth:
comunque e' palese che  quella riga e' solo uno uno sporco stratagemma, perche' chiaramente  nn fa esattamente quello che richeide l'esercizio..
cioe' non e' inm grado di gestire casi in cui, ad esempio, si ha necessita' di ''paddare'' la lista con elementi differenti da zero, quindi soluzioni piu 'scalabili', come quella di Glenn, ovviamente sono sempre da preferire (quando nn si gioca.. :vampire: )

14
Base / Re:Liste phyton
« il: Novembre 21, 2017, 14:51 »
e senza import...


def sum_lst(a, b):
    return [x + y for (x, y) in zip(a, b)] + max(a, b, key=len)[len(min(a, b, key=len)):]

15
Base / Re:estrarre parole da tweets
« il: Novembre 20, 2017, 16:47 »
Infatti, come ti diceva riko, invece di prosciugare il mare,  pesca direttamente i pesci..cioe’non vedo perche’ ti devi sbattere piu del dovuto…
Detto questo, ti consiglierei, di darti uno sguardo anche a Spacy..un’ottima libreria di NLP che, al contrario di tutte le altre disponibili per Python, e’ scritta interamente in Cython…

inoltre e’ molto piu flessibile, efficiente e facilmente customizzabile , per gestire eventuali edge cases..e nel tuo caso, ti puo tornare ulteriormente utile in quanto ho visto che ha anche  un modello istruito su’’ italian news’’, anche se non so come effettivamente si comporta il tokenizer  sull’italiano. Comunque  per curiosita mi sono scaricato quel modello e l ho passato sul tuo testo e ho visto che non ti ‘tokeniza’ sull ‘apostrofo .. cioe’  ‘’l’ anima’’ te la restituisce paro paro (cosa non buona) cmq come ti dicevo e’ facilmente customizzabile..ad esempio per gestire quel caso, puoi tranquillamemnte customizzare l ‘’infix_re’’ del Tokenizer, senza bisogno di subclassarlo…leggiti la documentazione e ci sono anche ottimi esempi da cui partire

Pagine: [1] 2 3 ... 19