今日の小さな全員がデータ削減、良い基準値のデータの標準化、正規化および方法を使用することsklearnを共有するため、我々は手助けをしたいです。それは頻繁に行う、できるだけ早く収束モデルを可能にするために、モデルのトレーニングの時に一緒に来て参照するにはフォローのXiaobianは、データを前処理することです。
ここでsklearn.preprocessモジュールで処理することによって。
まず、標準化し、その差を正規化
正規化は、実際には標準的な方法であるが、正規化は、[0,1]、この区間にデータをマッピングすることです。
そのため、特定の間隔に、スケーリングに従って正規化データを吸引。平均正規化データ= 0、標準偏差= 1、従って標準化されたデータは、正または負とすることができます。
第二に、標準化と標準化、還元sklearnの使用
原則:最初のすべてのデータの平均と分散を見つけ、その後、計算。
ゼロ平均、分散の最終結果は、1である式から分かります。
元のデータがガウス分布ではない場合には、正規化データの効果が良好ではありません。
インポートモジュール
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler
from matplotlib import gridspec
import numpy as np
import matplotlib.pyplot as plt
標準化されたプロファイル形状の前後のデータを比較したが、縮尺することができますランダムな点を生成することによって、変更されません。
cps = np.random.random_integers(0, 100, (100, 2))
ss = StandardScaler()
std_cps = ss.fit_transform(cps)
gs = gridspec.GridSpec(5,5)
fig = plt.figure()
ax1 = fig.add_subplot(gs[0:2, 1:4])
ax2 = fig.add_subplot(gs[3:5, 1:4])
ax1.scatter(cps[:, 0], cps[:, 1])
ax2.scatter(std_cps[:, 0], std_cps[:, 1])
plt.show()
cps = np.random.random_integers(0, 100, (100, 2))
ss = StandardScaler()
std_cps = ss.fit_transform(cps)
gs = gridspec.GridSpec(5,5)
fig = plt.figure()
ax1 = fig.add_subplot(gs[0:2, 1:4])
ax2 = fig.add_subplot(gs[3:5, 1:4])
ax1.scatter(cps[:, 0], cps[:, 1])
ax2.scatter(std_cps[:, 0], std_cps[:, 1])
plt.show()
sklearn.preprocess.StandardScalerの使用:
まず、オブジェクトを作成し、fit_transform()メソッドを呼び出し、あなたはトレーニングセットとして、次の形式でパラメータを渡す必要があります。
X : numpy array of shape [n_samples,n_features]Training set.
data = np.random.uniform(0, 100, 10)[:, np.newaxis]
ss = StandardScaler()
std_data = ss.fit_transform(data)
origin_data = ss.inverse_transform(std_data)
print('data is ',data)
print('after standard ',std_data)
print('after inverse ',origin_data)
print('after standard mean and std is ',np.mean(std_data), np.std(std_data))
invers_tainsformによって()メソッドは、元のデータを得るために使用することができます。
次のように印刷結果は以下のとおりです。
標準偏差は、生成されたデータがゼロに平均値の近くであることがわかります。
data is [[15.72836992]
[62.0709697 ]
[94.85738359]
[98.37108557]
[ 0.16131774]
[23.85445883]
[26.40359246]
[95.68204855]
[77.69245742]
[62.4002485 ]]
after standard [[-1.15085842]
[ 0.18269178]
[ 1.12615048]
[ 1.22726043]
[-1.59881442]
[-0.91702287]
[-0.84366924]
[ 1.14988096]
[ 0.63221421]
[ 0.19216708]]
after inverse [[15.72836992]
[62.0709697 ]
[94.85738359]
[98.37108557]
[ 0.16131774]
[23.85445883]
[26.40359246]
[95.68204855]
[77.69245742]
[62.4002485 ]]
after standard mean and std is -1.8041124150158794e-16 1.0
第三に、使用sklearnデータの正規化と標準化の減少
原理:
式から、当該最小データと正規化された最大の結果を見ることができます。
標準化を使用する場合、上記と同様
data = np.random.uniform(0, 100, 10)[:, np.newaxis]
mm = MinMaxScaler()
mm_data = mm.fit_transform(data)
origin_data = mm.inverse_transform(mm_data)
print('data is ',data)
print('after Min Max ',mm_data)
print('origin data is ',origin_data)
結果:
G:\Anaconda\python.exe G:/python/DRL/DRL_test/DRL_ALL/Grammar.py
data is [[12.19502214]
[86.49880021]
[53.10501326]
[82.30089405]
[44.46306969]
[14.51448347]
[54.59806596]
[87.87501465]
[64.35007178]
[ 4.96199642]]
after Min Max [[0.08723631]
[0.98340171]
[0.58064485]
[0.93277147]
[0.47641582]
[0.11521094]
[0.59865231]
[1. ]
[0.71626961]
[0. ]]
origin data is [[12.19502214]
[86.49880021]
[53.10501326]
[82.30089405]
[44.46306969]
[14.51448347]
[54.59806596]
[87.87501465]
[64.35007178]
[ 4.96199642]]
Process finished with exit code 0
その他の標準的手法:
上記標準と一つの欠点を有するように正規化新しいデータが必要なときにすべての点を再計算するたびにすることです。
したがって、データは、動的計算方法は、以下の場合に、いくつか使用することができる場合:
図1に示すように、アークタンジェント標準化アークタンジェント関数:
2、標準化関数LN
この使用は、正規化し、データの標準化のためのデータ削減方法の内容全体が共有への皆のための小さなシリーズであることsklearnの上に、
公共機関の数で良い評判をお勧めするどのように多くの、そして最終的にはより多くのコンテンツ[プログラマ]、学習古いタイマーがたくさんあります
スキルは、経験、面接スキル、職場体験や他のシェアを学んで、より慎重に、実際のプロジェクトのゼロベースの入門情報、情報を準備しました
時限プログラマPythonは日常の技術を説明している方法は、学習と細部への注意を払う必要性へのいくつかを共有します