开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

机器学习PAI node表的属性名称必须要是id,feature吗?

机器学习PAI node表的属性名称必须要是id,feature吗?
gl.Graph().node() 能直接传odps表吗?

展开
收起
真的很搞笑 2023-10-22 18:29:30 81 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    是的,机器学习PAI的node表的属性名称必须是id和feature。这是因为在机器学习PAI中,node表用于表示数据集中的样本,而id和feature是样本的两个主要属性。
    至于gl.Graph().node()方法是否可以直接传ODPS表,答案是肯定的。你可以使用gl.Graph().node()方法的data参数来传入ODPS表。
    以下是一些可能的步骤:

    1. 创建一个ODPS表。在使用gl.Graph().node()方法之前,你需要创建一个ODPS表。你可以使用ODPS的SQL语句来创建ODPS表。
    2. 创建一个gl.Graph().node()对象。在创建ODPS表后,你可以创建一个gl.Graph().node()对象。你需要提供正确的gl.Graph().node()对象信息,例如gl.Graph().node()对象的名称、类型、属性等。
    3. 将ODPS表传入gl.Graph().node()对象。在创建gl.Graph().node()对象后,你可以将ODPS表传入gl.Graph().node()对象。你需要使用gl.Graph().node()对象的data参数来传入ODPS表。
    2023-10-23 13:56:25
    赞同 展开评论 打赏
  • 属性名称没有要求,此回答整理自钉群“【EasyRec】推荐算法交流群”

    2023-10-23 08:05:43
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    阿里云机器学习PAI的gl.Graph().node()方法不能直接传递ODPS表。该方法用于创建图节点,需要传入一个包含节点特征的DataFrame对象作为参数。

    如果你想使用ODPS表作为节点特征,你需要先将ODPS表数据导出到本地文件或数据库中,然后使用相应的数据处理工具(如Pandas)将数据转换为DataFrame对象,再传递给gl.Graph().node()方法。

    以下是一个示例代码,展示了如何使用gl.Graph().node()方法并传递DataFrame对象作为节点特征:

    import aliyunsdkcore
    from aliyunsdkodps.request.v20160801 import DescribeTableRequest, GetRecordsRequest, OdpsClient
    from aliyunsdkcore.client import AcsClient
    from gluonts.dataset.common import ListDataset
    from gluonts.model.deepar import DeepAREstimator
    from gluonts.trainer import Trainer
    from gluonts.evaluation import Evaluator
    
    # 初始化AcsClient和OdpsClient
    client = AcsClient('<your-access-key>', '<your-secret-key>', '<your-region-id>')
    odps_client = client.create_odps_client('<your-end-point>')
    
    # 获取ODPS表描述信息
    table_name = '<your-odps-table>'
    describe_table_request = DescribeTableRequest.DescribeTableRequest()
    describe_table_request.set_table_name(table_name)
    response = odps_client.describe_table(describe_table_request)
    table_schema = response.get_table_schema()
    
    # 从ODPS表中读取数据并转换为DataFrame对象
    records = []
    for column in table_schema:
        get_records_request = GetRecordsRequest.GetRecordsRequest()
        get_records_request.set_table_name(table_name)
        records += odps_client.get_records(get_records_request).get_records()
    dataframe = pd.DataFrame(records)
    
    # 创建图节点并设置节点特征为DataFrame对象
    graph = gluonts.dataset.common.ListDataset([dataframe])[0]
    node = gluonts.model.deepar.DeepAREstimator(freq='1H')
    node.predictor_names = ['col1', 'col2']  # 根据实际列名进行修改
    graph.nodes.append(node)
    

    请注意,上述示例代码中的<your-access-key><your-secret-key><your-region-id><your-end-point><your-odps-table>需要替换为你自己的阿里云访问密钥、密钥、区域ID、终端点和ODPS表名称。

    2023-10-22 19:01:58
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    大规模机器学习在蚂蚁+阿里的应用 立即下载
    阿里巴巴机器学习平台AI 立即下载
    微博机器学习平台架构和实践 立即下载