我正在尝试构建一个文档检索模型,该模型返回按查询或搜索字符串的相关性排序的大多数文档.为此,我使用gensim中的模型训练了一个doc2vec模型Doc2Vec
.我的数据集采用pandas数据集的形式,每个文档都将每个文档存储为字符串.这是我到目前为止的代码
import gensim, re
import pandas as pd
# TOKENIZER
def tokenizer(input_string):
return re.findall(r"[\w']+", input_string)
# IMPORT DATA
data = pd.read_csv('mp_1002_prepd.txt')
data.columns = ['merged']
data.loc[:, 'tokens'] = data.merged.apply(tokenizer)
sentences= []
for item_no, line in enumerate(data['tokens'].values.tolist()):
sentences.append(LabeledSentence(line,[item_no]))
# MODEL PARAMETERS
dm = 1 # 1 for distributed memory(default); 0 for dbow
cores = multiprocessing.cpu_count()
size = 300
context_window = 50
seed = 42
min_count = 1
alpha = 0.5
max_iter = 200
# BUILD MODEL
model = gensim.models.doc2vec.Doc2Vec(documents = …
Run Code Online (Sandbox Code Playgroud) 对于一组数据帧
val df1 = sc.parallelize(1 to 4).map(i => (i,i*10)).toDF("id","x")
val df2 = sc.parallelize(1 to 4).map(i => (i,i*100)).toDF("id","y")
val df3 = sc.parallelize(1 to 4).map(i => (i,i*1000)).toDF("id","z")
Run Code Online (Sandbox Code Playgroud)
把他们所有人联合起来
df1.unionAll(df2).unionAll(df3)
Run Code Online (Sandbox Code Playgroud)
是否有更优雅和可扩展的方式为任意数量的数据帧执行此操作,例如
Seq(df1, df2, df3)
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的数据集
1908 January 5.0 -1.4
1908 February 7.3 1.9
1908 March 6.2 0.3
1908 April NaN 2.1
1908 May NaN 7.7
1908 June 17.7 8.7
1908 July NaN 11.0
1908 August 17.5 9.7
1908 September 16.3 8.4
1908 October 14.6 8.0
1908 November 9.6 3.4
1908 December 5.8 NaN
1909 January 5.0 0.1
1909 February 5.5 -0.3
1909 March 5.6 -0.3
1909 April 12.2 3.3
1909 May 14.7 4.8
1909 June 15.0 7.5
1909 July 17.3 10.8
1909 August 18.8 …
Run Code Online (Sandbox Code Playgroud) 我正在使用python,我想获得大型数据集的TFIDF表示,我使用以下代码将文档转换为TFIDF形式.
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vectorizer = TfidfVectorizer(
min_df=1, # min count for relevant vocabulary
max_features=4000, # maximum number of features
strip_accents='unicode', # replace all accented unicode char
# by their corresponding ASCII char
analyzer='word', # features made of words
token_pattern=r'\w{1,}', # tokenize only words of 4+ chars
ngram_range=(1, 1), # features made of a single tokens
use_idf=True, # enable inverse-document-frequency reweighting
smooth_idf=True, # prevents zero division for unseen words
sublinear_tf=False)
tfidf_df = tfidf_vectorizer.fit_transform(df['text'])
Run Code Online (Sandbox Code Playgroud)
在这里我传递一个参数max_features
.矢量化器将选择最佳特征并返回scipy稀疏矩阵.问题是我不知道哪些功能被选中,我如何将这些功能名称映射回我得到的scipy矩阵?基本上对于n
来自m …
是否可以在R Markdown中嵌入YouTube视频?到目前为止,我所拥有的是
<a href="http://www.youtube.com/watch?feature=player_embedded&v=Q8rakpF7duU
" target="_blank"><img src="http://img.youtube.com/vi/Q8rakpF7duU/0.jpg"
alt="IMAGE ALT TEXT HERE" width="240" height="180" border="10" /></a>
Run Code Online (Sandbox Code Playgroud)
但它只添加了一个图像.单击此图像将我带到我的浏览器,视频开始播放.有没有办法允许我在降价文档中播放视频?
参考文献:https: //github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#videos
在之前的一个问题中,我展示了(希望是正确的)f(n)= O(g(n))意味着具有充分条件的lg(f(n))= O(lg(g(n)))(例如,lg) (g(n))> = 1,f(n)> = 1,并且n)足够大.
现在,我需要证明OR反驳f(n)= O(g(n))暗示2 ^(f(n))= O(2 ^ g(n))).直观地说,这是有道理的,所以我想我可以在前一个定理的帮助下证明它.我注意到f(n)可以重写为lg(2 ^ f(n))而g(n)只是lg(2 ^ g(n)),这让我很兴奋...这是记录日志我希望证明的两边的基础2,它简化了很多事情!
但我很确定这不起作用.仅仅因为lg(2 ^ f(n))= O(lg(2 ^ g(n)))并不一定意味着2 ^ f(n)= O(2 ^ g(n))...那是向后的从前面的定理(说"暗示",而不是"当且仅当").
我是否需要以另一种方式尝试这种证据,或者我能否真正摆脱我所拥有的(至少作为首发)?
**说到其他方式,也许我可以争论如何将2增加到某个g(n),这个数字"高于"f(n)仍会保持更高?这几乎感觉像一个常识论点,但也许我错过了一些重要的东西..
**哦,哎呀!我忘了补充说f(n)和g(n)是渐近正的.通过我们的教科书定义,这意味着它们"对所有足够大的n都是正面的".
我最近开始使用tensorflow,并尝试了一些模拟数据的线性回归模型.我有以下代码,我正在训练两个变量w
和b
(我使用numpy随机初始化)使用 GradientDescentOptimizer
.模型完成训练后,我想查看这些变量,看看它们与实际值的接近程度.(我已经省略了代码的其他部分,因为它们与问题无关).因此,当会话退出时with tf.Session()...
,我打开默认会话sess = tf.Session()
并尝试使用sess.run(w)
但是我受到了欢迎Attempting to use uninitialized value train_weights
.这是预料之中的.所以我想使用sess.run(tf.global_variables_initializer())
但只是简单地初始化w
回到开始的值.所以问题是 - 如果变量在张量流会话中被更改后如何访问变量的最终值,因为会话已经关闭
_ = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(_)
for epoch in range(n_epochs):
for batch_pos in range(num_batches):
x_batch = X[batch_ind[batch_pos]:batch_ind[batch_pos+1]]
y_batch = Y[batch_ind[batch_pos]:batch_ind[batch_pos+1]]
sess.run(optimizer, feed_dict = {x_train_batch: x_batch,\
y_train_batch: y_batch})
cost_ = sess.run(cost, feed_dict = {x_train_batch: x_batch,\
y_train_batch: y_batch})
if (epoch)%display_rate == 0:
print('Epoch:', epoch+1, 'Cost: ', cost_)
sess = tf.Session()
# …
Run Code Online (Sandbox Code Playgroud) 我有多个pandas数据帧可能有不同的列数,这些列的数量通常从50到100不等.我需要创建一个最终列,它只是连接的所有列.基本上,列的第一行中的字符串应该是所有列的第一行上的字符串的总和(串联).我在下面写了循环,但我觉得可能有更好的方法来做到这一点.关于如何做到这一点的任何想法
num_columns = df.columns.shape[0]
col_names = df.columns.values.tolist()
df.loc[:, 'merged'] = ""
for each_col_ind in range(num_columns):
print('Concatenating', col_names[each_col_ind])
df.loc[:, 'merged'] = df.loc[:, 'merged'] + df[col_names[each_col_ind]]
Run Code Online (Sandbox Code Playgroud) 我有一个.tfrecords
Ubuntu Dialog Corpus 的文件.我试图读取整个数据集,以便我可以将上下文和话语分成批次.使用tf.parse_single_example
我能够阅读一个例子.我尝试使用,tf.parse_example
但我收到以下错误
ValueError: Shape must be rank 1 but is rank 0 for 'ParseExample/ParseExample' (op: 'ParseExample') with input shapes: [], [0], [], [], [], [], [], [0], [0], [0], [0], [0].
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做.我用来获取错误的代码 -
import tensorflow as tf
TRAIN_FILE_TFREC = 'data/train.tfrecords'
filename_queue = tf.train.string_input_producer([TRAIN_FILE_TFREC])
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filename_queue)
features = tf.parse_example(serialized_example,
features = {
"context" : tf.FixedLenFeature([160], tf.int64),
"context_len" : tf.FixedLenFeature([1], tf.int64),
"utterance" : tf.FixedLenFeature([80], tf.int64),
"utterance_len" : tf.FixedLenFeature([1], tf.int64), …
Run Code Online (Sandbox Code Playgroud) 我试图使用以下代码从R中的此链接读取数据,但我不断收到警告消息,并且数据帧不能正确读取数据.
url <- 'https://onlinecourses.science.psu.edu/stat501/sites/onlinecourses.science.psu.edu.stat501/files/data/leukemia_remission.txt'
df <- read.table(url, sep = '\t',header = F, skip = 2,quote='', comment='')
Run Code Online (Sandbox Code Playgroud)
你能告诉我需要改变什么才能读取数据
编辑
添加数据片段
REMISS CELL SMEAR INFIL LI BLAST TEMP
1 0.8 0.83 0.66 1.9 1.1 1
1 0.9 0.36 0.32 1.4 0.74 0.99
0 0.8 0.88 0.7 0.8 0.18 0.98
0 1 0.87 0.87 0.7 1.05 0.99
1 0.9 0.75 0.68 1.3 0.52 0.98
0 1 0.65 0.65 0.6 0.52 0.98
1 0.95 0.97 0.92 1 1.23 0.99
0 0.95 0.87 …
Run Code Online (Sandbox Code Playgroud) python ×6
nlp ×2
r ×2
scikit-learn ×2
tensorflow ×2
apache-spark ×1
big-o ×1
doc2vec ×1
gensim ×1
knn ×1
logarithm ×1
pandas ×1
proof ×1
r-markdown ×1
scala ×1
video ×1
youtube ×1