我最近遇到了Gensim的doc2vec.如何使用doc2vec预训练的单词向量(例如在word2vec原始网站中找到)?
或者是doc2vec从用于段落矢量训练的相同句子中获取单词向量?
谢谢.
我用插入符号构建了一个模型.培训结束后,我收到以下警告:
警告消息:在train.default(x,y,weights = w,...)中:至少有一个类级别不是有效的R变量名称; 如果生成类概率,这可能会导致错误,因为变量名称将转换为:X0,X1
变量的名称是:
str(train)
'data.frame': 7395 obs. of 30 variables:
$ alchemy_category : Factor w/ 13 levels "arts_entertainment",..: 2 8 6 6 11 6 1 6 3 8 ...
$ alchemy_category_score : num 3737 2052 4801 3816 3179 ...
$ avglinksize : num 2.06 3.68 2.38 1.54 2.68 ...
$ commonlinkratio_1 : num 0.676 0.508 0.562 0.4 0.5 ...
$ commonlinkratio_2 : num 0.206 0.289 0.322 0.1 0.222 ...
$ commonlinkratio_3 : num 0.0471 0.2139 0.1202 0.0167 …Run Code Online (Sandbox Code Playgroud) 我知道有人再问过类似的问题.但是,我已经尝试了我在这里和谷歌上找到的所有东西,似乎没有什么对我有用.
我的代码如下:
reqURL <- "http://api.twitter.com/oauth/request_token"
accessURL <- "http://api.twitter.com/oauth/access_token"
authURL <- "http://api.twitter.com/oauth/authorize"
consumerKey <- "xxxxxxxxxxx"
consumerSecret <- "xxxxxxxxxxxxxxxxxxx"
twitCred <- OAuthFactory$new(consumerKey=consumerKey,
consumerSecret=consumerSecret,
requestURL=reqURL,
accessURL=accessURL,
authURL=authURL)
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
registerTwitterOAuth(twitCred)
Run Code Online (Sandbox Code Playgroud)
我得到:
[1] TRUE
但如果我试试这个:
tweets = searchTwitter('blabla', n=1500)
我收到以下错误:
[1] "SSL certificate problem, verify that the CA cert is OK. Details:\nerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed"
Error in twInterfaceObj$doAPICall(cmd, params, "GET", ...) :
Error: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
以下是我的PC上的软件包和版本: …
我有一个pandas数据帧,我想计算列的滚动平均值(在groupby子句之后).但是,我想排除NaN.
例如,如果groupby返回[2,NaN,1],则结果应为1.5,而当前它返回NaN.
我尝试了以下但它似乎不起作用:
df.groupby(by=['var1'])['value'].apply(pd.rolling_apply, 3, lambda x: np.mean([i for i in x if i is not np.nan and i!='NaN']))
Run Code Online (Sandbox Code Playgroud)
如果我试试这个:
df.groupby(by=['var1'])['value'].apply(pd.rolling_apply, 3, lambda x: 1)
Run Code Online (Sandbox Code Playgroud)
我在输出中得到了NaN,所以它必须与pandas在后台运行的方式有关.
有任何想法吗?
编辑:这是我正在尝试做的代码示例:
import pandas as pd
import numpy as np
df = pd.DataFrame({'var1' : ['a', 'b', 'a', 'b', 'a', 'b', 'a', 'b'], 'value' : [1, 2, 3, np.nan, 2, 3, 4, 1] })
print df.groupby(by=['var1'])['value'].apply(pd.rolling_apply, 2, lambda x: np.mean([i for i in x if i is not np.nan and i!='NaN']))
Run Code Online (Sandbox Code Playgroud)
结果是:
0 NaN
1 …Run Code Online (Sandbox Code Playgroud) 我对python完全陌生。我使用了一些在线找到的代码,并尝试对其进行处理。所以我正在创建一个文本文档矩阵,我想在训练逻辑回归模型之前添加一些额外的功能。
虽然我已经用 R 检查了我的数据并且我没有得到任何错误,但是当我运行逻辑回归时,我得到了错误“ValueError: Array contains NaN or infinity”。当我不添加自己的功能时,我不会遇到同样的错误。我的功能在文件“toPython.txt”中。
注意对assert_all_finite函数的两次调用返回“None”!
下面是我使用的代码和我得到的输出:
def _assert_all_finite(X):
if X.dtype.char in np.typecodes['AllFloat'] and not np.isfinite(X.sum()) and not np.isfinite(X).all():
raise ValueError("Array contains NaN or infinity.")
def assert_all_finite(X):
_assert_all_finite(X.data if sparse.issparse(X) else X)
def main():
print "loading data.."
traindata = list(np.array(p.read_table('data/train.tsv'))[:,2])
testdata = list(np.array(p.read_table('data/test.tsv'))[:,2])
y = np.array(p.read_table('data/train.tsv'))[:,-1]
tfv = TfidfVectorizer(min_df=12, max_features=None, strip_accents='unicode',
analyzer='word',stop_words='english', lowercase=True,
token_pattern=r'\w{1,}',ngram_range=(1, 1), use_idf=1,smooth_idf=1,sublinear_tf=1)
rd = lm.LogisticRegression(penalty='l2', dual=True, tol=0.0001,
C=1, fit_intercept=True, intercept_scaling=1.0,
class_weight=None, random_state=None)
X_all = traindata + testdata
lentrain …Run Code Online (Sandbox Code Playgroud) 我有一个DataFrame如下:
VID value
1 1 xx
2 2 xx1
3 2 xx2
4 2 xx3
5 2 xx4
6 3 xx
7 3 xx
8 3 xx
9 4 zz1
10 4 zz2
11 4 zz3
12 4 zz4
13 4 zz5
Run Code Online (Sandbox Code Playgroud)
我想只保留VID存在的行超过n = 3种情况.在上述例子中,我只保留行2-5和9-13(因为只有VID的2和4出现3次以上)."价值"字段无关紧要.
保留所需的行后,我想将我的数据转换为列表列表,同时在每个列的末尾附加一个"结束"值:
[[xx1, xx2, xx3, xx4, 'end'], [zz1, zz2, zz3, zz4, zz5, 'end']]
Run Code Online (Sandbox Code Playgroud)
是否有可能在没有for循环的情况下获得上述内容?
我用lasagne/nolearn训练了一个自动编码器.假设网络层是[500,100,100,500].我像这样训练了神经网络:
net.fit(X, X)
Run Code Online (Sandbox Code Playgroud)
我想做类似以下的事情:
net.predict(X, layer=2)
Run Code Online (Sandbox Code Playgroud)
所以我会得到我的数据的抑制表示.因此,如果我的初始数据的形状为[10000,500],则结果数据将为[10000,100].
我搜索但无法找到如何做到这一点.是不是可以用千层面/ nolearn?
我们已经建立了一个系统来分析一些数据并以简单的英语输出一些结果(即没有图表等)。当前的实现依赖于大量模板和一些随机化,以便为文本提供尽可能多的多样性。
我们想切换到更高级的东西,希望生成的文本不那么重复,听起来不那么机械化。我在谷歌上搜索了很多,但我找不到具体的东西开始。有任何想法吗?
编辑:馈送到 NLG 机制的数据采用 JSON 格式。这是一个关于网络分析数据的示例。json 文件可能包含例如一个指标(例如访问量)、它在过去 X 天的值、最后一个值是否是预期的以及哪些维度(例如国家或营销渠道)影响了它的变化。
当前的实现可以给出这样的东西:
主要来自 ABC 电子邮件活动的英国总体访问量达到 10K(+20% DoD),比预期值高 10%。用户主要登陆 XXX 页面,而跨设备的增长是一致的。
我们正在寻找一种方法来减少对模板的依赖,听起来更自然并增加词汇量。
我使用函数式 API 构建了一个 Keras 模型,并使用函数创建了第二个模型model_from_json()。我想看看两个模型的模型层(不是权重)是否完全相同。
如何比较两个 Keras 模型?
编辑
根据下面的评论,我可以比较每一层。像下面这样的东西是否有意义:
for l1, l2 in zip(mdl.layers, mdl2.layers):
print (l1.get_config() == l2.get_config())
Run Code Online (Sandbox Code Playgroud)