小编cha*_*der的帖子

如何将VectorAssembler输出中的特征映射回Spark ML中的列名?

我正在尝试在PySpark中运行线性回归,我想创建一个包含汇总统计信息的表,例如我的数据集中每列的系数,P值和t值.但是,为了训练线性回归模型,我必须使用Spark创建一个特征向量VectorAssembler,现在对于每一行我都有一个特征向量和目标列.当我尝试访问Spark的内置回归摘要统计信息时,它们会为每个统计信息提供一个非常原始的数字列表,并且无法知道哪个属性对应于哪个值,这很难通过手动计算出来大量的列.如何将这些值映射回列名?

例如,我的当前输出是这样的:

系数:[ - 187.807832407,-187.058926726,85.1716641376,10595.3352802,-127.258892837,-39.2827730493,-1206.47228704,33.7078197705,99.9956812528]

P值:[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.18589731365614548,0.275173571416679,0.0]

t统计量:[ - 23.348593508995318,-44.72813283953004,19.836508234714472,144.49248881747755,-16.547272230754242,-9.560681351483941,-19.563547400189073,1.3232383890822680,1.0912415361190977,20.383256127350474]

系数标准误差:[8.043646497811427,4.182131353367049,4.293682291754585,73.32793120907755,7.690626652102948,4.108783841348964,61.669402913526625,25.481445101737247,91.63478289909655,609.7007361468519]

除非我知道它们对应哪个属性,否则这些数字毫无意义.但在我看来,DataFrame我只有一个名为"features"的列,其中包含稀疏向量行.

当我有一个热编码特征时,这是一个更大的问题,因为如果我有一个长度为n的编码变量,我会得到n个相应的系数/ p值/ t值等.

python machine-learning apache-spark pyspark apache-spark-ml

18
推荐指数
2
解决办法
6986
查看次数

如何在AWS集群上运行TensorFlow?

我正在尝试在EMR/EC2集群上运行分布式tensorflow,但我不知道如何在集群中指定不同的实例来运行部分代码.

在文档中,他们习惯于tf.device("/gpu:0")指定一个gpu.但是如果我在EMR集群中运行主CPU和5个不同的从GPU实例并且我想指定那些GPU来运行某些代码呢?我无法输入tf.device()实例的公有DNS名称,因为它会抛出一个错误,说明名称无法解析.

python amazon-ec2 amazon-web-services tensorflow

9
推荐指数
1
解决办法
1133
查看次数

更新 Postgresql 数据库中约 1 亿行的最有效方法?

我有一个只有一张表的数据库。该表需要每隔几周更新一次。我们需要将第三方数据引入其中,它将包含 100-1.2 亿行。所以流程基本上是:

  1. 从源头获取原始数据
  2. 检测插入、更新和删除
  3. 进行更新并摄取到数据库中

检测和执行更新的最佳方法是什么?一些选项是:

  1. 将传入数据与当前数据库一一比较并进行单次更新。这看起来很慢而且不可行。
  2. 将传入数据提取到新表中,然后用新表替换旧表
  3. 在当前表中就地批量更新。不知道该怎么做。

您认为最好的选择是什么,或者是否有其他选择?

sql database postgresql crud bigdata

1
推荐指数
1
解决办法
1万
查看次数