我有gensim Word2Vec实现为我计算一些单词嵌入.据我所知,一切都非常奇妙; 现在我正在聚集创建的单词vector,希望得到一些语义分组.
下一步,我想看一下每个集群中包含的单词(而不是向量).即如果我有嵌入的向量[x, y, z],我想找出这个向量代表的实际单词.我可以通过调用model.vocab和单词向量来获得单词/ Vocab项目model.syn0.但我找不到这些明确匹配的位置.
这比我想象的要复杂得多,我觉得我可能会错过这种明显的做法.任何帮助表示赞赏!
将单词与嵌入向量相匹配Word2Vec ()- 如何进行?
在创建模型(下面的代码*)之后,我现在想要将分配给每个单词的索引(在build_vocab()阶段期间)与输出的向量矩阵相匹配model.syn0.从而
for i in range (0, newmod.syn0.shape[0]): #iterate over all words in model
print i
word= [k for k in newmod.vocab if newmod.vocab[k].__dict__['index']==i] #get the word out of the internal dicationary by its index
wordvector= newmod.syn0[i] #get the vector with the corresponding index
print wordvector == newmod[word] #testing: compare result of looking up …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Emacs*中创建一个降价文档.
它确实突出了语法等,并进入Markdown模式(我不太确定我是否安装了该软件包或是否是标准问题)..
当我尝试创建预览(通过C-c C-c p或GUI)时,它返回此错误代码:
降价失败,退出代码为127
这个错误告诉我什么?有没有办法获得更完整的错误消息?
markdown-mode 的文档表明它调用了我已经安装的外部库,例如pandoc.根据这些 SO问题,pandoc可以返回此错误代码,但我无法确定其含义.
我该如何解决这个/我应该去哪些文档?
我对Emacs很新,所以一切都会有所帮助.谢谢!
*Mac上的Emacs 25.3.1版(Sierra 10.12.6)
我在Python中创建了一些带有字数的numpy数组:行是文档,列是字X的计数.如果我有很多零计数,人们建议在进一步处理这些时使用稀疏矩阵,例如在分类器中.当将一个numpy数组与一个稀疏矩阵输入到Scikit 逻辑回归分类器中时,它似乎并没有太大的区别.所以我想知道三件事:
维基百科说
稀疏矩阵是大多数元素为零的矩阵
这是确定何时使用稀疏矩阵格式的合适方法 - 只要> 50%的值为零?或者使用以防万一是有意义的吗?
任何帮助深表感谢!
我正在用 Python 做一些时间计算。
其中一部分是试图:
给定一个日期,加上时间间隔(X 年,X 个月,X 周),返回日期
IE
我查看了 datetime 和datetime.timedelta 文档
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, week=0)¶。
如果我想增加一定数量的小时数或周数,这些似乎效果很好。然而,
例如
start = datetime.datetime(2000, 1, 1)
# expected output: datetime.datetime(2001, 1, 1)
# with the weeks, etc arguments given in timedelta, this fails unsurprisingly e.g
start + datetime.timedelta(weeks = 52)
# returns datetime.datetime(2000, 12, 30, 0, 0)
Run Code Online (Sandbox Code Playgroud)
使用 datetime 的基本工具是否可以进行基于年份的操作 - 如果可以,我将如何进行?
我意识到对于年份示例,我可以只做 …
我正在设置一个Shiny应用程序,允许用户下载自定义数据集.在本教程之后,我按照文档中给出的示例设置了downloadHandler(在此处转载,因为如果我复制并粘贴它,会发生同样的事情).
ui <- fluidPage(
downloadLink("downloadData", "Download")
)
server <- function(input, output) {
# Our dataset
data <- mtcars
output$downloadData <- downloadHandler(
filename = function() {
paste("data-", Sys.Date(), ".csv", sep="")
},
content = function(file) {
write.csv(data, file)
}
)
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
问题:
这个问题只出现在我的Linux*系统上,似乎在Mac上运行得很好.下载和一切工作正常,但"保存"GUI不提供正确的文件名.没有错误消息或警告.根据我的意见,
我希望它能给我数据TIME.csv,即输入到filename.(如果我在那个插槽中给它简单的字符串,它也不起作用).
但它提供了我下载数据或我给output变量的任何名称(参见截图).
题:
这是我怀疑的操作系统问题,还是我做错了什么?
我该如何解决?我可以在任何系统上使用它吗?
谢谢!
我正在运行基本的OS 0.4 Loki,基于"Ubuntu 16.04.2 LTS",GTK版本:3.18.9.&RStudio 1.0.143
我在Go中拆分文件名来获取文件扩展名(例如import ("strings") ; strings.Split("example.txt", ".")).出于这个原因,我想返回拆分返回的切片中的最后一项,即
对于strings.Split("ex.txt","."),我想要txt
这个问题表明这样做
strings.Split("ex.txt", ".")[len(strings.Split("ex.txt", ".")) - 1]
Run Code Online (Sandbox Code Playgroud)
是获得它的唯一方法.也就是说,-1Python中没有.这对我来说似乎很浪费,因为我觉得我们正在进行两次相同的分裂操作.
Split变量,还是只做上述操作?谢谢!
我正在使用 Py 3.6 中的用户输入编写脚本。
在脚本中,用户被要求在 shell 中输入一个文本部分——可能包含新行。然后输入的文本将保存到 Python 变量中以供进一步处理。
由于用户输入可能包含换行符,我想我不能使用input()但正在使用sys.stdin.read()(如建议here)。
读入输入工作正常,但要结束用户输入,用户必须按下 Return 键,然后使用组合键CTRL + d(请参阅此处)。(请参阅下面的当前程序)
sys.stdin.read通过按回车键来结束他们的输入(参见下面的预期程序)编辑:对当前过程的任何其他简化CTRL + d也表示赞赏。
这是可行的吗?
这里有一些技巧,但我想也许有更好的方法
# display text on screen
print("Review this text\n" + text)
# user will copy and paste relevant items from text displayed into Terminal
user_input = sys.stdin.read()
print ("hit ctrl + d to continue")
# …Run Code Online (Sandbox Code Playgroud) 我正在设置一个Argparse解析器来通过shell读取一些用户输入.输入将用于从包含字符串和数字的pandas DataFrame中提取数据.我想type=在Argparse中自动设置参数.add_argument()以匹配相应列的数据类型.
我的想法是设置像这样的Argparse参数,其中inputdata是DataFrame:
for c in inputdata.columns:
inputname= c
inputtype= np.dtype(inputdata[c])
parser.add_argument("--"+inputname, type=inputtype)
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用:Python提出了一个ValueError: dtype('int64') is not callable.我想这是因为我没有给它Numpy文件类型喂它; 如果我将inputtype设置为float,则全部按计划进行.如果我手动输入type=np.int64,Argparse也没有问题.
我怎样才能让它接受我的DataFrame中的文件类型,即上面显示的循环中的int64和object?我在这里尝试了一些选项,例如dtype.type但没有任何效果.
或者这是不可能的?Argparse 文档仅说明了这一点
常见的内置类型和函数可以直接用作类型参数的值
但正如我上面所说,如果明确放入,numpy数据类型似乎很好.
谢谢你的帮助!
我正在尝试使用 xml 模块将.kml文件解析为 Python(在我用于 HTML 的 BeautifulSoup 中失败后)。
由于这是我第一次这样做,我遵循了官方教程并且一切顺利,直到我尝试构建一个迭代器来通过根迭代提取我的数据:
from lxml import etree
tree=etree.parse('kmlfile')
Run Code Online (Sandbox Code Playgroud)
这是我试图模仿的教程中的示例:
如果你知道你只对一个标签感兴趣,你可以将它的名称传递给 getiterator() 让它为你过滤:
Run Code Online (Sandbox Code Playgroud)for element in root.getiterator("child"): print element.tag, '-', element.text
我想获取“地标”下的所有数据,所以我尝试了
for i in tree.getiterterator("Placemark"):
print i, type(i)
Run Code Online (Sandbox Code Playgroud)
这没有给我任何东西。什么工作是:
for i in tree.getiterterator("{http://www.opengis.net/kml/2.2}Placemark"):
print i, type(i)
Run Code Online (Sandbox Code Playgroud)
我不明白这是怎么回事。www.opengis.net 列在文档开头的标签中(kml xmlns="http://www.opengis.net/kml/2.2"...),但我不明白
{} 中的部分与我的具体示例有什么关系
为什么它与教程不同
任何帮助深表感谢!
我正在处理一个 R 绘图,该绘图将被我正在创建的垂直线分成两部分abline()。我希望该 abline 仅在一侧越过我的绘图边界。
我发现这篇关于设置par(xpd=) 的有用帖子。但是,我无法弄清楚如何使用此命令使线条仅在一侧越过绘图边框,如下面的屏幕截图所示。
有没有办法在基础 R 中做到这一点?(或者我是否必须在 ggplot 等中重建整个内容?)
我觉得关键可能是、 等之间的差异figure region,
device region但无法真正确定它们之间的差异。我查看了这个
来源,
但至少对于我的情节来说,这些设置似乎是一样的——如果有人在这里也能得到一些帮助,那就太酷了!
这是我的方法:
plot(100, 100)
par(xpd=TRUE)
abline(v=70, lty=3)
Run Code Online (Sandbox Code Playgroud)
我得到/想要的:
任何帮助表示赞赏!
python ×6
numpy ×2
r ×2
user-input ×2
argparse ×1
datetime ×1
download ×1
emacs ×1
gensim ×1
go ×1
linux ×1
lxml ×1
markdown ×1
matrix ×1
pandas ×1
pandoc ×1
par ×1
plot ×1
preview ×1
scikit-learn ×1
scipy ×1
shiny ×1
slice ×1
split ×1
stdin ×1
sys ×1
timedelta ×1
vector ×1
word2vec ×1
xml ×1
xpath ×1