実験棟-Python Numpy 100題実験(九):いくつかの標準化アルゴリズムの実現
2143 ワード
これらの問題を単独で出して、一つに分類しましょう.標準化アルゴリズムです.本説明の主な内容: Z-Score標準化アルゴリズム Min-Max標準化アルゴリズム L 2パターン標準化データ を適用
Z-Score標準化アルゴリズムによるデータの標準化処理
まずZ−Score標準化式を与える:Z=X−m e a n(X)s d(X)Z=frac{X−mean(X)}{sd(X)}Z=sd(X)X−mean(X)
実は公式を知っていればいいのですが、前の計算を総合しただけです.
出力:
Min-Max標準化アルゴリズムによるデータの標準化処理
式:Y=Z−m i n(Z)m a x(Z)−m i n(Z)Y=frac{Z−min(Z)}{max(Z)−min(Z)}Y=max(Z)−min(Z)Z−min(Z)
相変わらず
出力:
L 2ノルムを用いたデータの標準化処理
L 2ノルムの計算式:L 2=x 1 2+x 2+..+x i 2 L_{2} =\sqrt{x_{1}^{2} + x_{2}^{2}+...+x_{i}^{2}} L2=x12+x22+...+xi 2計算式に基づいて関数を書き出します.
出力:
Numpyを用いて実験室LOGOをいわゆるNdarray配列に変換する
これは最後の実験です.実験棟という広告です.いきなり.
参考答案を直接添付します.
Numpy 100問題の実験はやっと片付けましたね.
终わって花を撒く!
以上
Z-Score標準化アルゴリズムによるデータの標準化処理
まずZ−Score標準化式を与える:Z=X−m e a n(X)s d(X)Z=frac{X−mean(X)}{sd(X)}Z=sd(X)X−mean(X)
実は公式を知っていればいいのですが、前の計算を総合しただけです.
def zscore(a,axis=None):
amean = np.mean(a, axis=axis,keepdims=True )
astd = np.std(a, axis=axis, keepdims=True)
return (a - amean)/astd
a = np.random.randint(1, 10, 10)
print(zscore(a))
出力:
[-0.55418416 1.07576925 0.74977857 1.07576925 0.42378789 1.40175994
-0.55418416 -1.20616553 -1.20616553 -1.20616553]
Min-Max標準化アルゴリズムによるデータの標準化処理
式:Y=Z−m i n(Z)m a x(Z)−m i n(Z)Y=frac{Z−min(Z)}{max(Z)−min(Z)}Y=max(Z)−min(Z)Z−min(Z)
相変わらず
def minmax(a, axis=None):
a_min = np.min(a, axis=axis, keepdims=True)
a_max = np.max(a, axis=axis, keepdims=True)
return (a - a_min)/(a_max - a_min)
a = np.random.randint(1, 10, (3,3))
print(minmax(a))
出力:
[[0.57142857 0.42857143 1. ]
[0.28571429 0.28571429 0.42857143]
[1. 1. 0. ]]
L 2ノルムを用いたデータの標準化処理
L 2ノルムの計算式:L 2=x 1 2+x 2+..+x i 2 L_{2} =\sqrt{x_{1}^{2} + x_{2}^{2}+...+x_{i}^{2}} L2=x12+x22+...+xi 2計算式に基づいて関数を書き出します.
def l2_normalize(v, axis=-1, order=2):
l2 = np.linalg.norm(v, ord=order, axis=axis, keepdims=True)
l2[l2==0] = 1
return v/l2
z = np.random.randint(1, 10, (3,3))
print(l2_normalize(z))
出力:
[[0.11547005 0.80829038 0.57735027]
[0.88345221 0.33129458 0.33129458]
[0.64465837 0.24174689 0.72524067]]
Numpyを用いて実験室LOGOをいわゆるNdarray配列に変換する
これは最後の実験です.実験棟という広告です.いきなり.
参考答案を直接添付します.
from io import BytesIO
from PIL import Image
import PIL, requests
#
URL = 'https://static.shiyanlou.com/img/logo-black.png'
response = requests.get(URL)
#
I = Image.open(BytesIO(response.content))
# Ndarray
shiyanlou = np.asarray(I)
shiyanlou
Numpy 100問題の実験はやっと片付けましたね.
终わって花を撒く!
以上