oraclesai.classification

class GWRClassifier(spatial_weights_definition=None, bandwidth=None, fixed=True)

バイナリ分類の地理的加重回帰。 ロジスティック・モデルは、指定された帯域幅内にある観測のターゲット変数および説明変数を含めることで、観察ごとにトレーニングされます。

パラメータ:
  • spatial_weights_definition - SpatialWeightsDefinition, default=None。 空間関係の指定。

  • bandwidth - scalar, default=None。 距離または近接Kのいずれかで構成される帯域幅の値。 帯域幅が指定されている場合、fixedに従ってパラメータspatial_weights_definitionがオーバーライドされます。

  • fixed - boolean, default=True。 bandwidthが定義されている場合にのみ機能します。 Trueの場合、空間ウェイトとしてDistanceBandWeightsDefinitionが使用され、それ以外の場合はKNNWeightsDefinitionが使用されます。

property betas
返り値:

二項GWRモデルの推定パラメータ(n x k)を含む2D配列

fit(X, y, geometries=None, crs=None)

帯域幅を検索し、指定されたデータで二項式GWRモデルに適合します。 ロジスティック分類子は、ネイバーのデータを使用してすべての観察で実行されます。 パラメータspatial_weights_definitionが定義されている場合、帯域幅が取得されます。それ以外の場合は、ジオメトリに基づいて帯域幅を見積もります。

パラメータ:
  • X - シェイプ(n_samples、n_features)の{numpy array, geopandas dataframe, vector dataframe}。 独立変数

  • y - {pandas.DataFrame, numpy 1D array or string}. 文字列として指定した場合、XはDataFrameである必要があります。

  • geometries - shapely array, default=None。 Xの各サンプルのジオメトリ・データ。

  • crs - pyproj.crs.CRS, default=None。 座標参照系。 Xがnumpy配列の場合にのみ使用されます。 XでCRS情報が使用可能な場合(つまり、SpatialDataFrameまたはGeoDataFrame)は無視されます。

返り値:

self Fitted estimator。

property k
返り値:

係数を推定する変数の数(定数を含む)

property model_type
返り値:

分類モデルのタイプ

predict(X, geometries=None)

指定されたデータで二項GWRモデルを評価します。 モデルが定義されていない場合、Noneが返されます。 ロジスティック・モデルは、トレーニング・データからの隣接する観測を使用して予測セットの観察ごとに構築され、それらのモデルを使用してターゲット変数を見積もります。

パラメータ:
  • X - シェイプ(n_samples、n_features)の{numpy array, geopandas dataframe, vector dataframe}。 独立変数

  • geometries - shapely array, default=None。 Xの各サンプルのジオメトリ・データ。

返り値:

予測セットの各要素の予測を含む1D numpy配列。

property predy
返り値:

トレーニング・データの予測を含む配列

score(X, y, sample_weight=None, geometries=None)

モデルの精度を返します。

パラメータ:
  • X - シェイプ(n_samples、n_features)の{numpy array, geopandas dataframe, vector dataframe}。 独立変数

  • y - {pandas.DataFrame, numpy 1D array or string}. 文字列として指定した場合、XはDataFrameであると想定されます

  • sample_weight - 各サンプルのスコアに対する加重貢献度

  • geometries - shapely array, default=None。 Xの各サンプルのジオメトリ・データ。

返り値:

モデルの精度。

property summary
返り値:

トレーニング済モデルのサマリー

property u
返り値:

トレーニング済二項式GWRモデルの残余がある配列

class GeographicalClassifier(global_model=None, model_cls=None, spatial_weights_definition=None, bandwidth=None, fixed=True, local_weight=0.25, **kwargs)

地理分類アルゴリズム。 分類を実行するには、グローバル・モデルと複数のローカル・モデルを使用します。

