Pythonの基本的なプログラミング:データの標準化のために使用さsklearn、正規化、およびデータ削減方法

今日の小さな全員がデータ削減、良い基準値のデータの標準化、正規化および方法を使用すること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は日常の技術を説明している方法は、学習と細部への注意を払う必要性へのいくつかを共有しますここに画像を挿入説明

公開された49元の記事 ウォンの賞賛8 ビュー40000 +

おすすめ

転載: blog.csdn.net/chengxun02/article/details/105082385