8-28决定参加一下这个千万条的数据处理任务,因为场景和自己做过的一个回归分析预测差不多,第一天开始在小规模的数据上做准备工作。

第二次大修改版本

date 20160829 星期一

原始数据处理,得到用户粉丝关系,微博转发在每个时间段的量,微博转发的总体深度 下一阶段目标,建立模型,实现基于时间序列的预测

 

第三次大修改版本

date 20160830 星期二

将这些运算转移到Linux平台上,因为有的迭代完全让我的电脑的内存受不了 这次版本的主要的目的是计算出某个微博的深度的时间序列的变化

 

第四次大修改版本

date 20160831 星期三

从原始数据提取出随着时间变化的序列的深度和转发的次数的测试工作完成了 本次修改两个任务:第一将函数按照两个部分分别整合起来; 第二将采样数据替换成原始测试数据跑一遍,完成基本的数据处理 下一次版本的主要目的是,通过这些已知的关系,搭建数据预测的模型,用训练数据训练,用测试数据测试,然后修正参数,得到最好的模型

 

第五次大修改版本

date 20160901 星期四

今天上午遇到的严重的问题是内存不够,因为我把计算过程中,尤其是初始数据的RDD也缓存起来了,这很大,所以不够用了。 更改只缓存重要的结果,例如,时间序列的,转发次数和转发深度这一些RDD,这样程序差不多能完全执行下来。 只是第二个计算深度的版本还是有些问题,需要在以后用到的时候进一步修改,尤其是针对特定的时间段,谁在转发,转发的人最大的粉丝个数。

这个版本主要解决的问题是将计算的结果保存到文件中,方便回归模型调用文件中处理好的数据进行训练和预测。 首先计划实现某一个时间段的预测,其他的整体的预测还是以后再做。

 

第六次大修改版本

date 20160901 星期四

今天下午最大的收货是看到了曙光

但是成功距离我以前想的还是有一段距离的 本次版本将完整计算出所有需要的数据,保存到文件中,希望今天能完成

 

第七次大修改版本

date 20160902 星期五

今天多计算了几个需要的参数,并且优化了深度和广度的生成方式。 但是有一个参数生成失败,而且深度获取有严重的bug是算法的问题。这个还没想到好的方法改。 今天还是没能下手做第一个预测。

 

第八次大修改版本

date 20160905星期一

今天做了一个小突破,覆盖人数算出来了 今天剩下的目标是,重新抹平生成的数据 然后用这个程序跑测试集

 

第九次大修改版本

date 20160906 星期二

把程序简化了很多,函数关系互相的顺序调用,这样关系清楚了,也减少不必要的计算量。 对训练集和测试机分别生成四类文件,微博id对应的粉丝数,微博id对应的转发量,微博id对应的深度,微博id对应的覆盖人数

 

第十次大修改版本

date 20160907 星期三

昨天有一些需要的数据没完全生成,因为vsphere中的ubuntu磁盘不够了,还没搞明白怎么扩展。任务丢失就失败。 但是部分的数据生成了。够用。

今天首先根据时段15预测时间段16的时候的数据,遇到一个致命的问题,特征向量和label加一起用labeledpoint时候得到超出数组错误。 因为模型需要的是sprasevector而我传入的是densevector,而这个转换现在spark好像不支持。 从mllib转向新的ml中的模型,还是这个错误。label是非负数,但是却出现了负值索引的数组。这一个预测做不出来,就没法批量下手呀。。

 

第十一次大修改版本

date 20160908 星期四

给虚拟机扩了30G但是交换区好像要手动启动了,否则会很慢。。 仔细研究了一下模型对数据的请求,打算吧特征向量转化为libsvm格式,方便模型自己加label。

 

第十二次大修改版本

date 20160909 星期五

第一次做出来时间段15的转发次数,下面想办法做延伸,怎么搞292个时间段的预测。

 

第十三次大修改版本

date 201609012 星期一

委屈求全的求出了所有时段的预测结果。现在特征向量有点匮乏。解决了两个主要的问题:

第一:k-v分裂之后,想在zip的时候发现zip有两个要求不仅长度相等,分区也相同才可以。所以迂回一下,首先分别zipWithIndex然后翻转k-v然后pire RDD取join再将values()map出k-v就可以了。

第二个:拼接字符串,看似很简单,加上循环就比较操蛋了。学会了一个join函数,python的join函数可以对数组批量连接。

 

第十四次大修改版本

date 20160913 星期二

不管其他问题首先计算出第一版的结果:

用生成的预测结果文件取出来加上key然后join太费劲,288个迭代起来,没完没了。 以

前就是因为这个弊端,选择了生成单独的文件。

所以捣鼓一上午之后选择shell脚本生成需要的结果。 将表头和数据分别黏贴起来。修改了几个小小的bug。 最终提交了一个版本的结果。

