我是PySpark的新手.我正在玩tfidf.只是想检查一下他们是否给出了相同的结果.但他们不一样.这就是我做的.
# create the PySpark dataframe
sentenceData = sqlContext.createDataFrame((
(0.0, "Hi I heard about Spark"),
(0.0, "I wish Java could use case classes"),
(1.0, "Logistic regression models are neat")
)).toDF("label", "sentence")
# tokenize
tokenizer = Tokenizer().setInputCol("sentence").setOutputCol("words")
wordsData = tokenizer.transform(sentenceData)
# vectorize
vectorizer = CountVectorizer(inputCol='words', outputCol='vectorizer').fit(wordsData)
wordsData = vectorizer.transform(wordsData)
# calculate scores
idf = IDF(inputCol="vectorizer", outputCol="tfidf_features")
idf_model = idf.fit(wordsData)
wordsData = idf_model.transform(wordsData)
# dense the current response variable
def to_dense(in_vec):
return DenseVector(in_vec.toArray())
to_dense_udf = udf(lambda x: to_dense(x), VectorUDT())
# create dense …Run Code Online (Sandbox Code Playgroud) 当我意识到dtypes参数的鲜为人知的行为时,我只是在弄乱numpy数组。
似乎随着输入的变化而变化。例如,
t = np.array([2, 2])
t.dtype
Run Code Online (Sandbox Code Playgroud)
给 dtype('int32')
然而,
t = np.array([2, 22222222222])
t.dtype
Run Code Online (Sandbox Code Playgroud)
给 dtype('int64')
所以,我的第一个问题是:这是如何计算的?它是否使数据类型适合于最大元素作为所有元素的数据类型?如果是这样,您是否不认为它需要更多空间,因为它不必要地存储多余的内存来将2作为64位整数存储在第二个数组中?
再说一次,如果我想更改array([2, 2])like 的第零个元素
t = np.array([2, 2])
t[0] = 222222222222222
Run Code Online (Sandbox Code Playgroud)
我懂了OverflowError: Python int too large to convert to C long。
我的第二个问题是:如果更改特定值,为什么它不支持创建数组时的逻辑?为什么不重新计算和重新评估?
任何帮助表示赞赏。提前致谢。
我是统计学和R的新手.也许这是一个非常微不足道的问题,但我真的不明白这是如何工作的.
假设我使用dnorm(5, 0, 2.5).那是什么意思?
我看到了一些资源,他们告诉我这个函数计算密度曲线中点的高度.
现在我再次读到连续分布中数字的确切概率为0.所以,我的问题是,如果我能找出某个值的高度或概率,那怎么会是0呢?
我知道我混淆了一些概念.但我无法找到我错的地方.如果你有空的时间让我理解这一点,那将是很棒的.提前致谢.
我对 PySpark 比较陌生。我一直在尝试缓存 30GB 的数据,因为我需要对其进行聚类。因此,执行任何操作,就像count
最初我得到一些heap space issue. 所以我用谷歌搜索,发现增加执行程序/驱动程序内存对我有用。所以,这是我目前的配置
SparkConf().set('spark.executor.memory', '45G')
.set('spark.driver.memory', '80G')
.set('spark.driver.maxResultSize', '10G')
Run Code Online (Sandbox Code Playgroud)
但现在我得到了这个garbage collection issue。我查了SO,但到处都是很模糊的答案。人们建议玩配置。有没有更好的方法来确定配置应该是什么?我知道这只是一个调试异常,我可以将其关闭。但我仍然想学习一些数学来自己计算配置。
我目前在具有 256GB RAM 的服务器上。任何帮助表示赞赏。提前致谢。
我是Jupyter的新手,并试图学习它.我跑了一个单元格四次,现在有In [4]和Out [4],如果我再次执行,它会增加.现在我该如何重置值?
为什么存储这些值?任何帮助表示赞赏.
我试图解决的问题是在事务数据中找到每个项集的支持。
例如,
transactions = [
'b c d',
'a g' ,
'a c d e',
'e f h',
'a b c g h',
'd' ,
'a e g h',
'b c d',
'a b f g h',
'a c d g',
]
Run Code Online (Sandbox Code Playgroud)
会有 [2, 5, 1, 1, 1, 5, 1, 2, 1, 1]
所以基本上对于第二个事务a, g,它是其他事务的子集,例如'a g', 'a b c g h', 'a e g h', 'a b f g h','a c d …
我想向DataFrame中的所有列添加一个数字。我正在尝试使用
for i in names(df)
df.i = df.i .+ 1
end
Run Code Online (Sandbox Code Playgroud)
但这给了错误 ArgumentError: column name :i not found in the data frame
任何帮助表示赞赏。提前致谢。
我有一个NumPy数组如下:
supp = np.array([['A', '5', '0'], ['B', '3', '0'], ['C', '4', '0'], ['D', '1', '0'], ['E', '2', '0']])
Run Code Online (Sandbox Code Playgroud)
现在,我想将行[2]更新为行[1]/6.我正在使用..
for row in supp:
row[2] = row[1].astype(int) / 6
但排[2]似乎仍未受影响..
>>> supp
array([['A', '5', '0'],
['B', '3', '0'],
['C', '4', '0'],
['D', '1', '0'],
['E', '2', '0']],
dtype='<U1')
Run Code Online (Sandbox Code Playgroud)
我使用的是Python 3.5.2和NumPy 1.11.1.
任何帮助表示赞赏.提前致谢
我想查找员工的详细信息,如果他有A和B类型的信用卡.
表结构类似{empid, ccno, cctype},假设empid'e1'具有所有卡类型.
我试过类似的东西
select * from test where cctype = all('A', 'B') and empid = 'e1'
Run Code Online (Sandbox Code Playgroud)
但这并没有返回任何行.
你能解释我为什么错吗?任何帮助表示赞赏.提前致谢.
python ×4
numpy ×3
apache-spark ×2
arrays ×2
pyspark ×2
algorithm ×1
apriori ×1
dataframe ×1
julia ×1
jupyter ×1
oracle ×1
python-3.x ×1
r ×1
scikit-learn ×1
scipy ×1
set ×1
sql ×1
statistics ×1
tree ×1