Questions tagged «pyspark»

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 …

4
将CSV文件内容导入pyspark数据框
如何将.csv文件导入pyspark数据帧?我什至尝试在Pandas中读取csv文件,然后使用createDataFrame将其转换为spark数据框,但是它仍然显示一些错误。有人可以指导我吗?另外,请告诉我如何导入xlsx文件?我正在尝试将csv内容导入pandas数据帧,然后将其转换为spark数据帧,但是它显示错误: "Py4JJavaError" An error occurred while calling o28.applySchemaToPythonRDD. : java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 我的代码是: from pyspark import SparkContext from pyspark.sql import SQLContext import pandas as pd sqlc=SQLContext(sc) df=pd.read_csv(r'D:\BestBuy\train.csv') sdf=sqlc.createDataFrame(df)
13 pyspark 

1
我应该使用多少个LSTM细胞?
是否有关于我应使用的LSTM电池的最小,最大和“合理”数量的经验法则(或实际规则)?具体来说,我与TensorFlow和property 有关的BasicLSTMCell有关num_units。 请假设我有以下定义的分类问题: t - number of time steps n - length of input vector in each time step m - length of output vector (number of classes) i - number of training examples 例如,训练示例的数量应该大于: 4*((n+1)*m + m*m)*c c单元数在哪里?我基于此:如何计算LSTM网络的参数数量?据我了解,这应该给出参数的总数,该总数应少于训练示例的数量。
12 rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

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,最佳地将单个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.