急性胆嚢炎は
胆嚢腫大による胆管圧迫、それにより閉塞性黄疸を来たす
胆嚢の炎症により、発熱や右上腹部痛を呈する
胆嚢炎が進展すると、化膿性閉塞性胆管炎をきたす可能性がある。すると、血圧低下(ショック)が起こる。
http://www.jshbps.jp/modules/public/index.php?content_id=12
急性胆嚢炎は
胆嚢腫大による胆管圧迫、それにより閉塞性黄疸を来たす
胆嚢の炎症により、発熱や右上腹部痛を呈する
胆嚢炎が進展すると、化膿性閉塞性胆管炎をきたす可能性がある。すると、血圧低下(ショック)が起こる。
http://www.jshbps.jp/modules/public/index.php?content_id=12
染色体異常疾患を覚えるのは一苦労である。
なぜなら、
病気の名前を覚えること
それに紐づいた染色体の場所を覚えること
の2つをしなくてはならないからだ。
そして、染色体異常で、遺伝子転座の場合、「どこ」から「どこ」へくっついたかが、数字で情報を渡される。ただの数字なので、選択肢問題で、忘れたら推測する術がない。
なので、何とかして覚えたい、というのが、本日の悩みである。
そういうわけで、クイズを作らせた。
染色体異常を問題に、選択肢に疾患を答えさせる問題。
たまに、答えが一つに決まらないパターンもある。それはもう確率ゲームである。それもまた一興。
import matplotlib.pyplot as plt
import numpy as np
import math
import random
problem_set = [j for j in range(5)]
random.seed(random.choice(problem_set))
"""
$1 making components of question and answer$
"""
question = ["t(8; 21)", "t(15; 17)", "inv(16)", "t(9; 22)",
"t(9; 22)", "t(14; 18)", "t(11; 14)", "t(8; 14)", "del(5q)"]
answer = ["急性骨髄性白血病","急性前骨髄球性白血病","急性骨髄単球性白血病","急性リンパ球性白血病",
"慢性骨髄性白血病", "濾胞性リンパ腫", "マントル細胞リンパ腫", "Burkittリンパ腫","骨髄異形成症候群"]
"""
$2 making questions
"""
num_of_q = 10;
num_of_option = 5
all_option = [i for i in range(len(question))]
for i in range(num_of_q):
option = random.sample(all_option, num_of_option)
problem = random.choice(option)
print(f"{question[problem]}?")
random.shuffle(option)
tag = option.index(problem)
for j in range(num_of_option):
print(f"{j}: {answer[option[j]]}")
value = int(input("Enter number of the answer: "))
if value == tag:
print("correct")
else:
print("wrong",tag,value)
print(question[problem], answer[problem])
"""
"""
かなり遊べる。しかも意外と強制的に覚えられる。良い学習方法を見つけたかもしれない。
散髪屋さんのようなものが出来上がった。
時系列データを塗りつぶし図形を動画にするとき、
ims = []
for j in range(T):
im = plt.fill(xl[0],yl[0],fc=col(j))
for i in range(1,N):
poly = plt.fill(xl[i],yl[i],fc=col(i+j))
im = im + poly
ims.append(im)
ani = animation.ArtistAnimation(fig, ims, interval=100)
plt.show()
とすると、上手くできた。
animation.FuncAnimationを使う方法もあるらしい
詳しくはこちら。
import numpy as np
import matplotlib.pyplot as plt
import math
import random
random.seed(314)
"""
$-1 parameter input$
"""
N=121
cn=11
"""
$1 making polygon$
"""
x=np.array([-0.5,0.5,0.5,-0.5])
y=np.array([0,0,1,1])
xl=list()
yl=list()
for i in range(N):
xl.append(x+1*(i%cn))
yl.append(y-1*int(i/cn))
"""
$2 defining color of polygon$
"""
def col(x):
if x % 2 == 0:
return "green"
elif x % 2 == 1:
return "black"
"""
$3 making figure$
"""
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_aspect('equal')
for i in range(N):
poly = plt.fill(xl[i],yl[i],fc=col(i))
plt.show()
拡張子がnumbersのファイルをpythonで上手く扱いたい。
まず、「ファイル」→「書き出す」→「CSV...」→(文字の確認”UTF-8")「次へ」→「書き出す」
これで、拡張子がnubmersからcsvへと変換された。ここからは、後半戦。pandasを使って、データを読み込み、numpyへと渡す作業に入る。
import pandas as pd
df = pd.read_csv("sample.csv")
#データを呼ぶ
processed_data = df.iloc[0:3,1:100].to_numpy().tolist()
#少し処理しつつ(データ依存だから状況に応じて書き換えていく)、numpyに渡してリストにする。
data = np.array(processed_data)
#numpyのarrayにする。
これにて無事完了。
参考文献
このような記事がある。
数学が脳の機能の活性化に一役買っているらしい。
よく計算ドリルが認知症防止に効く。という類いの情報に触れることはあっても、ドーパミンなどの報酬系との関連は初めて聞いたので驚いた。
どうやら、単純な計算問題や音読などで、幅広い部位が活性化するらしい。
逆に難しい問題は前頭葉の一部に活性化が限局するらしい。
どの程度信じるかの色づけが難しいが、数学・計算が良いものというところは信じるとする。
それで、今日も計算なりをしてみよう。
人には向き・不向きがある。
覚えるのが得意。早起きが得意。走るのが速い。仕事が速い。メールが丁寧。
そういったあらゆる良し悪しの尺度を俯瞰的に見ると、平均的な人はいない、という話が出てくる。
(高次元のデータでは、ノイズがどこかしらに強く入ってしまうことになる。いわゆる「球面集中現象」のこと)
それを試してみよう。
早起きと仕事の速さ、と言う具合に、2つの指標があって
それらが正規分布で、互いに独立の指標だとする。
すると、こんな感じでばらけるのだろう。
ここで、少し雑だが、原点からの距離を見て貰いたい。角度はただ一様分布からサンプリングしているだけなので、意味はない。(形が綺麗ということはある)
ここで、指標を増やすとどうなっていくか考えて見る。
10個の指標ならこんな感じ。
穴が見えてきた。
さらに増やして、23000個にするとどうなるだろうか。
いわゆる、高次元球面に集中する現象が起きる。
「普通」の人はいない、という一種の証明のようなものだろうか。
今日は早く寝よう。