Questions tagged «apache-spark»

Apache Spark是一个开放源代码群集计算系统,旨在使数据分析快速(运行速度快且编写速度快),最初是在UC Berkeley的AMPLab中开发的。

3
在PySpark中逐行合并多个数据帧
我有10个数据帧pyspark.sql.dataframe.DataFrame,从获得randomSplit如(td1, td2, td3, td4, td5, td6, td7, td8, td9, td10) = td.randomSplit([.1, .1, .1, .1, .1, .1, .1, .1, .1, .1], seed = 100)现在我想参加9 td的到一个单一的数据帧,我应该怎么办呢? 我已经尝试过使用unionAll,但是此函数仅接受两个参数。 td1_2 = td1.unionAll(td2) # this is working fine td1_2_3 = td1.unionAll(td2, td3) # error TypeError: unionAll() takes exactly 2 arguments (3 given) 有什么办法可以按行组合两个以上的数据帧? 这样做的目的是在不使用PySpark …

5
扩大seaborn热图
我corr()用原始df 创建了df。该corr()DF出来70×70,这是不可能的可视化热图... sns.heatmap(df)。如果我尝试显示corr = df.corr(),则表格不适合屏幕,并且我可以看到所有相关性。它是打印整个df大小而不管其大小还是控制热图大小的方法吗?
17 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

2
如何计算数据框列的平均值并找到前10%
我对Scala和Spark非常陌生,并且正在使用棒球统计数据进行一些自制练习。我正在使用一个案例类创建一个RDD并为数据分配一个架构,然后将其变成一个DataFrame,这样我就可以使用SparkSQL通过满足特定条件的玩家统计信息来选择玩家组。 一旦我有一部分球员有兴趣进一步研究,我想找到一栏的平均值。例如,击球平均值或打点。从那以后,我想根据所有球员的平均表现将他们分成几个百分点。最高10%,最低10%,40-50% 我已经能够使用DataFrame.describe()函数以字符串形式返回所需列的摘要(均值,stddev,count,min和max)。有没有更好的方法来获得均值和标准差作为双打,将球员分成10个百分点的最佳方法是什么? 到目前为止,我的想法是找到保留百分比范围的值,并编写一个通过比较器对玩家进行分组的函数,但是感觉就像是在重新发明轮子一样。 我目前有以下进口: import org.apache.spark.rdd.RDD import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext} import org.joda.time.format.DateTimeFormat

3
用恒定值替换pyspark数据框中的所有数值
考虑一个由'null'元素和数字元素组成的pyspark数据帧。通常,数字元素具有不同的值。如何用一个恒定的数值(例如值1)替换数据框的所有数值?提前致谢! pyspark数据框的示例: 123c10.04−1nullc21null1.2c31.35−1.2nullc1c2c310.0411.352−1null−1.23null1.2null \begin{array}{c|lcr} & \text{c1} & \text{c2} & \text{c3} \\ \hline 1 & 0.04 & 1 & 1.35 \\ 2 & -1 & null & -1.2 \\ 3 & null & 1.2 & null \end{array} 结果应为: 123c111nullc21null1c311nullc1c2c3111121null13null1null \begin{array}{c|lcr} & \text{c1} & \text{c2} & \text{c3} \\ \hline 1 & 1 …

3
Spark上IPython / Jupyter的问题(别名无法识别)
我正在设置一组VM,以在使用外出并花钱建立带有某些硬件的集群之前尝试使用Spark。快速说明:我是一名具有应用机器学习背景的学者,并且在数据科学领域有点工作。我使用这些工具进行计算,很少需要设置它们。 我已经创建了3个VM(1个主虚拟机,2个从虚拟机)并成功安装了Spark。一切似乎都按预期进行。我的问题在于创建一个Jupyter服务器,该服务器可以从不在群集计算机上运行的浏览器连接到。 我已经成功安装了Jupyter笔记本 ...并且可以运行。我添加了一个新的IPython配置文件,该配置文件使用Spark 连接到远程服务器。 现在的问题 命令 $ ipython --profile=pyspark 运行正常,它连接到Spark集群。然而, $ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. 默认为default配置文件,而不是pyspark配置文件。 我的笔记本配置pyspark具有: c = get_config() c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8880 c.NotebookApp.server_extensions.append('ipyparallel.nbextension') c.NotebookApp.password = u'some password is here'