现在的问题:

原始数据有改动,但是这个影响不大。

预测结果排序有问题,这个可以解决,当时没解决。

还有一个比较困难的问题是深度生成的算法还是有硬伤,后面时段的深度可能比前面的时段的深度浅。

待续

微博传播数量和传播深度的预测--基于pyspark和某个回归算法的更多相关文章

  1. 深度学习基础-基于Numpy的多层前馈神经网络(FFN)的构建和反向传播训练

    本文是深度学习入门: 基于Python的实现.神经网络与深度学习(NNDL)以及花书的读书笔记.本文将以多分类任务为例,介绍多层的前馈神经网络(Feed Forward Networks,FFN)加上 ...

  2. 机器学习(ML)八之正向传播、反向传播和计算图,及数值稳定性和模型初始化

    正向传播 正向传播的计算图 通常绘制计算图来可视化运算符和变量在计算中的依赖关系.下图绘制了本节中样例模型正向传播的计算图,其中左下角是输入,右上角是输出.可以看到,图中箭头方向大多是向右和向上,其中 ...

  3. 小白学习之pytorch框架(6)-模型选择(K折交叉验证)、欠拟合、过拟合(权重衰减法(=L2范数正则化)、丢弃法)、正向传播、反向传播

    下面要说的基本都是<动手学深度学习>这本花书上的内容,图也采用的书上的 首先说的是训练误差(模型在训练数据集上表现出的误差)和泛化误差(模型在任意一个测试数据集样本上表现出的误差的期望) ...

  4. 基于 Keras 用深度学习预测时间序列

    目录 基于 Keras 用深度学习预测时间序列 问题描述 多层感知机回归 多层感知机回归结合"窗口法" 改进方向 扩展阅读 本文主要参考了 Jason Brownlee 的博文 T ...

  5. UFLDL深度学习笔记 (二)SoftMax 回归(矩阵化推导)

    UFLDL深度学习笔记 (二)Softmax 回归 本文为学习"UFLDL Softmax回归"的笔记与代码实现,文中略过了对代价函数求偏导的过程,本篇笔记主要补充求偏导步骤的详细 ...

  6. DDos攻击,使用深度学习中 栈式自编码的算法

    转自:http://www.airghc.top/2016/11/10/Dection-DDos/ 最近研究了一篇论文,关于检测DDos攻击,使用了深度学习中 栈式自编码的算法,现在简要介绍一下内容论 ...

  7. 股票价格涨跌预测—基于KNN分类器

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  8. C++从零实现简单深度神经网络(基于OpenCV)

    代码地址如下:http://www.demodashi.com/demo/11138.html 一.准备工作 需要准备什么环境 需要安装有Visual Studio并且配置了OpenCV.能够使用Op ...

  9. 掌握Spark机器学习库-07.14-保序回归算法实现房价预测

    数据集 house.csv 数据集概览 代码 package org.apache.spark.examples.examplesforml import org.apache.spark.ml.cl ...

随机推荐

  1. TI CC2541的整体目标

    1. App端会发送一定数量的byte过来蓝牙, 每2个byte是一个汉字的编码. 2. 拿到汉字编码之后, 统计字符数量, 然后通过SPI, 搜索编码 3. 收到的编码, 每个汉字字符有32个byt ...

  2. Google 开发新的开源系统 Fuchsia

    google 最新os 下载 https://github.com/fuchsia-mirror/magenta 本文转自:http://www.oschina.net/news/76094/goog ...

  3. ExtJS的MessageBox总结

    自己写了个ExtJS的MsgBox的小模版,以后遇到需要使用提示的地方就拿过来改改,免得每次都重新写. /**MsgBox start**/ Ext.Msg.buttonText.yes = &quo ...

  4. Temporary InMemory Tables [AX 2012]

    Temporary InMemory Tables [AX 2012] This topic has not yet been rated - Rate this topic Updated: Oct ...

  5. Xcode运行的错误bug收集

    libopencore-amrnb.a(wrapper.o)' does not contain bitcode. You must rebuild it with bitcode enabled ( ...

  6. Word and MediaElement

    function jmc_new_lib(){// Because we still want the script to load but not the styleswp_enqueue_scri ...

  7. ASP.NET MVC3 Dynamically added form fields model binding

    Adding  new Item to a list of items, inline is a very nice feature you can provide to your user. Thi ...

  8. android studio自动导包

    http://blog.csdn.net/buaaroid/article/details/44979629 关于导包的设置以上博文解释的很清楚,在此主要强调下这一句: Add unambiguous ...

  9. ACM题目————Aggressive cows

    Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...

  10. SQL-表链接

    查询两张表中相匹配的数据显示,不匹配的忽略 1.简单表连接 select * from 表1,表2 where 表1.字段=表2.字段 2.内链接 select * from 表1 inner joi ...