作为一个简化示例,我有一个数据框"df",其列为"col1,col2",我想在将函数应用于每列后计算行的最大值:
def f(x):
return (x+1)
max_udf=udf(lambda x,y: max(x,y), IntegerType())
f_udf=udf(f, IntegerType())
df2=df.withColumn("result", max_udf(f_udf(df.col1),f_udf(df.col2)))
Run Code Online (Sandbox Code Playgroud)
所以如果df:
col1 col2
1 2
3 0
Run Code Online (Sandbox Code Playgroud)
然后
DF2:
col1 col2 result
1 2 3
3 0 4
Run Code Online (Sandbox Code Playgroud)
以上似乎不起作用并产生"无法评估表达式:PythonUDF#f ......"
我绝对肯定"f_udf"在我的桌子上运行得很好,主要问题在于max_udf.
如果不创建额外的列或使用基本的map/reduce,有没有办法完全使用数据帧和udfs?我该如何修改"max_udf"?
我也尝试过:
max_udf=udf(max, IntegerType())
Run Code Online (Sandbox Code Playgroud)
这会产生相同的错误.
我还确认以下工作:
df2=(df.withColumn("temp1", f_udf(df.col1))
.withColumn("temp2", f_udf(df.col2))
df2=df2.withColumn("result", max_udf(df2.temp1,df2.temp2))
Run Code Online (Sandbox Code Playgroud)
为什么我不能一气呵成呢?
我希望看到一个可以概括为任何函数"f_udf"和"max_udf"的答案.
我有一个点的二维散点图,对应于图像.当你将鼠标悬停在每个点上时,我想知道是否有一种简单的方法来显示相应的图像(作为弹出窗口或工具提示)?我尝试了一下,但发现你需要手动编辑javascript才能让悬停事件发挥作用.是否只有matplotlib或其他常见软件包有一个简单的解决方案?
我正在使用这个LDA包用于R.特别是我正在尝试进行监督潜在的dirichlet分配(slda).在链接包中,有一个slda.em
功能.但令我困惑的是它要求alpha,eta和variance参数.据我了解,我认为这些参数在模型中是未知的.所以我的问题是,包的作者是否意味着这些是参数的初步猜测?如果是,似乎没有办法从运行结果中访问它们slda.em
.
除了编码算法中的额外EM步骤之外,是否有建议的方法来猜测这些参数的合理值?
在word2vec模型中,有两个线性变换,它们将词汇空间中的单词带到隐藏层("in"向量),然后返回到词汇空间("out"向量).通常这个out向量在训练后被丢弃.我想知道是否有一种简单的方法来访问gensim python中的out向量?同样,我如何访问out矩阵?
动机:我想实现最近这篇论文中提出的想法:文档排名的双嵌入空间模型
这里有更多细节.从上面的参考文献中我们得到以下word2vec模型:
这里,输入层的大小为$ V $,词汇量大小,隐藏层大小为$ d $,输出层大小为$ V $.两个矩阵是W_ {IN}和W_ {OUT}.通常,word2vec模型仅保留W_IN矩阵.这是返回的地方,在gensim中训练word2vec模型后,你会得到如下内容:
模型[ '土豆'] = [ - 0.2,0.5,2,...]
如何访问或保留W_ {OUT}?这可能在计算上非常昂贵,而且我真的希望在gensim中使用一些内置方法来执行此操作,因为我担心如果我从头开始编写代码,它就不会提供良好的性能.
为了举例,我有一个由2个图像组成的输入,总形状(2,299,299,3).我正在尝试在每个图像上应用inceptionv3,然后使用LSTM处理输出.我正在使用遮罩层来排除处理空白图像(在下面指定).
代码是:
import numpy as np
from keras import backend as K
from keras.models import Sequential,Model
from keras.layers import Convolution2D, MaxPooling2D, ZeroPadding2D, BatchNormalization, \
Input, GlobalAveragePooling2D, Masking,TimeDistributed, LSTM,Dense,Flatten,Reshape,Lambda, Concatenate
from keras.layers import Activation, Dropout, Flatten, Dense
from keras.applications import inception_v3
IMG_SIZE=(299,299,3)
def create_base():
base_model = inception_v3.InceptionV3(weights='imagenet', include_top=False)
x = GlobalAveragePooling2D()(base_model.output)
base_model=Model(base_model.input,x)
return base_model
base_model=create_base()
#Image mask to ignore images with pixel values of -1
IMAGE_MASK = -2*np.expand_dims(np.ones(IMG_SIZE),0)
final_input=Input((2,IMG_SIZE[0],IMG_SIZE[1],IMG_SIZE[2]))
final_model = Masking(mask_value = -2.)(final_input)
final_model = TimeDistributed(base_model)(final_model)
final_model = Lambda(lambda x: …
Run Code Online (Sandbox Code Playgroud) 假设我有一个单词的句子,其中每个单词(或字符)都有一个相关的数值或颜色.例如,这可能来自RNN情绪分类器,它将产生如下内容:
我正在寻找一种可视化Jupyter中使用python的句子中的单词/字符的轻量级方法.是否有一种优雅的方式在笔记本中内联?我在一个单独的html文件中主要看到这个用附加的javascript完成.请注意,我只使用静态可视化.我已经看到你可以改变每个字母的字体颜色,但我更喜欢只操纵背景颜色(填充?),同时保持文字黑色.我只是不确定这是指什么.
python visualization data-visualization deep-learning jupyter-notebook
在github中的jupyter笔记本上进行代码审查时,它仅显示生成笔记本的html代码。是否有任何扩展使github能够显示渲染的jupyter笔记本,以及对单元格进行注释以进行代码审查的功能?
因此,输出是表单中的框列表,(x1_i,y1_i,x2_i,y2_i)
指示左下角和右上角坐标。我想找到一个简单的、体面的基线算法来将这些框合并成行。所以期望的输出是:
["Hey how are you?" , "I'm great!"]
我见过一些与此类似的问题,但它们主要是关于直接(单向)文本,例如: 将附近的边界框合并为一个
我对此的想法是从每个盒子的质心计算向量,然后根据接近度和接近相同的方向进行盒子的合并。我想知道是否已经有这样的算法?我想尝试解决的极端情况是:
多角度的文字。
不重叠的盒子(比如[我][太棒了!]的盒子)。
以不同角度交叉文本(如上面的两行)。
我想找到一个使用 python 的快速简单的基线算法。
设A
大小矩阵[n,n]
.如果我想提取它的对角线,我会这样做diag(A)
.
实际上,我想要相反的对角线,这将是[A(n,1),A(n-1,2),A(n-2,3),...]
.
一种方法是通过diag(flipud(A))
.然而,flipud(A)
与找到通常的对角线相比,它相当浪费并且花费的时间增加了10倍.
我正在寻找一种快速获得对角线的方法.当然,for
循环看起来非常缓慢.建议将不胜感激.
出于比较的目的,假设我们有一个表"T",其中有两列"A","B".我们还在一些HDFS数据库中运行了一个hiveContext.我们制作一个数据框:
从理论上讲,以下哪项更快:
sqlContext.sql("SELECT A,SUM(B) FROM T GROUP BY A")
Run Code Online (Sandbox Code Playgroud)
要么
df.groupBy("A").sum("B")
Run Code Online (Sandbox Code Playgroud)
其中"df"是指向T的数据帧.对于这些简单类型的聚合操作,有没有理由为什么一个方法应该优先于另一个?
python ×4
apache-spark ×2
pyspark ×2
algorithm ×1
diagonal ×1
dirichlet ×1
gensim ×1
github ×1
hive ×1
keras ×1
matlab ×1
matplotlib ×1
matrix ×1
ocr ×1
performance ×1
r ×1
tensorflow ×1
text ×1