数据分析

科技发展带来的挑战

删除回忆录丶 提交于 2019-11-28 17:43:30
在科技的快速发展推动下,在IT领域,企业会面临两个方面的问题。 一是如何实现网站的高可用、易伸缩、可扩展、高安全等目标。为了解决这样一系列问题,迫使网站的架构在不断发展。从单一架构迈向高可用架构,这过程中不得不提的就是分布式。 二是用户规模越来越大,由此产生的数据也在以指数倍增长,俗称数据大爆炸。海量数据处理的场景也越来越多。技术上该如何面对? 1. 分布式系统1.1. 概述 分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。 分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。 初代的web服务网站架构往往比较简单,应用程序、数据库、文件等所有的资源都在一台服务器上。 图:互联网初始阶段的网站架构 图:现在互联网网站常用的架构 从分布式系统的概念中我们知道,各个主机之间通信和协调主要通过网络进行,所以,分布式系统中的计算机在空间上几乎没有任何限制,这些计算机可能被放在不同的机柜上,也可能被部署在不同的机房中,还可能在不同的城市中,对于大型的网站甚至可能分布在不同的国家和地区。 1.2. 特征 分布性

数据分析 - 线性回归数学公式讲解

安稳与你 提交于 2019-11-28 15:44:50
线性回归算法 数学概念 ▒ 回归 - 回归会得到最终的计算结果, 是一个确定性的结果 ▒ 分类 - 分类会进行分析给于一个结果的判断类别, 也是一个确定的结果 简单实例 - 银行贷款 实例分析 ▒ 数据 - 工资和年龄 ( 2个特征 ) ▒ 目标 - 预测银行会给我贷款多少钱 ( 标签 ) ▒ 考虑 - 工资和年龄会如何影响到银行贷款的结果? 多大的影响? ( 参数 ) 数据拟合 X1, X2 表示特征 ( 年龄, 工资 ), Y表示输出结果 ( 钱 ) 我们需要对数据进行拟合 假设 θ1 是年龄的参数, θ2 是工资的参数 ( 参数表示特征对结果的影响程度 ) 拟合的平面的公式表达则为 整合后为 整合详解 整合前 : 转化后结果 公式中的 θ0 表示偏置项, 给与一定程度的上下浮动, 偏置项此处可有理解为一个定值的偏置参数, 对结果不会产生较大的影响 而 θ1 和 θ2 则为权重参数, 需要组合特征数据项进行计算对结果会有较大影响 以上的式子较为长, 能简化那就简化 的内部运算原理为 问题来了, 这里的 从何而来? 因此为了能够达到这个简洁的公式, 需要填充进来一个 因此在不改变原值的情况下这个 , 设定为 1 则可以保证不会有数值上的影响 这样也需要我们的数据配合, 新添加一列 全 1 的数据, 这样完成公式的转换和数据填充 最终的结果这样更方便矩阵计算 ( 直接行 x

Python数据分析

冷暖自知 提交于 2019-11-28 14:32:08
1 基础知识 In [2]: num = [1,2,3,4,5] [i**2 for i in num] Out[2]: [1, 4, 9, 16, 25] In [5]: lst1 = ['A','B','C'] lst2 = ['a','b','c'] [m+n for m in lst1 for n in lst2] Out[5]: ['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc'] In [7]: lst1 = ['A','B','C'] lst2 = ['a','b','c'] [m+n for m,n in zip(lst1,lst2)] Out[7]: ['Aa', 'Bb', 'Cc'] In [8]: f = lambda x,y : x+y f(1,2) Out[8]: 3 In [10]: a = map(lambda x,y : x+y, [1,2,3],[4,5,6]) a Out[10]: <map at 0x4dd7198> In [11]: b = list(map(lambda x,y : x+y, [1,2,3],[4,5,6])) b Out[11]: [5, 7, 9] 2 Pandas In [12]: import pandas as pd import numpy as np

商业数据分析(1)--解析方法与模型分类

与世无争的帅哥 提交于 2019-11-28 13:52:10
  总体来讲,商业数据分析主要分为三类,分别是描述性数量解析分析、预测性数量解析分析和指导性数量分析。   1.描述性数量解析分析:用于描述已发生的事情的一些列数量方法。例如数据查询、报表描述性统计、数据可视化、部分数据挖掘技术以及基本的表格分析。表格、图形、地图、汇总性的统计量。   2.预测性数量解析分析:根据历史数据构建模型然后对未来数据进行预报,或者搞清楚各种因素之间相互作用关系。例如通过对过去销售数据进行分析对未来数据进行预测。以及一些长期趋势季节性变化。线性回归、时间序列、某些数据挖掘技术、模拟分析以及风险分析。   3.指导性数据量解析分析:指明最有的办法,输出的结果是最好的决定。例如金融利于资产配置组合模型。优化模型,即根据现有环境的约束条件给出最优解。    来源: https://www.cnblogs.com/record-M-L/p/11409746.html

用户分析模型

心不动则不痛 提交于 2019-11-28 11:29:06
1、用户模型 “不仅要知道用户当下在想什么,更要知道用户背后在想什么,以及用户正在经历着什么。” 传统用户模型构建方式 用户模型:基于对用户的访谈和观察等研究结果建立,严谨可靠但费时; 临时用户模型:基于行业专家或市场调查数据对用户的理解建立,快速但容易有偏颇。(缺乏时间,资源的情况下) 为了节省时间,降低风险,产品团队往往尽快将产品推向用户,快速试错,在这种场景下如何构造用户模型? 1,首先,整理和收集已经获得的任何可认知用户的经验和数据,将这些信息映射成为用户的描述信息(属性)或用户的行为信息,并存储起来形成用户档案, 2,实时关注自身数据的波动,及时采取行动 3,记录用户的行为数据而不是单纯地为用户打标签 4,360°覆盖用户全生命周期的用户档案 用户的每一步成长都通过行为记录下来,基于用户所在生命周期的不同阶段,针对新用户、流失用户、活跃用户、沉默用户分别采取有针对性的拉新、转化、留存等运营策略。 2、事件模型 1.事件是什么 就是用户在产品上的行为,它是用户行为的一个专业描述,用户在产品上的所有获得的程序反馈都可以抽象为事件,由开发人员通过埋点进行采集,通俗讲就是:将一段代码放入对应的页面/按钮,用户进入页面/点击按钮的本质是在加载背后的代码,同时再加载事件采集代码,这样就被SDK所记录下来了。 (利用百度统计加入代码采集用户下载成功和失败事件) 2.事件的采集 事件

【Python数据分析】概述与探索分析笔记

爷,独闯天下 提交于 2019-11-28 11:05:35
目录 第一章 数据分析简介 第二章 数据获取 第三章 单因子探索分析 参考资源 第一章 数据分析简介 1-1、数据分析流程 A 数据获取 B 探索分析与可视化(报表) C 预处理理论(去除脏数据) D 分析建模 E 模型评估 其中,CDE 为数据建模与挖掘 【核心内容】 1-2、前置知识 前置知识:Python3,Python数据分析-基础技术篇;数学; 编译环境:Python3.6+,Pycharm,Anaconda 1-3、数据分析概述 数据分析的含义与目标:统计分析方法,提取有用信息,并进行总结与概括的过程 1-4、使用Python进行数据分析 开发效率高、运行速度慢、胶水语言(比如嵌入C语言配合使用) 1-5、数据分析学习方法 A 重视理论 B 勤于查阅 C 身体力行 D 联系实际 第二章 数据获取 2-1、数据获取手段 A 数据仓库 B 监测与抓取 C 填写、日志、埋点 D 计算 2-2、数据仓库(DW) 1、概念:数据载体,业务数据汇总处理 (1)全部事实的记录 (2)部分维度与数据的整理(数据集市-DM) 2、数据库 VS 仓库 (1)数据库面向业务存储(保证高并发、快速读写、数据结构精简),仓库面向主题存储(主题:较高层次上对分析对象数据的一个完整并且一直的描述,比如购买图书发展的多维度存储信息) (2)数据库针对应用(OLTP,联机事务处理),仓库针对分析

数据分析常用代码(持续更新)

萝らか妹 提交于 2019-11-28 11:04:50
模型 Xgboost import xgboost as xgb def xgb_model(X_t, X_v, y_t, y_v, test): print("XGB model start") xgb_val = xgb.DMatrix(X_v, label=y_v) xgb_train = xgb.DMatrix(X_t, label=y_t) xgb_test = xgb.DMatrix(test) params = { 'booster': 'gbtree', 'objective': 'binary:logistic', 'eval_metric': 'auc', # 'gamma': 0.1, # 用于控制是否后剪枝的参数,越大越保守,一般0.1、0.2这样子。 # 'max_depth': 8, # 构建树的深度,越大越容易过拟合 # 'alpha': 0, # L1正则化系数 'lambda': 10, # 控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。 'subsample': 0.7, # 随机采样训练样本 # 'colsample_bytree': 0.5, # 生成树时进行的列采样 # 'min_child_weight': 3, # 这个参数默认是 1,是每个叶子里面 h 的和至少是多少,对正负样本不均衡时的 0-1 分类而言

机器学习实践应用

淺唱寂寞╮ 提交于 2019-11-28 09:43:55
内容简介 机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度等多门学科,专门研究计算机怎样模拟或实现人类的学习行为。机器学习是人工智能的核心,是使计算机具有 智能的根本途径。 本书通过对机器学习的背景知识、算法流程、相关工具、实践案例以及知识图谱等内容的讲解,全面介绍了机器学习的理论基础和实践应用。书中涉及机器学习领域的多个典型算法,并详细给出了机器学习的算法流程。 本书适合任何有一定数据功底和编程基础的读者阅读。通过阅读本书,读者不仅可以了解机器学习的理论基础,也可以参照一些典型的应用案例拓展自己的专业技能。同时,本书也适合计算机相关专业的学生以及对人工智能和机器学习感兴趣的读者阅读。 通过阅读本书,你将了解到: 机器学习全流程的串联方式,包括数据预处理、特征工程、算法、模型评估等; 最常用的机器学习算法,包括逻辑回归、随机森林、支持向量机、KMEANS、DBSCAN、K 近邻、马尔科夫决策、LDA、标签传播等; 机器学习算法在实际业务中的应用,涉及金融、医疗、新闻、电商等诸多领域; 机器学习的常用工具:R、Spark-MLib、TensorFlow、PAI 等; 时下最热门的技术领域:深度学习、知识图谱等。 作者简介 李博,花名“傲海”。目前任阿里云数据产品经理,主要负责机器学习平台的产品化建设以及对外业务应用。本科、硕士毕业于北京邮电大学

数据仓库

廉价感情. 提交于 2019-11-28 08:16:33
为什么需要数据仓库? 传统的数据库中,存放的数据都是一些定制性数据较多,表是二维的,一张表可以有很多字段,字段一字排开,对应的数据就一行一行写入表中,特点就是利用二维表表现多维关系。 但这种表现关系的上限和下限就定死了,比如QQ的用户信息,直接通过查询info表,对应的username、introduce等信息即可,而此时我想知道这个用户在哪个时间段购买了什么?修改信息的次数?诸如此类的指标时,就要重新设计数据库的表结构,因此无法满足我们的分析需求。 在产品脑图中可以很清晰的看到根据业务需求设计所需的字段,因此也导致 数据库是根据业务需求进行设计 。 那么有的会问,为什么一开始就不考虑好这个扩展性呢?为什么数据库一开始就不以数据仓库的形式设计? 首先数据仓库,从字面上理解就可以感受到这是一个很大的空间,而且存储的物品很杂,里面会存放酱油、沐浴露、洗发精等物品,而数据库是存放酱油、盐等厨房用品,洗浴又是一个数据库。 另外一个就是,国内互联网的发展,一开始大家都是做个软件出来,大家一起用,这个时候只要满足的了需求即可,现今不止是需求还有用户的体验等各种方面,需要根据这些分析指标做调整。 小结: 数据库是跟业务挂钩的,而数据库不可能装下一个公司的所有数据,因此数据库的设计通常是针对一个应用进行设计的。 数据仓库是依照分析需求、分析维度、分析指标进行设计的。 什么是数据仓库? 数据仓库

数据挖掘与数据分析

岁酱吖の 提交于 2019-11-28 08:13:27
一、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。 数据挖掘和数据分析的不同之处: 1、在应用工具上,数据挖掘一般要通过自己的编程来实现需要掌握编程语言;而数据分析更多的是借助现有的分析工具进行。 2、在行业知识方面,数据分析要求对所从事的行业有比较深的了解和理解,并且能够将数据与自身的业务紧密结合起来;而数据挖掘不需要有太多的行业的专业知识。 3、交叉学科方面,数据分析需要结合统计学、营销学、心理学以及金融、政治等方面进行综合分析;数据挖掘更多的是注重技术层面的结合以及数学和计算机的集合 数据挖掘和数据分析的相似之处: 1、数据挖掘和数据分析都是对数据进行分析、处理等操作进而得到有价值的知识。 2、都需要懂统计学,懂数据处理一些常用的方法,对数据的敏感度比较好。 3、数据挖掘和数据分析的联系越来越紧密,很多数据分析人员开始使用编程工具进行数据分析,如SAS、R、SPSS等。而数据挖掘人员在结果表达及分析方面也会借助数据分析的手段。二者的关系的界限变得越来越模糊。 二、数据挖掘 1 数学预备知识 概率论:支撑整个数据挖掘算法和机器学习算法的数学基础,要熟悉常见的一些概率分布。 矩阵论:线性代数中对数据挖掘最有用的部分,还有一些线性空间相关知识也很重要。 信息论