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 ...
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 坏 否 是 高 ...
一切皆可复用
转载 你有复用习惯吗? 你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是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 ...
神经网络算法的激活函数
激活函数的作用: 是为了增加神经网络模型的非线性。否则你想想,没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。所以你没有非线性结构的话,根本就算不上什么神经网络。 为什么引入非线性激活函数 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入(以及一些人的生物解释balabala)。 激活函数的种类: 传统Sigmoid系激活函数 传统神经网络中最常用的两个激活函数,Sigmoid系(Logistic-Sigmoid、Tanh-Sigmoid)被视为神经网络的核心所在。 从数学上来看,非线性的Sigmoid函数对中央区的信号增益较大...
DRGs的主要内容及其评价
什么是DRGs?DRGs(Diagnosis Related Groups) 是当今世界公认的比较先进的支付方式之一,称为诊断相关分组,是一种病人分类方案,是专门用于医疗保险预付款制度的分类编码标准。 它根据病人的年龄、性别、住院天数、临床诊断、病症、手术、疾病严重程度,合并症与并发症及转归等因素把病人分入500-600 个诊断相关组,在分级上进行科学测算,给予定额预付款。也就是说DRGs就是医疗保险机构就病种付费标准与医院达成协议,医院在收治参加医疗保险的病人时,医疗保险机构就该病种的预付费标准向医院支付费用,超出部分由医院承担的一种付费制度。 这种付费方式兼顾了病人、医院、医保等各方面的利益。它的效果是:控制费用、保证质量、提高管理水平。如激励医院加强医疗质量管理,迫使医院为获得利润主动降低成本,缩短住院天数,减少诱导性医疗费用支付,有利于费用控制。这也给医院管理带来一场变革,促进了医院质量管理、经济管理、信息管理等学科发展,涌现出像临床路径、战略成本管理、数字化医院等先进管理方法。 DRGs的优势DRGs是当前国际上认为利多弊少的一种支付方式。 DRGs不仅对医疗保...
MDM六层次模型
MDM实际上是现代企业进行日常经营的非常重要的基础信息,企业的几乎所有生产经营活动,都离不开主数据的支持,因此,主数据是最重要的企业信息之一。 但是,针对MDM的管理,尤其是MDM系统的建设,目前尚未有一套类似SOA参考架构之类的参考模型出来,往往会对准备建设MDM或进行MDM管理的企业或者CIO们,带来一定的困惑,近日查看相关资料发现,Jill Dyche, Evan Levy的主数据层次模型,对此有非常重要的借鉴意义。 根据主数据管理实施的复杂程度,参照Jill Dyche, Evan Levy的观点大体可以把主数据管理可以分为六个层次,从低到高反映了主数据管理(MDM)的不同成熟度。下面我们简单介绍一下这六个层次:Level 0 :没有实施任何主数据管理(MDM)在Level 0的情况下,意味着企业的各个应用之间没有任何的数据共享,整个企业没有数据定义元素存在。比如,一个公司销售很多产品,对这些产品的生产和销售由多个独立的系统来处理,各个系统独立处理产品数据并拥有自己独立的产品列表,各个系统之间不共享产品数据。在Level 0, 每个独立的应用负责管理和维护自己的关键数...
Centos下wordpress从apache迁移到nginx
centos下wordpress从apache迁移到nginx1. 环境说明 主机:阿里云ECS 操作系统: Centos 6.5 wordpress: 镜像市场提供一键安装(apache,php5,wordpress) 已运行两年 2. 迁移思路 原本想直接更换apache到nginx,多次尝试均失败,所以采用重装wordpress,迁移数据的方式。以后再也不偷懒了,不是自己搭的环境,后期不好维护 3. 迁移步骤 原网站备份 访问网站后台,在工具导出里选择导出全部 wordpress准备 wget http://wordpress.org/latest.tar.gz # 下载tar xzvf latest.tar.gz # 解压mkdir /web/wordpress # 创建网站目录cp -r wordpress/* /web/wordpress/ # 把wordpress文件都移过去 mysql准备 mysql -uroot -p # 登陆mysql数据库create database blog;create user blog@'localhost...
