SQL数据库集成#

featuretools_sql是一个附加库,支持从关系数据库自动创建EntitySet。目前,featuretools_sql与以下系统兼容:

  • MySQL

  • PostgreSQL

  • Snowflake

featuretools_sql库提供的DBConnector对象用于连接到数据库管理系统。

安装featuretools_sql#

使用pip安装

-m pip install "featuretools[sql]"

连接到您的数据库实例#

根据您选择的数据库管理系统(DBMS),您可能需要向 DBConnector 对象提供不同的信息片段。如果您想连接到一个 MySQL 实例,您必须将字符串 "mysql" 传递给 system_name 参数。如果您想连接到一个 PostgreSQL 实例,您必须将字符串 "postgresql" 传递给 system_name 参数。如果您想连接到一个 Snowflake 实例,您必须将字符串 "snowflake" 传递给 system_name 参数。以下是连接到 PostgreSQL 数据库的对象构造函数的示例调用:

从featuretools_sql.connector中导入DBConnector

connector_object = DBConnector(
    system_name="postgresql",
    user="postgres",
    host="localhost",
    port="5432",
    database="postgres",
    schema="public",
)

请注意,选择关系型数据库管理系统会影响所需的参数 – 例如,如果您要连接到一个MySQL实例,就不需要schema参数。

转换为实体集#

您可以调用get_entityset方法来指示DBConnector对象构建一个EntitySet。该方法将循环遍历数据库中的所有表,并将它们复制到数据框中。然后,它将填充关系数据结构。最后,它将这两个参数传递到Featuretools中的EntitySet构造函数中,并返回该对象。

python es = connector_object.get_entityset()可选地,如果您只想包含数据库中的部分表,可以将表名传递给select_only参数。python es = connector_object.get_entityset(select_only=["Products", "Transactions"])

检查EntitySet的成员数据#

您可以检查DBConnector对象的成员数据,以确保它正确导入了数据。要访问它导入的数据框,可以访问.dataframes属性。要访问关系数据结构,请访问.relationships属性。如果您想将EntitySet可视化为图形,可以调用es.plot()

调用DFSEntitySet对象已准备好传递到Featuretools的DFS算法中!在这里阅读有关DFS的更多信息。#