【问题标题】:How do you run an R script for ML in PowerBI?如何在 PowerBI 中为 ML 运行 R 脚本?
【发布时间】:2020-01-02 15:16:09
【问题描述】:

将用 R 编写的机器学习脚本(即线性回归、随机森林、k-means 等)部署到 PowerBI 的最佳方法是什么?

这是我目前的想法:我的响应列是 column_x。我的训练集将是我的数据集中的所有行,其中我有 column_x 的值。我的测试集将是我没有 column_x 值的所有行(因此需要来自 ML 脚本的预测值)。我会将 ML 脚本的输出放在 PowerBI 中的一个新列中(使用编辑查询选项),用于预测响应,称为 pred_column_x。不太清楚该怎么做。

修改/填写下面的示例脚本或如何映射的替代解决方案将非常有帮助!

谢谢!

data.df <- dataset in PowerBI

train.df <- dataset where column_x is not null??
test.df <- dataset where column_x is null??

#linear regression fit
fit <- lm(pred_column_x ~ column_a + column_b, data=train.df)
#need this fit/predicted value to go in pred_column_x
summary(fit)

【问题讨论】:

标签: r machine-learning tree powerbi linear-regression


【解决方案1】:

最近,我从事一项合同工作,其中源数据只能通过 PowerBI (PBI) 访问。目标是建立一个预测模型。我是 PBI 的新手。由于我使用 R 进行所有分析,因此我编写了一个脚本并将其应用于 PBI 中的数据。以下几点是你必须知道的;

  1. PBI 始终将其中包含的数据称为dataset。因此,将 R 脚本中出现的所有数据集更改为 dataset
  2. 在PBI界面,点击edit queries,然后选择你要使用的表,如图
  3. 然后单击Transform 选项卡并单击Run R scriptInsert step 上的消息将弹出,见截图。
  4. 点击Insert按钮。这将打开Run R script 编辑器窗口。注意,消息,# 'dataset' holds the input data for this script(这是我在第 1 点中提到的)。
  5. 在此框中添加您的R 代码并单击OK 按钮。代码将执行并给出结果。

注意事项

  1. 如果数据集大小巨大,建议对其进行抽样。然后在本地 R 环境中执行此示例的代码。这将确保脚本正常运行。
  2. 预测分析结果需要以数据框格式保存,否则 PBI 将不会显示结果。因此,这部分 R 代码 #linear regression fit fit <- lm(pred_column_x ~ column_a + column_b, data=train.df) 需要保存为数据框,例如 #linear regression fit fit <- data.frame(lm(pred_column_x ~ column_a + column_b, data=train.df))。显然,R 的 dataframe 在 PBI 中被解释为 table
  3. 分析结果如下所示, 您必须点击Table 才能查看结果。

免责声明

如果有人有更好的方法,请在 cmets 中提出建议。

【讨论】:

  • 这非常有用!谢谢你。另一个问题,如果我希望这些值位于现有数据集中的新列中,而不是在其自己的数据框中,该怎么办?我基本上想预测每一行的列值。我无法使用 dataset$value 运算符,因为列表的值比数据少(“替换有 500 行,数据有 800 行)谢谢!
  • @ava 问自己和你问过我一样的问题!如果您可以将预测添加为现有数据集中的新列,在本地 R 环境中,那么它也应该在 PBI 中工作......
猜你喜欢
  • 1970-01-01
  • 2012-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-02
相关资源
最近更新 更多