パラメータ:
  • global_model - scikit-learnエスティメータ・インスタンス(default=None)。 グローバル・モデルとして使用されるトレーニング済モデル。 ローカル・モデルは、このモデルと同じタイプになります。 model_clsがNoneの場合は必須です。

  • model_cls - scikit-learnエスティメータのクラス。default=None。 グローバル・モデルおよびローカル・モデルのタイプ。 model_clsが指定されている場合(global_modelではなく)、global_model=Noneの場合、グローバル・モデルはtrained.Requiredになります。model_cls作成パラメータはkwargsとして指定されます。

  • spatial_weights_definition - SpatialWeightsDefinition, default=None。 空間関係の指定。 これらの基準は、データを近所にグループ化し、ローカル・モデルをトレーニングするために使用されます。

  • bandwidth - intまたはfloat、default=None。 距離(fixed=True)または最も近い近傍の数(fixed=False)。bandwidth + fixedは、空間関係の指定を設定する別の方法です。 spatial_weights_definitionが設定されている場合は無視されます。

  • fixed - bool, default=True。 帯域幅が距離を表す場合は真。 Falseは、最も近い隣人の数です。

  • local_weight - float (0.0から1.0)、default=0.25。 ローカル・モデルの予測に関連付けられた重み。

  • kwargs - パラメータmodel_clsを使用して作成された内部モデルの追加パラメータ。

fit(X, y, geometries=None, crs=None, spatial_weights=None, spatial_weights_definition=None, column_map=None, fit_global_model=True, n_jobs=1, backend=None, batch_size=None)

地理分類モデルをトレーニングします。 内部的には、グローバル・モデル(fit_global_model=Trueの場合)と複数のローカル・モデルがトレーニングされます。 ローカル・モデルが各地域に対して作成されます。 近傍は、空間的に関連するXからの複数のサンプルを含む空間リージョンです。 近隣は、モデルの作成時間(spatial_weights_definitionbandwidth)で指定された空間関係を使用するか、トレーニングのパラメータとして渡された空間重みマトリックス・オブジェクトを使用して構築されます。

パラメータ:
  • X - SpatialDataFrame、DataFrame、GeoDataFrameまたは2D numpy配列。 期待されるシェイプは(n_samples、n_features)です。 データの予測。 SpatialDataFrameまたはGeoDataFrameの場合、ジオメトリは列としてXにあります。 Xに列yが含まれている場合、パラメータyはその列の名前を指定する必要があります。

  • y - 1D配列または文字列。 ターゲット値 Xにターゲット値を含む列が含まれている場合、このパラメータはかわりにその列の名前を指定します。

  • geometries - Shapelyジオメトリのリスト。文字列(列名)またはNone、default=None。 Xに関連付けられたジオメトリ。 XがSpatialDataFrameまたはGeoDataFrameで、Xにジオメトリがその列の1つとして含まれている場合、このパラメータにはその列の名前を含めることも、Noneにすることもできます(Xにgeometryという列がある場合)。

  • crs - pyproj.crs.CRSまたは文字列(default=None)。 ジオメトリの空間参照システム。 Xがnumpy配列の場合にのみ使用されます。 XでCRS情報が使用可能な場合(つまり、XがSpatialDataFrameまたはGeoDataFrameの場合)は無視されます。

  • spatial_weights - SpatialWeightsDefinitionまたはpysal重みオブジェクト。default=None。 トレーニング・データの事前計算された空間加重マトリックス。 None以外の場合、モデルの作成時に空間関係指定は無視されます。

  • fit_global_model - bool, default=True。 Falseの場合、グローバル・モデルはトレーニングされません。

  • n_jobs - int、default=1。 ローカル・モデルのトレーニングを並列化するために使用されるプロセッサ・コアの数。 使用可能なすべてのコアを使用するには -1を設定します。

  • backend - string, default=None。 n_jobs != 1の時に使用するJoblibバックエンド。 Noneの場合、Joblibのデフォルトのバックエンドが使用されます(通常はloki)

  • batch_size - 'auto'またはint、default='auto'。 パラレル・ジョブ当たりのバッチ・タスクの数。

返り値:

self Fitted estimator。

predict(X, y=None, geometries=None, crs=None)

グローバル・モデルとジオメトリに近いローカル・モデルを使用して、Xのターゲット・クラスを予測します。 戻される予測クラスは、predict_proba()のコール時に発生する可能性が最も高いクラスです。

