機械翻訳について

空間機能組合

SpatialFeatureUnionエスティメータは、空間プロパティを複数のトランスフォーマと共有し、結果を連結します。

次の表に、SpatialFeatureUnionクラスの主なメソッドを示します。

メソッド 説明
fit すべてのトランスフォーマのfitメソッドをコールします。
transform 各トランスフォーマのtransformメソッドをコールし、結果を連結します。
fit_transform すべてのトランスフォーマに適合し、データを変換して結果を連結します。

詳細は、「Oracle Spatial AI Python APIリファレンス」SpatialFeatureUnionクラスを参照してください。

次の例では、block_groups SpatialDataFrameおよびSpatialFeatureUnionを使用して、2つのトランスフォーマからの出力を連結します。 1つ目はscikit-learnSimpleImputerで、2つ目はSpatialLagTransformerです。 データセットにはジオメトリを除く3つの列があるため、最終結果には6つの列が含まれます。

from oraclesai.pipeline import SpatialFeatureUnion
from oraclesai.weights import KNNWeightsDefinition
from oraclesai.preprocessing import SpatialLagTransformer
from sklearn.impute import SimpleImputer
 
# Define training variables
X = block_groups[['MEAN_AGE', 'HOUSE_VALUE', "MEDIAN_INCOME", "geometry"]]
 
# Print X
print("=========================== X =================================")
print(X.get_values()[:5,:])
 
# Define spatial weights
weights_definition = KNNWeightsDefinition(k=5)
 
# Define a Spatial Lag Transformer
spatial_lag_transformer = SpatialLagTransformer(spatial_weights_definition=weights_definition)
 
# Use SpatialFeatureUnion to concatenate the output from all the transformers
slag_feature_union = SpatialFeatureUnion([("imputer", SimpleImputer()),
                                          ("spatial_lag", spatial_lag_transformer)])
 
# Print the final result
print("\n=================== X transformed ============================")
print(slag_feature_union.fit_transform(X)[:5, :])

変換されたデータの最初の3つの列はSpatialImputerからの出力を表し、他の3つはSpatialLagTransformerからの出力を表します。

=========================== X =================================
[[4.75847626e+01 4.56300000e+05 5.38280000e+04]
 [3.88231812e+01 8.36300000e+05 6.07240000e+04]
 [4.78076096e+01 1.12630000e+06 8.25380000e+04]
 [4.65636330e+01 9.60400000e+05 1.43661000e+05]
 [5.11550865e+01 1.01090000e+06 1.23977000e+05]]

=================== X transformed ============================
[[4.75847626e+01 4.56300000e+05 5.38280000e+04 4.03809292e+01
  6.23460000e+05 7.92068000e+04]
 [3.88231812e+01 8.36300000e+05 6.07240000e+04 3.95882790e+01
  8.20100000e+05 9.82008000e+04]
 [4.78076096e+01 1.12630000e+06 8.25380000e+04 4.69466225e+01
  1.22280000e+06 1.14899600e+05]
 [4.65636330e+01 9.60400000e+05 1.43661000e+05 4.25439751e+01
  1.04664000e+06 1.16867800e+05]
 [5.11550865e+01 1.01090000e+06 1.23977000e+05 4.43390564e+01
  1.14368000e+06 1.45833400e+05]]