6.2 API : RandomForestClassifier与RandomForestRegressor

記事のディレクトリ


RandomForestClassifier
RandomForestRegressor

RandomForestClassifier

from sklearn.ensemble import RandomForestClassifier
RandomForestClassifier(n_estimators=100, *, criterion='gini', max_depth=None, min_samples_split=2,
 min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None,
  min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None,
   random_state=None, verbose=0, warm_start=False, class_weight=None, ccp_alpha=0.0, max_samples=None)

説明

ランダムフォレスト分類子。
ランダムフォレスト-多くの決定木分類器をデータセットのサブセットに適合させ、平均を使用して予測精度を向上させ、過剰適合を制御します。
bootstrap = True(デフォルト値)の場合、max_samplesパラメーターを使用してサブサンプルサイズを制御します。それ以外の場合は、データセット全体を使用して各ツリーを構築します。

パラメータ

n_estimators:整数、オプション(デフォルト= 10)整数、オプション(デフォルト値は10)。
ランダムフォレスト内の決定木分類器の数

基準:{"gini"、 "entropy"}、default = "gini"
分割の品質を測定するためのパフォーマンス(関数)。サポートされている標準は、ジニ不純物の場合は「ジニ」、情報取得の場合は「エントロピー」です。
注:このパラメーターはツリー固有です。
まず、ジニ係数はジニ係数(係数)とは関係ありません。ジニ係数は、セットから要素をランダムに選択し、セット内のラベルの確率分布に基づいて要素にラベルを割り当てるエラー率を測定します。ラベルの下にある要素の場合、正しく分類される条件付き確率は、要素を選択するときにラベルを選択する確率、および分類中にラベルを選択する確率として理解できます。上記の説明に基づいて、ジニ不純物の計算は非常に簡単です。つまり、1からすべての分類の確率を引いたものが正しく、誤った分類の確率が得られます。

max_depth:int、default = None
(決定)ツリーの最大深度。値がNoneの場合、ノードは、すべてのリーフが純粋になるまで(リーフノードのすべてのデータカテゴリが同じになるまで)、またはすべてのリーフに含まれるサンプルがmin_sample_split未満になるまで展開されます。

min_samples_split:intまたはfloat、default = 2
内部ノードを分割するために必要なサンプルの最小数:
1。それがintの場合、min_samples_splitを最小数と見なします。
2.フロートの場合、min_samples_splitはパーセンテージであり、ceil(min_samples_split * n_samples)は各分割のサンプルの最小数です。

min_samples_leaf:intまたはfloat、default = 1
リーフノードで必要なサンプルの最小数:
1。それがintの場合、min_samples_leafを最小数と見なします。
2.フロートの場合、min_samples_leafはパーセンテージであり、ceil(min_samples_leaf * n_samples)は各ノードのサンプルの最小数です。

min_weight_fraction_leaf:float、default = 0.0
リーフノードに必要な重みの合計(すべての入力サンプル)の最小重み付きスコア。sample_weightが指定されていない場合、サンプルの重みは同じになります

max_features:{"auto"、 "sqrt"、 "log2"}、intまたはfloat、default = "auto"
最適なセグメンテーションを検索するときに考慮する必要のある機能:1。intの
場合は、各セグメンテーションmax_feature機能
2。それがfloatの場合、max_featuresはパーセンテージであり、(max_feature * n_features)機能整数値が各分割で考慮されます。
3.自動の場合、max_features = sqrt(n_features)。これはn_featuresの平方根値です。
4. log2の場合、max_features = log2(n_features)5。Noneの
場合、max_features = n_features
注:分割ポイントの検索は、必要な場合でも、少なくとも1つの有効なノードパーティションが見つかるまで停止しません。 max_features以上の機能を効果的にチェックします。

max_leaf_nodes:int、default = None
max_leaf_nodesを使用して、最良の方法でツリーを成長させます。最良のノードは、不純物の相対的な減少として定義されます。Noneの場合、リーフノードの数は制限されません。

min_impurity_decrease:float、default = 0.0
ノードの分割によって引き起こされる不純物の減少の程度がこのノードの値以上の場合、このノードは分割されます。不純物
加重削減方程式は次のとおりです
N_t / N *(不純物-N_t_R / N_t * right_impurity- N_t_L / N_t * left_impurity)
。Nはサンプルの総数、N_tは現在のノードのサンプル数、N_t_Lは左側の子ノードのサンプル数、N_t_Rは右側のサンプル数です。子ノード。
sample_weightが渡された場合、N、N_t、N_t_R、およびN_t_Lはすべて加重和を参照します。

bootstrap:bool、default = True
デシジョンツリーを構築するときに、置換を伴うサンプリングを使用するかどうか。

oob_score:bool、default = False
一般化の精度を推定するためにアウトオブバッグサンプルを使用するかどうか

n_jobs:int、default = None
フィッティングと予測のために並行して実行されているジョブ(ジョブ)数。値が-1の場合、ジョブの数はコアの数に設定されます。

random_state:int、RandomStateインスタンスまたはNone、default = None
random_stateは、乱数ジェネレーターによって使用されるシードです。RandomStateインスタンスの場合、random_stateは乱数ジェネレーターです。Noneの場合、乱数ジェネレーターは、使用されるRandomStateです。 np.randomインスタンスによる。