パラメータ:
  • X - SpatialDataFrame、DataFrame、GeoDataFrameまたは2D numpy配列。 期待されるシェイプは(n_samples、n_features)です。 データの予測。 SpatialDataFrameまたはGeoDataFrameの場合、ジオメトリは列としてXにあります。 Xに列y (トレーニングまたはテストに使用されるSpatialDataFrameまたはDataFrameなど)が含まれている場合、パラメータyはその列の名前を指定し、除外できるようにする必要があります。

  • y - 文字列またはNone(default=None)。 Xにターゲット値を含む列が含まれている場合、このパラメータではその列の名前が指定されるため、予測対象から除外できます。それ以外の場合、このパラメータは使用されません。

  • geometries - Shapelyジオメトリのリスト。文字列(列名)またはNone、default=None。 Xに関連付けられたジオメトリ。 XがSpatialDataFrameまたはGeoDataFrameで、Xにジオメトリがその列の1つとして含まれている場合、このパラメータにその列の名前を含めるか、省略できます(Xに'geometry'という列がある場合)。

返り値:

予測クラスの値を含むシェイプn_samplesの配列。

predict_proba(X, y=None, geometries=None, crs=None)

グローバル・モデルとジオメトリに近いローカル・モデルを使用して、Xの各クラスの確率を予測します。 返される確率は、次のように計算されます: local_model_probabilities * local_weight + global_model_probabilities * (1.0 - local_weight)

パラメータ:
  • X - SpatialDataFrame、DataFrame、GeoDataFrameまたは2D numpy配列。 期待されるシェイプは(n_samples、n_features)です。 データの予測。 SpatialDataFrameまたはGeoDataFrameの場合、ジオメトリは列としてXにあります。 Xに列y (トレーニングまたはテストに使用されるSpatialDataFrameまたはDataFrameなど)が含まれている場合、パラメータyはその列の名前を指定して除外できるようにする必要があります。

  • y - 文字列またはNone(default=None)。 Xにターゲット値を含む列が含まれている場合、このパラメータではその列の名前が指定されるため、予測対象から除外できます。それ以外の場合、このパラメータは使用されません。

  • geometries - Shapelyジオメトリのリスト。文字列(列名)またはNone、default=None。 Xに関連付けられたジオメトリ。 XがSpatialDataFrameまたはGeoDataFrameで、Xにジオメトリがその列の1つとして含まれている場合、このパラメータにはその列の名前を含めることも、省略することもできます(Xにgeometryという列がある場合)。

返り値:

各クラスの確率を持つタプルを含むシェイプn_samplesの配列。

score(X, y, geometries=None, crs=None)

指定されたテスト・データおよびラベルのF1スコアをコンピュートします。

パラメータ:
  • X - SpatialDataFrame、DataFrame、GeoDataFrameまたは2D numpy配列。 期待されるシェイプは(n_samples、n_features)です。 データの予測。 SpatialDataFrameまたはGeoDataFrameの場合、ジオメトリは列としてXにあります。 Xに列y (例:トレーニングまたはテストに使用されるプロキシまたはDataFrame)が含まれている場合、パラメータyはその列の名前を指定し、除外できるようにする必要があります。

  • y - 文字列またはNone(default=None)。 Xにターゲット値を含む列が含まれている場合、このパラメータではその列の名前が指定されるため、予測対象から除外できます。それ以外の場合、このパラメータは使用されません。

  • geometries - Shapelyジオメトリのリスト。文字列(列名)またはNone、default=None。 Xに関連付けられたジオメトリ。 XがSpatialDataFrameまたはGeoDataFrameで、Xにジオメトリがその列の1つとして含まれている場合、このパラメータにその列の名前を含めるか、省略できます(Xに'geometry'という列がある場合)。

  • crs - pyproj.crs.CRS, default=None。 座標参照系。

返り値:

self.predict(X)の平均精度。

class SLXClassifier(spatial_weights_definition=None, random_state=None, balance_method=None, balance_ratio=1.0)

SLXロジスティック回帰モデルの実装。 フィーチャ・エンジニアリング・ステップを含むロジスティック回帰を実行して、データに空間コンテキストを提供するフィーチャを追加します。 このアルゴリズムは、隣接する観測からの平均を表す、特定の特徴の空間ラグを持つ1つ以上の列を追加します。

