Python《データ科学入門》読書ノート第四章2018-8-2011:30から

2020 ワード

それからこの本を読みます.の第三章を見たとき、頭が広くて痛いです.使う時にしましょう.そしてRソフトウェアの機能はとても強いです.飛び越えた.
続いて第四章に着きました.第4章で述べた線形代数を話したい.私は特に高等代数を学んだことがあるのに、これを見て何をしているのか.
また第5章に着いて、統計をして、私は本当に偶然だと言って、私は統計の専門です.
また第6章に着いて、見てみると、わあ確率論、彼はどうして私の専門が確率論と数理統計であることを知っていますか.しばらく見て、まあ、4章から見ましょう.しばらくして本をめくってしまった.
足し算を言わない.分かりやすいです.リストとメタグループの加算がリスト追加要素であるほか、他の加算は数学的加算である.
乗算#ジョウサン#
一時、私が以前アルゴリズムを書く過程でよく使った乗算には、このいくつかのコマンドがありました.
import numpy as np
a=...
b=...
#               
np.dot(a,b)
#           ,        dot  
np.multiply(a,b)
np.dot(a,b)=sum(np.multiply())
#        
a*b

この3つの方法.異なるデータ構造に対して異なる使用特徴がある.
リスト形式
dot関数とmultiply関数のみ
import numpy as np
a=[1,2,3]
b=[4,5,6]
np.dot(a,b)
np.multiply(a,b)
sum(np.multiply(a,b))    #      dot   

a*bをそのまま使うとエラーとなります
メタグループ
実は私の印象では、メタグループの基本的な性質とリストの差は多くありません.タプル以外は変更できません.つまり、リストでは、割り当てられた値を変更できますが、メタグループはできません.
はいれつ
配列では、直接乗算"*"を使用できます.
import numpy as np
a=np.array([1,2,3])
b=np.array([4,5,6])
#          
a*b
np.multiply(a,b)
#       
np.dot(a,b)

マトリックス
行列では,a,bが行ベクトルであるなど,次元数の影響を考慮しなければならず,直接計算できない乗算もある.
ipmort numpy as np
a=np.matrix([1,2,3])
b=np.matrix([4,5,6])

np.dot(a,b)    #  
np.dot(a,b.T)    #  

np.multiply(a,b)     #    
np.multiply(a,b.T)     #     ,      
np.multiply(a.T,b)     #     ,           

a*b    #    
a.T*b  #  3×3  
a*b.T  #  3×3  

すなわち,行列の乗算が最も複雑である.私はアルゴリズムを書くとき、いつも半日で私が得た行列が最終的に何乗何なのかを考えて、それからもう少し計算して、もしまだ確定していないならば、ペンで1、2つ計算して、1対で間違いなく確定することができます.
辞書
もしある日、処理をしないで辞書で乗算したいなら、私のプログラミング生涯は終わるかもしれません.
ハイブリッド使用
混合して使用する場合は、
import numpy as np
a=np.matrix([1,2,3])
b=np.array([4,5,6])
np.dot(a,b)
np.multiply(a,b)

しかし、いくつかのアルゴリズムを書く過程で、多くの内蔵関数が返す値のタイプが異なるため、ある戻り配列、ある戻り行列、ある戻りメタグループなどがあります.私は一般的にタイプ変換関数を追加して、すべてのタイプを統一します.そうでなければタイプが混乱しているとき、アルゴリズムを書くことに対して結果を出すのは本当に青いです.だから、データを同じタイプに変換することをお勧めします.
多分第四章は終わります.原理部分は見る必要はありません.
2018-8-20 13:07