機械翻訳について

空間列トランスフォーマ

SpatialColumnTransformerは、複数のトランスフォーマと空間情報を共有し、異なる列に変換を適用して結果を連結します。

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

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

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

次の例では、block_groups SpatialDataFrameおよびSpatialColumnTransformerを使用して、2つの異なるトランスフォーマからの出力を連結します。 1つ目はscikit-learnSimpleImputerで、2つ目はHOUSE_VALUE列およびMEDIAN_INCOME列に適用されるSpatialLagTransformerです。 最終結果には5つの列が含まれます。

from oraclesai.pipeline import SpatialColumnTransformer
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 SpatialColumnTransformer to concatenate column subsets
slag_column_transformer = SpatialColumnTransformer([
    ("imputer", SimpleImputer(), ["MEAN_AGE", "HOUSE_VALUE", "MEDIAN_INCOME"]),
    ("spatial_lag", spatial_lag_transformer, ["HOUSE_VALUE",  "MEDIAN_INCOME"])])
 
# Print the final result
print("\n=================== X transformed ============================")
print(slag_column_transformer.fit_transform(X)[:5, :])

変換されたデータの最初の3つの列は最初のトランスフォーマの出力を表し、他の2つの列は2番目のトランスフォーマの出力を表します。

=========================== 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 6.23460000e+05
  7.92068000e+04]
 [3.88231812e+01 8.36300000e+05 6.07240000e+04 8.20100000e+05
  9.82008000e+04]
 [4.78076096e+01 1.12630000e+06 8.25380000e+04 1.22280000e+06
  1.14899600e+05]
 [4.65636330e+01 9.60400000e+05 1.43661000e+05 1.04664000e+06
  1.16867800e+05]
 [5.11550865e+01 1.01090000e+06 1.23977000e+05 1.14368000e+06
  1.45833400e+05]]