パラメータ:
  • spatial_weights_definition - SpatialWeightsDefinition, default=None。 隣接する観測間の相互作用を確立します。

  • random_state - RandomStateインスタンスまたはNone(デフォルト=None)。 乱数生成を決定します。

  • balance_method - {None, ‘random’, ‘smote’}. データセットのバランスを取るために選択されたメソッド。'random'は、クラスからランダム・サンプル(置換あり)から重複を作成します。'smote'はクラスAからランダム・サンプルを選択し、k近傍からランダム・ネイバーBを選択します。 ベクトルABは[0、1]の範囲の乱数で乗算され、結果がAに追加され、新しい合成インスタンスが生成されます。

  • balance_ratio - float、default=1.0。 バランシング・プロセス中のマイノリティ・クラスからの観測の所望の比率を表す0から1までの数値。 値1は、両方のクラスで同じ数の観測結果になります。

property betas
返り値:

トレーニング済モデルの推定パラメータを持つ配列。 multi_classの場合、(m x k)マトリックスが戻され、各適合モデルのパラメータを表します。mはターゲット変数のクラスの数です。

fit(X, y, geometries=None, crs=None, spatial_weights=None, column_ids=None)

SLXロジスティック回帰モデルをトレーニングします。 column_idsから列索引を取得し、それらの列の空間ラグをトレーニング・データに追加します。 最後に、ロジスティック回帰分類子に拡張データに適合します。 マルチ・クラス・シナリオでは、1対レスト戦略に従って、モデルがクラスごとに適合します。

パラメータ:
  • X - シェイプ(n_samples、n_features)の{numpy array, geopandas dataframe, vector dataframe}。 独立変数

  • y - {pandas.DataFrame, numpy 1D array or string}. 文字列として指定した場合、XはDataFrameである必要があります。

  • geometries - shapely array, default=None。 Xの各サンプルのジオメトリ・データ。

  • crs - pyproj.crs.CRS, default=None。 座標参照系。 Xがnumpy配列の場合にのみ使用されます。 XでCRS情報が使用可能な場合(つまり、SpatialDataFrameまたはGeoDataFrame)は無視されます。

  • spatial_weights - SpatialWeights, default=None。 空間重みのマトリックス。

  • column_ids - 文字列のリストまたは整数のリスト。default=None。 列名または列索引のリスト。空間ラグのコンピュートに使用される列を示します。

返り値:

self 適合エスティメータ

property k
返り値:

係数を推定する変数の数(定数を含む)

property model_type
返り値:

分類モデルのタイプ

predict(X, geometries=None, spatial_weights=None, use_fit_lag=False)

適合プロセスで定義された同じ列を使用してデータセットの空間ラグを計算し、ロジスティック回帰に従って最も高い確率のカテゴリを返します。

パラメータ:
  • X - シェイプ(n_samples、n_features)の{numpy array, geopandas dataframe, vector dataframe}。 独立変数

  • geometries - shapely array, default=None。 Xの各サンプルのジオメトリ・データ。

  • spatial_weights - SpatialWeights, default=None。 空間加重マトリックス。

  • use_fit_lag - boolean, default=False。 Falseの場合、予測データからの空間ラグを使用します。それ以外の場合は、トレーニング・データを使用して空間ラグを計算します。

返り値:

予測セットの各要素の予測クラス。

property predy
返り値:

トレーニング・データの予測を含む配列。 multi_classの場合、予測は確率が最も高いクラスを表します。

score(X, y, sample_weight=None, geometries=None, use_fit_lag=False)

モデルの精度を返します。

パラメータ:
  • X - シェイプ(n_samples、n_features)の{numpy array, geopandas dataframe, vector dataframe}。 独立変数

  • y - {pandas.DataFrame, numpy 1D array or string}. 文字列として指定した場合、XはDataFrameである必要があります

  • sample_weight - 各サンプルのスコアに対する加重貢献度

  • geometries - shapely array, default=None。 Xの各サンプルのジオメトリ・データ。

  • use_fit_lag - boolean, default=False。 falseの場合、予測データからの空間ラグを使用します。それ以外の場合、トレーニング・データを使用して空間ラグを計算します。

返り値:

モデルの精度。

property summary
返り値:

適合モデルの統計および推定パラメータを含む文字列。

property u
返り値:

トレーニング済モデルの残余を含む配列