Benpian機械学習グループコンテンツの出力を学ぶの第3週、参考資料は、次のとおりです。
飛び石機械学習:正規化およびKDツリー
[定量化]記事KD-ツリーアルゴリズムの教室のアイデアを
https://www.joinquant.com/view/community/detail/dd60bd4e89761b916fe36dc4d14bb272
米国ミッション技術は、ブログ - 機械学習データを特性の概要を清掃して処理します
離散データの前処理
https://www.cnblogs.com/jiaxin359/p/8574510.html
- 機能の正常化
別の機能は、最終的な結果は、二塩基性として、より大きな影響を有することになる前記線形モデルまたはモデル画像関連するクラスタモデル、k最近傍のモデル、の範囲内、例えば、いくつかのアルゴリズムでは、異なる範囲を有します距離値があってもよい、請求範囲[0,1]、[0、無限大)(式アルゴリズムを学習最初に述べたリンクk最近傍距離の値については、距離の値に依存して、場合より多くの次元距離がより多くなりときに起因範囲モデルの格差)が、実際の使用時に切り捨て距離であろう、そのような[0,3000000]のように、これら2つの機能は、よりバイアスされてもよいですより大きな範囲を特徴と矛盾特性の範囲をバランスさせるために、区間[0,1]に正規化特徴値を正規化する必要があります。一般的に使用される正規化方法は、
マッピング関数によって特徴付け1.正規化関数は、区間[0,1]、例えば、最大値と最小値の正規化方法に値をマッピング、線形マッピングです。そこ非線形写像関数、対数関数または例えばのような。
- ほとんどの値を達成するために標準化しました
1 >>> インポートnumpyのAS NP 2 >>> X-np.random.randint =(0,100、(50,2 )) 。3つの >>> #ほとんどの値は正規化された方程式、に0.1との間のマッピングた 4 .. (X - np.min(X))/(np.max(X) - np.min(X)) 。5 。6 >>> #100 0初期の50の範囲内のほとんどの値は正規化した(行列) * 2マトリクス 。7 ... X-np.random.randint =(0,100、(50,2 )) 。8 >>> X-np.array =(X-、DTYPE = フロート) 。9 >>> X- =(X-NP- .min(X-、軸= 0))/(np.max(X-、軸= 0) - np.min(X-、軸= 0 )) 10 >>> X- 11。アレイ([0.35714286、0.69473684 ]、 12のIS [0.41836735、0.29473684 ]、 13 [0.66326531、0.23157895 ]、 14 [0.86734694、0.86315789 ]、 15 [0.68367347、0 。]、 16 [0.60204082、0.11578947 ]、 17 [0.96938776、0.48421053 ]、 18 [0.94897959、0.01052632]、...
- 平均分散が達成正規化
>>> X2 = np.array(np.random.randint(0,100、(50,2))、DTYPE = フロート) >>> X2 =(X2-np.mean(X2、軸= 0))/ NP。 STD(X2、軸= 0 ) >>> X2 アレイ([ -0.69972732、1.16541396 ] [ -0.66498416、-0.3998551 ] [ 1.76703732、0.98754248 ] [ 1.24588986、0.95196818 ] [ -0.63024099、-0.18640932 ] [ 1.55857833、1.20098826 ] [ 1.31537619、-0.50657799 ] [ -0.56075467、-0.89789525 ] [ 0.58576974、0.98754248] ...
sklearn実装(StandarScalar)
1つの インポートNPとしてnumpyの 2 から sklearnのインポートデータセット 3 から sklearn.model_selectionのインポートtrain_test_split 4 から sklearn.preprocessing インポートStandardScaler 5 6アイリス= datasets.load_iris() 7 X = iris.data 8 Y = iris.target 9 X_train、X_testをy_train、y_test = train_test_split(iris.data、iris.target、test_size = 0.2、random_state = 666 ) 10 11 standardScaler = StandardScaler() 12 standardScaler.fit(X_train) 13がある standardScaler.mean_ 14 standardScaler.scale_ #可変データ分布の表現、あるいはstd_ 15 16 #を計算またはfit_transformスコアZ変換を用いた 。17 X_train_standard = standardScaler.transform(X_train) 18である X_test_standard = standardScaler.transform (X_test) 。19 20である X_train_standard_z_score = standardScaler.fit_transform(X_train)
2.フラクタル次元正規化最大値と最小値は、正規化方法を用いてもよいが、最小値と最大値は、最大値と最小極大値と最小値、グローバルないを使用して、カテゴリの最大値と最小値、すなわち、選択されます。
かかわらず、元の値のサイズ特性によってソートされる内容を特徴とする3ソート正規化は、機能シーケンスに対応する新しい値を与えます。
- 離散機能
連続値の値空間は無限であり、モデルの取り扱いを容易にするために表現することができる、連続する値の必要性は、離散化しています。一般的に使用される離散化方法は、等量同等の分割と分割が挙げられます。平均範囲、各セグメント内の値と同等の方法に従って特性を分割することと等価です。[0,10]の特徴の範囲内、例えば、それは10個のセグメント、[0,1)、[1,2)、...、[9,10)に分けることができます。同量の均等サンプルの総数を分割する分割され、各サンプルは、セグメントの等量に分割されます。等しい比率で分割した場合、今パラグラフ1における試料の最もことがわかっているだろう、その後、10枚の切片に切断する必要があり、このような範囲[0,3000000]での距離、などの機能。この問題を回避するのと同じ量を分割し、最終的なセグメンテーションは、)[100、300)、[300、500)、..、[10000,3000000] 0,100であることができる、比較的密な間隔の分割の前、スパースバック。
1.離散連続属性:
-
-
方法ビン幅:この方法の考え方は、データが均等に等分、それぞれ等間隔Nに分割されることです。
-
他の周波数ビン法:この方法の考え方は、観測点が均等にn個の等しい部分、各観測点の同じ数に分割されることです。
-
2.順不同カテゴリー変数は、ディスクリート:解決ワンホットエンコーディングを使用しました。
3.個別のカテゴリ変数を命じました。
注文したカテゴリ変数は、直接、分割後の値を使用することができます。[裕福な、裕福な貧困、食料や衣類、]カテゴリ変数として、あなたはそれの上に[0,1,2,3]に直接それらを変換することができます。これは、離散マッピングするために直接パンダのマップ機能を使用することができます。
train_df [ ' セックス' ] = train_df [ ' セックス' ] .MAP({ ' 男性':0、' 女性':1})
または、この操作を完了するsklearn.preprocessing.LabelEncoderを借ります。