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:消费金额 考虑到航空公司的业务特征:
同样的消费金额,客户价值可能不同 ...
实施微服务,我们需要哪些架构
微服务(MicroServices)架构是当前互联网业界的一个技术热点,圈里有不少同行朋友当前有计划在各自公司开展微服务化体系建设,他们都有相同的疑问:一个微服务架构有哪些技术关注点(technical concerns)?需要哪些基础框架或组件来支持微服务架构?这些框架或组件该如何选型?笔者之前在两家大型互联网公司参与和主导过大型服务化体系和框架建设,同时在这块也投入了很多时间去学习和研究,有一些经验和学习心得,可以和大家一起分享。
服务注册、发现、负载均衡和健康检查和单块(Monolithic)架构不同,微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,服务之间通过轻量机制进行通信,这时候必然引入一个服务注册发现问题,也就是说服务提供方要注册通告服务地址,服务的调用方要能发现目标服务,同时服务提供方一般以集群方式提供服务,也就引入了负载均衡和健康检查问题。根据负载均衡LB所在位置的不同,目前主要的服务注册、发现和负载均衡方案有三种:
第一种是集中式LB方案,如下图Fig 1,在服务消费者和服务提供者之间有一个独立的LB,LB通常是专门的硬件设备如F5,或者基于软件如 ...
玩转Spark必须了解的底层硬件需求
转载:原文
从MapReduce的兴起,就带来一种思路,就是希望通过大量廉价的机器来处理以前需要耗费昂贵资源的海量数据。这种方式事实上是一种架构的水平伸缩模式——真正的以量取胜。毕竟,以现在的硬件发展来看,CPU的核数、内存的容量以及海量存储硬盘,都慢慢变得低廉而高效。然而,对于商业应用的海量数据挖掘或分析来看,硬件成本依旧是开发商非常关注的。当然最好的结果是:既要马儿跑得快,还要马儿少吃草。
Spark相对于Hadoop的MapReduce而言,确乎要跑得迅捷许多。然而,Spark这种In-Memory的计算模式,是否在硬件资源尤其是内存资源的消耗上,要求更高呢?我既找不到这么多机器,也无法租用多台虚拟instance,再没法测评的情况下,只要寻求Spark的官方网站,又或者通过Google搜索。从Spark官方网站,Databricks公司Patrick Wendell的演讲以及Matei Zaharia的Spark论文,找到了一些关于Spark硬件配置的支撑数据。
Spark与存储系统如果Spark使用HDFS作为存储系统,则可以有效地运用Spark的standalone mod ...
神经网络算法的激活函数
激活函数的作用:
是为了增加神经网络模型的非线性。否则你想想,没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。所以你没有非线性结构的话,根本就算不上什么神经网络。
为什么引入非线性激活函数
如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入(以及一些人的生物解释balabala)。
激活函数的种类:
传统Sigmoid系激活函数
传统神经网络中最常用的两个激活函数,Sigmoid系(Logistic-Sigmoid、Tanh-Sigmoid)被视为神经网络的核心所在。
从数学上来看,非线性的Sigmoid函数对中央区的信号增益较大,对两 ...