2
如何在Pyspark中将分类数据转换为数值数据
我正在使用Ipython Notebook与pyspark应用程序一起使用。我有一个包含大量分类列的CSV文件,以确定收入是否低于或超过50k。我想使用所有输入来执行分类算法,以确定收入范围。我需要建立一个将变量映射到变量的字典,并使用map函数将变量映射到数字以进行处理。本质上,我会将数据集设置为数字格式,以便我可以实施模型。 在数据集中,有分类列,例如教育,婚姻状况,工人阶级等。有人可以告诉我如何将它们转换为pyspark中的数字列吗? workclass = {'?':0,'Federal-gov':1,'Local-gov':2,'Never- worked':3,'Private':4,'Self-emp-inc':5,'Self-emp-not-inc':6,'State-gov':7,'Without-pay':8} 我创建了一个示例字典,其中包含工作类的键值对。但是,我不知道如何在地图功能中使用此功能,并将CSV文件中的分类数据替换为相应的值。 wc = pd.read_csv('PATH', usecols = ['Workclass']) df = pd.DataFrame(wc) wcdict = {' ?':0,' Federal-gov':1,' Local-gov':2,' Never-worked':3,' Private':4,' Self-emp-inc':5,' Self-emp-n-inc':6,' State-gov':7,' Without-pay':8} df_new = df.applymap(lambda s: wcdict.get(s) if s in wcdict else s) print(df_new) 这是我用普通的python编写的代码,用于将分类数据转换为数值数据。它工作正常。我想在Spark上下文中进行转换。并且,数据源中有9个类别列。有没有一种方法可以自动执行字典更新过程,以使所有9列都有一个KV对?

1
Spark ALS:向新用户推荐
问题 如何在Spark训练的ALS模型中预测新用户的评分?(新=训练期间未见) 问题 我在这里关注官方的Spark ALS教程: http://ampcamp.berkeley.edu/big-data-mini-course/movie-recommendation-with-mllib.html 我能够用不错的MSE建立一个很好的推荐者,但是我在为模型输入新数据方面很挣扎。本教程在培训之前会更改第一位用户的评分,但这确实是一个技巧。他们给出以下提示: 9.2。增强矩阵因子: 在本教程中,我们将您的评分添加到训练集中。获得建议的更好方法是先训练矩阵分解模型,然后使用评分来扩充模型。如果您觉得这很有趣,则可以看看MatrixFactorizationModel的实现,并了解如何为新用户和新电影更新模型。 该实现对我完全没有帮助。理想情况下,我正在寻找类似的东西: predictions = model.predictAllNew(newinput) 但是不存在这种方法。我可以去修改原始的RDD,但是我认为这需要我重新训练模型,因此也不是理想的解决方案。当然必须有一种更优雅的方式吗? 我现在的位置: 我想我需要找到新向量的潜在表示。根据原始论文,我们可以这样计算: Xü= (是ŤCüÿ+ λ 我)− 1ÿŤCüp (ü )Xü=(ÿŤCüÿ+λ一世)-1个ÿŤCüp(ü)X_u = (Y^T C^u Y + \lambda I)^{-1} Y^T C^u p(u) CüCüC^u 我目前的尝试: V = model.productFeatures().map(lambda x: (x[1])).collect() #product latent matrix Y Cui = alpha * np.abs(newinput) Cui …

1
使用机器学习进行服务器日志分析
我被分配此任务来分析应用程序的服务器日志,其中包含异常日志,数据库日志事件日志等。我是机器学习的新手,我们将Spark与弹性搜索和Sparks MLlib(或PredictionIO)结合使用。结果将是能够基于收集到的异常日志进行预测,从而能够预测哪个用户更有可能导致下一个异常以及哪个功能(以及其他跟踪和改进应用程序优化的功能)。 我已经成功地能够将数据从ElasticSearch吸收到spark中并创建DataFrames并映射所需的数据。我想知道的是我如何实现实现的机器学习方面。我浏览过有关数据预处理,训练数据模型和创建标签然后生成预测的文章和论文。 我的问题是 如何将现有的日志数据转换为数值向量,该数值向量可用于要训练的数据集。 我使用什么算法来训练我的数据集(在过去几天中,我所掌握的知识有限,我正在考虑实施线性回归,请提出最佳实施方案) 只是在寻找有关如何解决此问题的建议。 谢谢。

1
Spark,最佳地将单个RDD分为两个
我有一个大型数据集,需要根据特定参数将其分为几组。我希望这项工作尽可能高效地进行。我可以设想这样做的两种方式 选项1-从原始RDD和过滤器创建地图 def customMapper(record): if passesSomeTest(record): return (1,record) else: return (0,record) mappedRdd = rddIn.map(lambda x: customMapper(x)) rdd0 = mappedRdd.filter(lambda x: x[0]==0).cache() rdd1 = mappedRdd.filter(lambda x: x[1]==1).cache() 选项2-直接过滤原始RDD def customFilter(record): return passesSomeTest(record) rdd0 = rddIn.filter(lambda x: customFilter(x)==False).cache() rdd1 = rddIn.filter(customFilter).cache() 拳头方法必须对原始数据集的所有记录进行3次操作,其中第二次仅在常规情况下必须进行两次,但是,spark在后台进行了图形构建,因此我可以想象它们是以相同的方式有效地完成。我的问题是:a。)一种方法是否比另一种方法更有效,或者火花图构建使其等效?b。)是否可以在一次通过中进行拆分
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.