verbose:int、default = 0
は、デシジョンツリー確立プロセスの冗長性を制御します

warm_start:bool、default = False
Trueに設定すると、以前に呼び出されたソリューションが再利用されて全体にフィットし、推定量が追加されます。逆に、まったく新しいフォレストにフィットするだけです。

class_weight:{"balanced"、 "balanced_subsample"}、dictまたはdictのリスト、default = None
"balanced_subsample"またはNone、(デフォルト値はNone)、フォーマット{class_label:weight}値に関連付けられたクラスのオプションの重み。値が指定されていない場合は、すべてのクラスに重みを付ける必要があります。複数の出力の問題の場合、辞書シーケンスをyの列の順序で提供できます。

複数の出力(複数のラベルを含む)の場合、その重みは、独自の辞書の各列の各クラスとして定義する必要があることに注意してください。たとえば、4種類のマルチラベル分類の場合、重みは[{0:1、1:1}、{0:1、1:5}、{0:1、1:1}、{0 :1、1:1}]この方法では、[{1:1}、{2:5}、{3:1}、{4:1}]ではありません。
「バランス」モードは、yの値を使用して重みを自動的に調整します。これは、入力データのカテゴリ頻度に反比例します。たとえば、
n_samples /(n_classes * np.bincount(y))
「balanced_subsample」モードは重みを除いて「バランス」と同じ値は、成長する各ツリーの置換サンプリングに基づいて計算されます。
複数の出力の場合、yの各列の重みが乗算されます。
sample_weightが指定されている場合、これらの重みはsample_weightで乗算されることに注意してください(フィッティングメソッドによって渡されます)

ccp_alpha:非負のfloat、default = 0.0
は、コストの複雑さを最小にするプルーニングの複雑さのパラメーターです。コストの複雑さが最大で、ccp_alpha未満のサブツリーが選択されます。
デフォルトでは、トリミングは実行されません。

max_samples:intまたはfloat、default = None
ブートストラップがtrueの場合、Xからサンプル数をサンプリングして、各基本推定量をトレーニングします。
None(デフォルト値)の場合、X.shape [0]サンプルを描画します。
intの場合は、max_samplesサンプルを描画します。
フローティングの場合は、max_samples * X.shape [0]サンプルを描画します。したがって、max_samplesは間隔(0,1)にある必要があります

属性

base_estimator_:DecisionTreeClassifier
基本分類子

estimators_:DecisionTreeClassifier
リストに適合したサブ推定量のコレクション

classes_:形状のndarray(n_classes、)またはそのような配列のリスト
カテゴリラベル(単一の出力問題)、またはカテゴリラベルの配列シーケンス(複数の出力問題)

n_classes_:
カテゴリの数を整数またはリストする(単一の出力の問題)、または各出力のカテゴリの数を含むシーケンス(複数の出力の問題)

n_features_:
フィッティングを実行するときの機能

n_outputs_:int
フィッティング実行時の出力数

feature_importances:形状のndarray(n_features、)
特徴の重要性(特徴が大きいほど重要)

oob_score_:フロートアウトオブ
バッグデータセットのスコア

oob_decision_function_:形状のndarray(n_samples、n_classes)
この属性は、oob_scoreがTrueの場合にのみ存在します。これは、アウトオブバッグデータ評価の機能の重要性です。

方法

apply(X):決定ツリーをXに適用し、リーフインデックスを返します
decision_path(X):フォレスト内の決定パスを返します
fit(X、y [、sample_weight]):トレーニングセット(X、y)からフォレストを構築します)
get_params([deep]):この推定量のパラメーターを取得predict(
X):クラスxを予測
predict_log_proba(X):Xの対数のような確率を
予測predict_proba(X):Xのクラス確率を予測
score(X、 y [、sample_weight]):指定されたテストデータとラベルの平均精度を返します
set_params(** params):推定量パラメーターを設定します

RandomForestRegressor

from sklearn.ensemble import RandomForestRegressor

RandomForestRegressor(n_estimators=100, *, criterion='mse', max_depth=None, min_samples_split=2, 
min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, 
min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None,
 random_state=None, verbose=0, warm_start=False, ccp_alpha=0.0, max_samples=None)

説明

ランダムフォレストリグレッサ
ランダムフォレスト-多くの決定木分類器をデータセットのサブセットに適合させ、平均を使用して予測精度を向上させ、過剰適合を制御します。
bootstrap = True(デフォルト値)の場合、max_samplesパラメーターを使用してサブサンプルサイズを制御します。そうでない場合、データセット全体が各ツリーの構築に使用されます。

パラメータ

基準:{"mse"、 "mae"}、default = "mse"
デフォルト値は 'mse'です。これは回帰効果の尺度である平均二乗誤差です。オプションは「mae」です-絶対誤差を意味します

残りのパラメーターは、分類子の属性と一致しています

属性

oob_prediction_:形状のndarray(n_samples、)
は、トレーニングセットの実際の推定値を使用して予測を計算します。この属性は、oob_scoreがTrueの場合にのみ存在します。

残りの属性は分類子の属性と一致ています。
ここに画像の説明を挿入
メソッドは
上記の説明一致しています。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46649052/article/details/112971517