Uporządkowanie wykresów
@ -100,7 +100,7 @@ OrderedDict([(' ', 63444), ('a', 30979), ('i', 29353), ('e', 25343), ('o', 23050
|
|||||||
|
|
||||||
plt.bar(freq.keys(), freq.values())
|
plt.bar(freq.keys(), freq.values())
|
||||||
|
|
||||||
fname = f'{name}.png'
|
fname = f'02_Jezyki/{name}.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ OrderedDict([(' ', 63444), ('a', 30979), ('i', 29353), ('e', 25343), ('o', 23050
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:]]
|
[[file:02_Jezyki/pt-chars.png]]
|
||||||
|
|
||||||
*** Słowa
|
*** Słowa
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ Zobaczmy 20 najczęstszych wyrazów.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-words-20.png]]
|
[[file:02_Jezyki/pt-words-20.png]]
|
||||||
|
|
||||||
Zobaczmy pełny obraz, już bez etykiet.
|
Zobaczmy pełny obraz, już bez etykiet.
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ Zobaczmy pełny obraz, już bez etykiet.
|
|||||||
plt.figure().clear()
|
plt.figure().clear()
|
||||||
plt.plot(range(1, len(freq.values())+1), freq.values())
|
plt.plot(range(1, len(freq.values())+1), freq.values())
|
||||||
|
|
||||||
fname = f'{name}.png'
|
fname = f'02_Jezyki/{name}.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ Zobaczmy pełny obraz, już bez etykiet.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-words.png]]
|
[[file:02_Jezyki/pt-words.png]]
|
||||||
|
|
||||||
Widać, jak różne skale obejmuje ten wykres. Zastosujemy logartm,
|
Widać, jak różne skale obejmuje ten wykres. Zastosujemy logartm,
|
||||||
najpierw tylko do współrzędnej y.
|
najpierw tylko do współrzędnej y.
|
||||||
@ -182,7 +182,7 @@ najpierw tylko do współrzędnej y.
|
|||||||
plt.figure().clear()
|
plt.figure().clear()
|
||||||
plt.plot(range(1, len(freq.values())+1), [log(y) for y in freq.values()])
|
plt.plot(range(1, len(freq.values())+1), [log(y) for y in freq.values()])
|
||||||
|
|
||||||
fname = f'{name}.png'
|
fname = f'02_Jezyki/{name}.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -192,7 +192,7 @@ najpierw tylko do współrzędnej y.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-words-log.png]]
|
[[file:02_Jezyki/pt-words-log.png]]
|
||||||
|
|
||||||
**Pytanie** Dlaczego widzimy coraz dłuższe „schodki”?
|
**Pytanie** Dlaczego widzimy coraz dłuższe „schodki”?
|
||||||
|
|
||||||
@ -232,7 +232,7 @@ Tę własność tekstów nazywamy **prawem Zipfa**.
|
|||||||
plt.figure().clear()
|
plt.figure().clear()
|
||||||
plt.plot([log(x) for x in range(1, len(freq.values())+1)], [log(y) for y in freq.values()])
|
plt.plot([log(x) for x in range(1, len(freq.values())+1)], [log(y) for y in freq.values()])
|
||||||
|
|
||||||
fname = f'{name}.png'
|
fname = f'02_Jezyki/{name}.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ Tę własność tekstów nazywamy **prawem Zipfa**.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-words-log-log.png]]
|
[[file:02_Jezyki/pt-words-log-log.png]]
|
||||||
|
|
||||||
*** Związek między frekwencją a długością
|
*** Związek między frekwencją a długością
|
||||||
|
|
||||||
@ -257,7 +257,7 @@ częstością użycia słowa a jego długością. Generalnie im krótsze słowo,
|
|||||||
plt.scatter([len(x) for x in freq.keys()], [log(y) for y in freq.values()],
|
plt.scatter([len(x) for x in freq.keys()], [log(y) for y in freq.values()],
|
||||||
facecolors='none', edgecolors='r')
|
facecolors='none', edgecolors='r')
|
||||||
|
|
||||||
fname = f'{name}.png'
|
fname = f'02_Jezyki/{name}.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -267,7 +267,7 @@ częstością użycia słowa a jego długością. Generalnie im krótsze słowo,
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-lengths.png]]
|
[[file:02_Jezyki/pt-lengths.png]]
|
||||||
|
|
||||||
** N-gramy
|
** N-gramy
|
||||||
|
|
||||||
@ -322,7 +322,7 @@ Zawsze powinniśmy się upewnić, czy jest jasne, czy chodzi o n-gramy znakowe c
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-3-char-ngrams-log-log.png]]
|
[[file:02_Jezyki/pt-3-char-ngrams-log-log.png]]
|
||||||
|
|
||||||
*** 2-gramy wyrazowe
|
*** 2-gramy wyrazowe
|
||||||
|
|
||||||
@ -331,7 +331,7 @@ Zawsze powinniśmy się upewnić, czy jest jasne, czy chodzi o n-gramy znakowe c
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:pt-2-word-ngrams-log-log.png]]
|
[[file:02_Jezyki/pt-2-word-ngrams-log-log.png]]
|
||||||
|
|
||||||
** Tajemniczy język Manuskryptu Wojnicza
|
** Tajemniczy język Manuskryptu Wojnicza
|
||||||
|
|
||||||
@ -367,6 +367,7 @@ dramatycznie na analizę statystyczną.
|
|||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:results:
|
:results:
|
||||||
|
9 OR 9FAM ZO8 QOAR9 Q*R 8ARAM 29 [O82*]OM OPCC9 OP
|
||||||
:end:
|
:end:
|
||||||
|
|
||||||
#+BEGIN_SRC python :session mysession :results file
|
#+BEGIN_SRC python :session mysession :results file
|
||||||
@ -374,28 +375,28 @@ dramatycznie na analizę statystyczną.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:voy-chars.png]]
|
[[file:02_Jezyki/voy-chars.png]]
|
||||||
|
|
||||||
#+BEGIN_SRC python :session mysession :results file
|
#+BEGIN_SRC python :session mysession :results file
|
||||||
log_rang_log_freq('voy-log-log', get_words(voynich))
|
log_rang_log_freq('voy-log-log', get_words(voynich))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:voy-log-log.png]]
|
[[file:02_Jezyki/voy-log-log.png]]
|
||||||
|
|
||||||
#+BEGIN_SRC python :session mysession :results file
|
#+BEGIN_SRC python :session mysession :results file
|
||||||
rang_freq_with_labels('voy-words-20', get_words(voynich), top=20)
|
rang_freq_with_labels('voy-words-20', get_words(voynich), top=20)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:voy-words-20.png]]
|
[[file:02_Jezyki/voy-words-20.png]]
|
||||||
|
|
||||||
#+BEGIN_SRC python :session mysession :results file
|
#+BEGIN_SRC python :session mysession :results file
|
||||||
log_rang_log_freq('voy-words-log-log', get_words(voynich))
|
log_rang_log_freq('voy-words-log-log', get_words(voynich))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:voy-words-log-log.png]]
|
[[file:02_Jezyki/voy-words-log-log.png]]
|
||||||
|
|
||||||
** Język DNA
|
** Język DNA
|
||||||
|
|
||||||
@ -427,7 +428,7 @@ TATAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCC
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:dna-chars.png]]
|
[[file:02_Jezyki/dna-chars.png]]
|
||||||
|
|
||||||
*** Tryplety — znaczące cząstki genotypu
|
*** Tryplety — znaczące cząstki genotypu
|
||||||
|
|
||||||
@ -463,7 +464,7 @@ z dwudziestu aminokwasów.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:dna-aminos.png]]
|
[[file:02_Jezyki/dna-aminos.png]]
|
||||||
|
|
||||||
*** „Zdania” w języku DNA
|
*** „Zdania” w języku DNA
|
||||||
|
|
||||||
@ -484,7 +485,7 @@ trypletu STOP (_ powyżej). Taka sekwencja to /gen/.
|
|||||||
plt.figure().clear()
|
plt.figure().clear()
|
||||||
plt.hist([len(g) for g in get_genes(get_triplets(dna))], bins=100)
|
plt.hist([len(g) for g in get_genes(get_triplets(dna))], bins=100)
|
||||||
|
|
||||||
fname = 'dna_length.png'
|
fname = '02_Jezyki/dna_length.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -492,7 +493,7 @@ trypletu STOP (_ powyżej). Taka sekwencja to /gen/.
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:dna_length.png]]
|
[[file:02_Jezyki/dna_length.png]]
|
||||||
|
|
||||||
** Entropia
|
** Entropia
|
||||||
|
|
||||||
@ -656,7 +657,7 @@ Wiemy już, że entropia dla rzutu monetą wynosi 1 bit. A jaki będzie wynik dl
|
|||||||
plt.ylabel('entropia')
|
plt.ylabel('entropia')
|
||||||
plt.plot(x, y)
|
plt.plot(x, y)
|
||||||
|
|
||||||
fname = f'binomial-entropy.png'
|
fname = f'02_Jezyki/binomial-entropy.png'
|
||||||
|
|
||||||
plt.savefig(fname)
|
plt.savefig(fname)
|
||||||
|
|
||||||
@ -664,7 +665,7 @@ Wiemy już, że entropia dla rzutu monetą wynosi 1 bit. A jaki będzie wynik dl
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:binomial-entropy.png]]
|
[[file:02_Jezyki/binomial-entropy.png]]
|
||||||
|
|
||||||
*Pytanie* Dla oszukańczej monety (np. dla której wypada zawsze orzeł) entropia
|
*Pytanie* Dla oszukańczej monety (np. dla której wypada zawsze orzeł) entropia
|
||||||
wynosi 0, czy to wynik zgodny z intuicją?
|
wynosi 0, czy to wynik zgodny z intuicją?
|
||||||
@ -743,11 +744,9 @@ Policzmy entropię przy takim założeniu:
|
|||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:results:
|
:results:
|
||||||
4.973808176335181
|
3.902708104423842
|
||||||
:end:
|
:end:
|
||||||
|
|
||||||
Wartość zaskakująco zbliżona do „Pana Tadeusza”!
|
|
||||||
|
|
||||||
*** Rzeczywista entropia?
|
*** Rzeczywista entropia?
|
||||||
|
|
||||||
W rzeczywistości entropia jest jeszcze mniejsza, tekst nie jest
|
W rzeczywistości entropia jest jeszcze mniejsza, tekst nie jest
|
||||||
@ -791,7 +790,7 @@ Dla porównania wynik dla rękopisu Wojnicza:
|
|||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
:results:
|
:results:
|
||||||
2.90721912311904
|
2.942372881355932
|
||||||
:end:
|
:end:
|
||||||
|
|
||||||
*** Gra Shannona
|
*** Gra Shannona
|
||||||
|
BIN
wyk/02_Jezyki/binomial-entropy.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
wyk/02_Jezyki/dna-aminos.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
wyk/02_Jezyki/dna-chars.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
wyk/02_Jezyki/dna_length.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
wyk/02_Jezyki/pt-2-word-ngrams-log-log.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
wyk/02_Jezyki/pt-3-char-ngrams-log-log.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
wyk/02_Jezyki/pt-chars.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
wyk/02_Jezyki/pt-lengths.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
wyk/02_Jezyki/pt-words-20.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
wyk/02_Jezyki/pt-words-log-log.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
wyk/02_Jezyki/pt-words-log.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
wyk/02_Jezyki/pt-words.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
wyk/02_Jezyki/voy-chars.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
wyk/02_Jezyki/voy-log-log.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
wyk/02_Jezyki/voy-words-20.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
wyk/02_Jezyki/voy-words-log-log.png
Normal file
After Width: | Height: | Size: 14 KiB |