Skip to content

Exploit a hierarchical multi-table schema for sklearn API #400

@marcboulle

Description

@marcboulle

Description

La spécification actuelle (10.3.1) des datasets pour l'API sklearn est basée sur un schéma entité-relation, proche de celui utilisé par l'outil FeatureTools.

X = {
    "main_table": "Accidents",
    "tables": {
        "Accidents": (accidents_df.drop("Gravity", axis=1), "AccidentId"),
        "Vehicles": (vehicles_df, ["AccidentId", "VehicleId"]),
        "Users": (users_df, ["AccidentId", "VehicleId"]),
        "Places": (places_df, "AccidentId"),
    },
    "relations": [
        ("Accidents", "Vehicles"),
        ("Vehicles", "Users"),
        ("Accidents", "Places", True),
    ],
}

Il s'agit de passer à un schéma hiérarchique, qui est celui des dictionnaires multi-table de Khiops.

      X = {
          "main_table": (accidents_df,  ["AccidentId"]),
          "additional_data_tables": {
              "Vehicles": (vehicles_df, ["AccidentId", "VehicleId"]),
              "Vehicles/Users": (users_df, ["AccidentId", "VehicleId"]),
              "Place": (places_df, ["AccidentId"], True),
          }
      }

Cela présente les avantages suivants:

  • conformité au modèle de donnée des dictionnaires Khiops
  • simplicité accrue
  • transition facilitée de l'API sklearn vers l'API core

Questions/Ideas

Prévoir un chemin de déprécation, en acceptant l'ancienne spécification avec un warning

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority/0-HighTo do nowSize/DaysSome days of workStatus/ReadyForDevThe issue is ready to be developed or to be investigated deeply

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions