Strumenti Utente

Strumenti Sito


informazione_mutua_puntuale

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
informazione_mutua_puntuale [2021/10/25 13:57]
65.21.180.48 versione precedente ripristinata (2021/06/03 07:59)
informazione_mutua_puntuale [2026/04/30 08:44] (versione attuale)
admin
Linea 27: Linea 27:
 5b)\hspace{4pt} IMP\hspace{4pt}=\hspace{4pt} 5b)\hspace{4pt} IMP\hspace{4pt}=\hspace{4pt}
 log_{2}\hspace{4pt}\frac{1}{P(x=a)}\hspace{4pt}+\hspace{4pt}log_{2}\hspace{4pt}\frac{1}{P(x=b)}\hspace{4pt} log_{2}\hspace{4pt}\frac{1}{P(x=a)}\hspace{4pt}+\hspace{4pt}log_{2}\hspace{4pt}\frac{1}{P(x=b)}\hspace{4pt}
-+\hspace{4pt} log_{2}\hspace{4pt} P(x_{t}=a,\hspace{4pt}x_{t+1}=b)  \hspace{4pt} = \hspace{4pt} ++\hspace{4pt} log_{2}\hspace{4pt} P(x_{t}=a,\hspace{4pt}x_{t+1}=b)  \hspace{4pt} =$$ 
 +$$= \hspace{4pt} 
  
 I(x=a)+I(x=b)-I(x_{t}=a,\hspace{4pt}x_{t+1}=b) I(x=a)+I(x=b)-I(x_{t}=a,\hspace{4pt}x_{t+1}=b)
 $$ $$
 +
 ===== Comportamento dell'informazione mutua puntuale ===== ===== Comportamento dell'informazione mutua puntuale =====
 Se le probabilità dei due elementi del bigramma sono perfettamente indipendenti l'una dall'altra allora: Se le probabilità dei due elementi del bigramma sono perfettamente indipendenti l'una dall'altra allora:
Linea 50: Linea 52:
 $$ $$
 ====== Funzioni in python ====== ====== Funzioni in python ======
-<code python>+<code python imp.py> 
 +import re 
 +from numpy import log2 
 + 
 +#preparazione del testo "Pinocchio" 
 +f=open('collodi_pinocchio.txt', mode='r', encoding='iso-8859-1') 
 +testo=f.read() 
 +testo=testo[1704:] 
 +testo=re.sub("'","' ", testo) 
 +testo=re.sub('[.,;:\-?!]','',testo) 
 +testo=testo.lower() 
 +testo=testo.split() 
 + 
 +#funzioni 
 +def NGRAMMI (n, testo): 
 +    return [tuple(testo[i:i+n]) for i in range(len(testo)+1-n)] 
 +def I (x, testo): 
 +    return -log2(testo.count(x)/len(testo))   
 +def P (x, testo): 
 +    return testo.count(x)/len(testo)    
 +def IMP (a,b,testo): 
 +    bigrammi = NGRAMMI(2,testo) 
 +    return log2(P((a,b),bigrammi)/(P(a,testo)*P(b,testo))) 
 +    #return I(a,testo) + I(b,testo)-I((a,b),bigrammi) 
 +     
 +#test 
 +print("IMP di 'il burattino'") 
 +print(IMP('il', 'burattino', testo)) 
 +print("\n") 
 + 
 +print("IMP di 'capelli turchini'") 
 +print(IMP('capelli', 'turchini', testo)) 
 +print("\n") 
 + 
 +print("IMP di 'è di'") 
 +print(IMP('è', 'di', testo)) 
 +print("\n") 
 +</code> 
 + 
 + 
 + 
 +<code python imp-old.py>
 import re import re
 from numpy import log2 from numpy import log2
informazione_mutua_puntuale.1635170257.txt.gz · Ultima modifica: 2021/10/25 13:57 da 65.21.180.48