Spark实践笔记4:用Spark-shell做交互式分析
首先在MASTER机器上启动hadoop及spark;把位于${SPARK_HOME}下的README.md文件put到HDFS/data目录下;启动spark-shell,启动spark-shell时需要指定MASTER机器,否则执行后续命令会报错:${SPARK_HOME}/bin/spark-shell –master spark://ubuntu1:7077scala> val textFile = sc.textFile(“/data/README.md”)textFile.count()textFile.first()能看到,程序正常执行,而且执行第二个命令first的速度比第一个命令count要快很多。通过Spark-shell的web能看到任务信息。
个人理解:val定义了一个RDD(弹性分布式数据集)textFile。RDD拥有自己的一些actions,如count、first、take、countByKey、reduce等,可以直接调用。RDD还有一种操作类型叫 transfo ...
Spring Boot过滤返回的数据
考虑这样的场景:对于同一个Model类,在不同的api中需要返回不同的字段。该如何优雅的实现呢?
解决方案采用JsonView,根据定义自动实现字段的过滤。
具体方法
创建一个view类,声明一个summary接口,summary接口继承summary用来演示扩展
public class View { public interface Summary {} public interface Summary2 extends Summary{}}
在model上使用注解,定义view中需要呈现的列
public class Article { @JsonView(View.Summary.class) private String id; @JsonView(View.Summary2.class) private String title; private String content; // 省略getter setter}
通常在RESTfu ...
keras神经网络算法预测销量高低实践
基于样本数据周末,促销,天气,销量,进行深度学习。最终得出销量与周末、促销、天气的关系模型。并展示了神经网络算法对分类的预测。
以下为代码:
import pandas as pd
In [2]:
filename = ‘/Users/frontc/book/ppdam/sales_data.xls’
In [3]:
data = pd.read_excel(filename,index_col=u’序号’)
In [4]:
# 数据规整
data[data == u’好’] = 1
data[data == u’是’] = 1
data[data == u’高’] = 1
data[data !=1 ] = 0
In [5]:
x = data.iloc[:,:3].as_matrix().astype(int) # 自变量
y = data.iloc[:,3].as_m ...
ngnix+uwsgi+flask
Flask开发应用不难,部署不容易。网上的资料很多,但坑也很多。我纪录一下要点,以及那些坑。
安装uwsgi,最好采用 pip install flask-uwsgi,在对应的虚拟环境里安装
nginx新版本,我用的是nginx/1.0.15中,配置文件是在/etc/nginx/conf.d中
一个典型的run.py如下:
应用的名字要as成application。否则uwsgi出现找不到app的异常,即使你在uwsgi的配置文件里指定了callable=xxx。
run里不要带任何参数
from pm import app as application
if __name__ == '__main__':
application.run()
下面是一个典型的uwsgi.ini配置:
[uwsgi]
module = wsgi --这是run.py的名字,去掉后缀名
master = true
processes = 4
socket = /web/pm/pm.sock --这里指定了一个so ...
pandas逻辑回归建模
基于样本数据(年龄、教育、工龄、地址、收入、负债率、信用卡负债、其他负债、违约),挖掘显著影响违约的因子。步骤如下:
import pandas as pd
In [2]:
filename = ‘/Users/frontc/book/ppdam/bankloan.xls’
In [3]:
data = pd.read_excel(filename)
In [29]:
data
Out[29]:
年龄
教育
工龄
地址
收入
负债率
信用卡负债
其他负债
违约
0
41
3
17
12
176
9.3
11.359392
5.008608
1
1
27
1
10
6
31
17.3
1.362202
4.000798
0
2
40
1
15
14
55
5.5
0.856075
2.168925
0
3
41
1
15
14
120
2.9
2.658720
0.821280
0
4
24
2
2
0
28
17.3
1.787436
3.056564
1
5
41
2
5
5
...
sklearn使用KMeans聚类算法对消费行为特征数据进行分类
样本数据选取的是消费行为数据,包括4列:主键,最近一次消费间隔,消费频率,消费总金额。k-means算法在收敛时采用的是欧式距离算法。
代码如下:
import pandas as pd
In [2]:
inputfile = '/Users/frontc/book/ppdam/consumption_data.xls'
In [3]:
outputfile = '/Users/frontc/book/ppdam/data_type.xls'
In [4]:
k = 3 # 分成3类
In [5]:
iteration = 500 # 聚类最大循环次数
In [6]:
data = pd.read_excel(inputfile,index_col='Id') # 读取样本数据
In [8]:
data[:3] # 样本示例,r为最近一次消费时间间隔,f为消费频率,m为消费的总金额
Out[8]:
R
F
M
Id
1
27
6
232.61
2
3
5
1507.11
3 ...
sklearn基于信息熵的决策树算法实践
以餐馆的经营数据为样本,天气,周末,促销,销量。首先将天气分类为好和坏(经验),销量分类为高和低(均值)。然后将因子规整。采用信息熵的决策树模型进行训练。结果导出为dot文件。
采用graphviz,可以查看结果
另:graphviz的dot在mac os 10.11.6下有bug,会提示一个lib未能加载。
以下为代码:#-- coding:utf-8 --
In [2]:
import pandas as pd
In [3]:
filename = '/Users/frontc/book/ppdam/sales_data.xls' # 样本数据文件路径
In [4]:
data = pd.read_excel(filename,index_col=u'序号') # 读取数据到dataframe中
In [5]:
data[:4] # 查看一下样本数据
Out[5]:
天气
是否周末
是否有促销
销量
序号
1
坏
是
是
高
2
坏
是
是
高
3
坏
是
是
高
4
坏
否
是
高
I ...
一切皆可复用
转载
你有复用习惯吗?
你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是new一个connection,然后配置connection的参数,然后open。很多编码新手,常常会在不同的地方编写这段类似的代码。其实很简单,这段代码应该抽取出来供每个地方调用。如果你编写的代码中发现很多类似的甚至相同的代码到处都是,应该好好考虑重构一下了。
读小学的时候,老师要求我们写日记,当时觉得很难写,也不想写。后来读高中的时候,我的思想来了个大转变,突然写起日记来,一写就是几年。写日记并不是记下每天干了啥,而是每天都总结一下当天的得失,看看有什么东西是可以“复用”的。现在写文章对我来说并不是什么很难的事情,我也比较容易观察出周围一些事物的闪光点,并学习它,供自己“复用”。
复用其实不复杂,从小处做起,养成一种习惯,这种好的习惯会让你的成功速度加倍!
你的企业有复用习惯吗?
你们公司有组件库、类库或者是共享代码库吗?每次你们做项目,有没有之前的一些东西可直接供本项目使用的,还是需要全部重新开发的?
A项目遇到一个问题,而这个问题B项目已经解决了,但A项目的人还不知道,这种情况多见吗?
你 ...
为航空公司进行客户价值分析
一. 业务目标
借助航空公司的客户数据,对客户进行分类
对不同的客户类别进行特征分析,比较不同类客户的客户价值
对不同价值的客户类别提供个性化服务,制定相应的营销策略
二. 已有数据
客户基本信息:会员卡号、入会时间、第一次飞行日期、性别、年龄、会员卡级别、工作地城市、工作地所在省份、工作地所在国家
乘机信息:周期内的飞行次数、周期的结束时间、最后一次乘机时间到此周期结束的时长、平均折扣率、周期内的票价收入、周期内的总飞行公里数、末次飞行日期、平均乘机间隔时间、最大乘机间隔
积分信息:积分兑换次数,总精英积分、促销积分、合作伙伴积分、总累计积分、非乘机的积分变动次数、总基本积分
三. 分析思路分析客户价值的标准模型师RFM模型,参见:http://baike.baidu.com/link?url=KZP2fpmmzOhzrGM_rHN2SSFBo4ilAbvLCgqS8P1QQQo5vlO7xIY0TedyRzLu7V4nCSXyeD4TodSAlqyFDypNTa 即:R:最近一次消费,F:消费频率,M:消费金额 考虑到航空公司的业务特征:
同样的消费金额,客户价值可能不同 ...
Best Practices for Designing a Pragmatic RESTful API
Your data model has started to stabilize and you’re in a position to create a public API for your web app. You realize it’s hard to make significant changes to your API once it’s released and want to get as much right as possible up front. Now, the internet has no shortage on opinions on API design. But, since there’s no one widely adopted standard that works in all cases, you’re left with a bunch of choices: What formats should you accept? How should you authenticate? Should your API be version ...