標準得点化
NIRS信号は相対変化の値であるため,実験参加者Aと実験参加者Bの測定値を直接比較することができません.
そのため,Aさんがoxy-Hbが1[mM cm]とBさんが0.1[mM cm]のときに,1[mM cm]のAさんのほうが脳が賦活しているとは限りません.
(基準点からの相対変化の値なので,Aさんの基準値が1.5,Bさんの基準値が0であれば,Bさんのほうが基準状態から大きくoxy-Hbが上昇しているため,Bさんのほうが賦活していることがあり得ます.)
そのため,Aさんがoxy-Hbが1[mM cm]とBさんが0.1[mM cm]のときに,1[mM cm]のAさんのほうが脳が賦活しているとは限りません.
(基準点からの相対変化の値なので,Aさんの基準値が1.5,Bさんの基準値が0であれば,Bさんのほうが基準状態から大きくoxy-Hbが上昇しているため,Bさんのほうが賦活していることがあり得ます.)
そのため,実験参加者全体の傾向を求めるために加算平均する場合などは,そのままの値で加算平均を求めることができません.このような場合は,標準得点化を行います.
NIRS信号を標準得点化すると,およそ±2~3くらいの値に変換されます.
NIRS信号を標準得点化すると,およそ±2~3くらいの値に変換されます.
NIRS信号以外でも機械学習の特徴量はそれぞれ単位が異なるため,入力する前に正規化する必要があります.
そのような場合も標準得点化することで各特徴量を正規化することができます.
そのような場合も標準得点化することで各特徴量を正規化することができます.
import numpy as np
from sklearn.preprocessing import StandardScaler
data1 = np.loadtxt('test.csv', delimiter=',') #実験データの読み込み
scaler = StandardScaler()
scaler.fit(data1)
z_data = scaler.transform(data1)
np.savetxt("z.csv",z_data,delimiter=',')#「z.csv」という名前で保存する