- 博客(52)
- 收藏
- 关注
原创 互联网数据分析岗实习感受
互联网实习感受本篇博客是本人在互联网公司实习三个月的一个总结,包括实习前的准备,日常工作介绍,以及数据分析实习的收获。有很强的主观性,如果有哪里写的不准确,还希望大家多多指点,感谢!1.实习前的准备本人学校一般(非211985),应用统计专业研究生。没有获奖经历,为了丰富简历,增强自身技能的实践能力,自己在网上找一些数据分析/挖掘的项目进行练习,并通过CSDN博客对所学的知识进行总结。知识相关统计学。比如各种检验,数据平滑处理,缺失值处理方式,相关性分析等。机器学习。比如回归(随机森林,线性回
2021-04-29 11:54:12 9420
原创 数据分析面试——如何分析产品日活下降原因
最近在一些数据分析的面试中,总会被问到某某日活突然下降了,该怎么分析的问题。由于之前没有接触过这方面,回答起来起来也是天马行空,脑洞大开,没有什么逻辑感,因此,在网上找了一些相关的回答对这类问题做一个总结。参考资料如下:产品日活DAU下降,我该如何着手分析?如何分析产品日活用户数下降?一、案例再现面试官:你好,请问如果xx产品的日活突然下降,请问你会从哪些角度去分析呢?我:嗯。。。。。。那个……嗯。。。。。。。可能有一些外部因素吧,导致日活下降了,再就是一些内部因素,巴拉巴拉。。。面试官:好的
2020-08-19 00:08:27 8365
原创 Python数据结构与算法笔记(八):数据结构——树,二叉树和AVL树
树class Node: def __init__(self, name, type='dir'): self.name = name self.type = type #"dir" or "file" self.children = [] self.parent = None # 链式存储 def __repr__(self): return self.nameclass Fil
2020-08-03 09:42:07 561
原创 Python数据结构与算法笔记(六):数据结构——列表和栈
数据结构介绍存储一组有关系的数据数据结构的分类:树结构图结构:列表列表存储与基本操作数组:开辟一定长度的内存,用来存储数据,里面是真实的值。32位机器上,一个整数占4字节。假设第一个数的地址是100,那么后面的数的地址也就确定了。要查找数组中的第三个元素。a[2],直接查找地址为108的即可。数组与列表有两点不同:数组元素类型要相同数组长度固定存储问题:pytohn列表内存的是地址,具体的值存在另外的内存上。一个地址占4个字节。这样解决了类型不同的数据可以存在一
2020-08-03 09:40:47 399
原创 Python数据结构与算法笔记(四):排序问题——列表排序
排序常见的排序算法:列表排序Low三人组冒泡排序原始数据。将7和5进行比较,若7大于5,则交换。8比7大,不进行交换,接下来看8.用8跟2进行比较。最后,就把最大的9排上去了。箭头指到1,不会指到9,因为9后面没有数据了。冒泡排序,逐个将最大的选出来。上面的为有序区,下面的为无序区。接下来,对无序区再来一遍。整个排序是n-1次。无序区的范围:n-i-1.i:第i趟。1:最后的不计。def bubble_sort(li): for i in range(l
2020-08-03 09:40:24 615
原创 Python数据结构与算法笔记(三):查找问题——列表查找
列表查找查找问题介绍顺序查找# li-列表# val-待查找元素# ind-索引def linear_search(li,val): for ind,v in enumerate(li): if v == val: return ind else: return Noneli=[1,2,3,4,3,2,5,6,4,2]val=3linear_search(li,val)---------------------
2020-08-03 09:40:07 266
原创 Python数据结构与算法笔记(二):递归介绍及汉诺塔问题
递归内容介绍func1和func2没有结束条件。图解func递归过程:长框代表func3,窄框代表print。函数执行过程是从上至下。长框代表func4,窄框代表print。函数执行过程是从上至下。由此可见,两个函数的执行结果不一样。汉诺塔问题问题简介:两个圆盘时的移动过程,由A到C:当有n个盘子时,将上面n-1个盘子看成一个整体,把下面的盘子看成1.即将问题简化为两个盘子。由于有n-1个盘子,所以要将n-1个盘子移动到B,必然要经过C。只有第二步是移动1个盘子,
2020-08-03 09:39:46 250
原创 Python数据结构与算法笔记(一):时间复杂度与空间复杂度
学习内容来自清华计算机博士带你学习Python算法+数据结构。算法概念简述数据结构:数据存储时间复杂度每个电脑配置不一样。同一个程序执行的时间不同。运行观察程序的快慢,耗时。因此,选择一个公式来表示某一个程序执行的快慢。估计算法运行效率与时间复杂度内容通俗理解O(1):O:一个数学里式子上界的意思,这里简单理解为估计,大约,几1:类似单位,秒,分钟,小时。代码执行一次O(1)=运行时间:几秒O(n):n重循环,执行n次。大约执行n秒。由于时间复杂度是估计值:O(3)的
2020-08-03 09:39:14 489
原创 数据挖掘项目:问答网站问题及回答数量预测(Sofa竞赛)排名:3/155
本文是对Sofa数据竞赛上的练习项目:问答网站问题及回答数量预测进行结果展示。主要是根据日期这一唯一的特征,预测某问答网站每天新增的问题数和回答数。最终排名3/155。1.背景介绍给出美国某大型问答社区从2010年10月1日到2016年11月30日,每天新增的问题的个数和回答的个数。任务是预测2016年12月1日到2017年5月1日,该问答网站每天新增的问题数和回答数。在本练习赛中,日期是唯一的特征。2.导入包和数据2.1导入必要的包import pandas as pdimport numpy
2020-06-21 20:39:08 860 4
原创 HiveQL学习笔记(四):Hive窗口函数
本系列是本人对Hive的学习进行一个整理,主要包括以下内容:1.2.3.4.接下来对第四个内容进行介绍。窗口函数1.累计计算窗口函数1.sum(…)over(…)1. partition by:分组的作用2. order by:按照什么顺序进行累加(使用order by 时,数据的范围是一点一点增加的,因此能起到累加的作用)2.avg(…)over(…)移动平均:3.语法总结2.分区排序窗口函数1.row_number()、rank()、dense_rank()ov
2020-05-16 11:56:09 585
原创 HiveQL学习笔记(五):Hive练习题
本系列是本人对Hive的学习进行一个整理,主要包括以下内容:1.2.3.4.5.接下来对第五个内容进行介绍。HiveSQL学习笔记(二)对应的练习题这里没有原版的数据,只有字段名,所以只能靠脑补……主要是锻炼思考问题的方法,也可以上网找一些MySQL的题,然后用HiveSQL去完成。以下问题的答案会陆续更新……将user_trade中的时间戳转为以下时间格式2.HiveSQL学习笔记(三)对应的练习题
2020-05-16 11:55:50 877
原创 HiveQL学习笔记(三):Hive表连接
本系列是本人对Hive的学习进行一个整理,主要包括以下内容:1.2.3.4.接下来对第三个内容进行介绍。表连接内连接 join例子:注:在写HiveSQL语句时,先对小表进行清洗,可以提升代码的运行速度。两表关联:多表关联:这里第二种写法在数据量较大时,执行的效率最高。外连接 left join例子:没有匹配上的显示为NULL。这里不用 in / not in,利用left join加where效率会高一些。一般用这种来解决该问题。多表关联:全连接
2020-05-16 11:55:08 857
原创 HiveQL学习笔记(二):Hive基础语法与常用函数
本系列是本人对Hive的学习进行一个整理,主要包括以下内容:1.2.3.4.接下来对第二个内容进行介绍。Hive是基于Hadoop的数据仓库HiveSQL与传统SQL对比:基础语法1.SELECT…A…FROM…B…WHERE…C…这里放上SQL语法执行的先后顺序:7:SELECT 查询列表 1:FROM 表 2:连接类型 JOIN 表2 3:ON 连接条件 4:WHERE 筛选条件 5:GROUP BY 分组 6:HAVING 分组后
2020-05-16 11:54:31 774
原创 HiveQL学习笔记(一):Hive安装及Hadoop,Hive原理简介
本系列是本人对Hive的学习进行一个整理,主要包括以下内容:1.2.3.4.接下来对第一个内容进行介绍。说明:本系列主要是Hive的使用,其他Hadoop和Hive的原理仅做简单的描述。Hive安装由于Hive在安装前需要安装很多东西,比如虚拟机,Linux系统,Hadoop,MySQL等,这个过程及其繁琐和艰难。由于目的是学习如何使用Hive,而不是搞大数据开发,因此没必要深陷其中。这里推荐厦大林子雨老师的博客,里面已经安装好了全套的大数据软件,只需要自己安装虚拟机,然后导入即可,非常方便
2020-05-16 11:53:47 787
转载 数据分析项目:母婴商品销量分析
本篇文章转载自数据分析4_母婴商品销量分析,本人是对其数据分析进行复现,当做数据分析的练习项目,并对复现项目时遇到的一些问题进行说明。项目介绍项目背景根据PEST框架,从四个角度简要分析:政策Politics:国家发展改革委2013年5月28日表示,13个部门将出台系列政策措施,从可信交易、移动支付、网络电子发票、商贸流通和物流配送共5个方面支持电子商务发展,有利于促进在线母婴商品市场快...
2020-04-29 15:43:50 2817 2
转载 余弦距离与欧式距离
前几天在做数据分析笔试题的时候,上面问到了欧氏距离和余弦距离的差别,并不是很清楚。因此,在此学习下这个知识点,作个总结。注:文本转载自:https://zhuanlan.zhihu.com/p/84643138一、余弦距离简单来说,余弦相似度,就是计算两个向量间的夹角的余弦值。余弦距离就是用1减去这个获得的余弦相似度。由上面的余弦距离可以知道,余弦距离的取值范围为[0,2] ,这就满足了...
2020-04-23 15:30:37 1691
原创 数据挖掘:模型选择——关联规则
关联规则介绍关联规则是一种从大型数据库中发现事物间相关性的方法。关联:当某件事物发生时,其他事物也会发生。关联分析:两个或多个事物之间存在一定的关联,那么其中一个事物就能通过其他事物进行预测,其目的是挖掘数据之间的相关性和规律性。比较常见的应用就是购物篮分析,分析用户购买产品的习惯,购买A产品后,购买B产品的概率。网上传的“啤酒和尿布”的故事,虽然是假的,但却是个比较好的例子,来说明事...
2020-04-21 20:24:22 4227
原创 数据挖掘项目:银行信用评分卡建模分析(上篇)
本文主要通过kaggle上Give me some credit数据进行数据分析,并根据信用评分建立原理,构建一个简易的信用评分卡模型——申请评分卡(A卡),并可以对用户自动评分。该项目是一个8年前的老项目,网上的分析说明有很多,但本人通过阅读后,也发现了很多的问题,最大的就是异常值的处理问题。比如通常月薪都是用随机森林直接进行处理,但处理后的结果并不是很理想,比如零点几的月薪。虽然后续的分箱...
2020-04-13 23:50:59 9898 55
原创 数据挖掘项目:银行信用评分卡建模分析(下篇)
以下是银行信用评分卡建模分析下篇的内容,包括特征工程,构建模型,模型评估,评分卡建立这四部分。其中如果有一些地方分析的不正确,希望大家多多指正,感谢!上篇文章的链接:数据挖掘项目:银行信用评分卡建模分析(上篇)4.特征工程特征处理和特征生成特征衍生构建三个新的特征:总违约数,违约计数和每个月的支出。def get_more_features(data): data['AllNu...
2020-04-13 23:49:37 3791
原创 数据挖掘:模型选择——K-means
K-means介绍K-means是一种无监督的聚类算法,根据各个样本数据间距离的大小,将样本分为K个簇。(也就是K个类别)分成K个簇后,想要达到的效果是每个簇内的点尽量相近,而簇与簇之间的距离尽量较大。算法流程如下图所示。随机选取K个样本作为最开始的质心。这样就出现了K个不同的簇。计算每个簇内的所有样本点的均值,将这个均值点作为新的质心。计算所有样本到这些质心的距离,选择其中离某个...
2020-04-08 11:05:41 1618
原创 数据挖掘:模型选择——KNN
KNN简介KNN是监督学习算法,其主要思想就是近朱者赤,近墨者黑。找出新样本与训练数据的最近的K个实例,哪个类别的个数多,就把该样本判定为哪一类。下面用这个图进行下说明。如果选择离新样本最近的3个实例,那么圆被判定为三角,如果选择5个实例,那么则被判定为方块。KNN工作原理工作原理如下:假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系。输入没有标签...
2020-04-06 20:47:35 647
原创 数据挖掘:模型选择——SVM
本文主要参考B站UP主春暖花开Abela讲解的SVM,对SVM的学习进行的整理。另外也推荐B站的白板推导,对数学公式讲解的更为细致。最优化问题在一定条件下,解决求函数的最大/最小值的问题。拉格朗日乘子法拉格朗日乘子法计算模型如下。k为约束条件的个数,hk(x)为约束条件。相切的时候取极值,此时两个函数的梯度共线,所以两个函数分别求导后,应该是线性关系。将有约束的问题转为无约束的问题...
2020-04-05 13:55:54 872 1
原创 数据挖掘:特征提取——PCA与LDA
在数据维度很高时,我们会从中提取出一些有用的特征,降低数据处理的维度,方便计算,这个过程也被叫做降维。一般常用的降维方法有PCA和LDA。PCA:非监督降维,降维后数据的方差尽可能的大(方差大,含有的信息量就大)LDA:有监督降维,降维后,组内(同一类别)方差小,组间(不同类别之间)方差大主成分分析PCAPCA的直观理解PCA的一般用途:聚类:把复杂的多维数据转为少量数据,易...
2020-04-02 10:33:23 8204 1
原创 数据挖掘:模型选择——XGBoost与LightBGM
之前介绍了GBDT算法的一些知识,该算法的拟合能力很强,但由于是前向算法,所以运行起来会很慢,要等前面的结果出来后,才能拟合残差。陈天奇团队研究的XGBoost算法,可以解决这个问题,并且对GBDT有了很大的改进。XGBoost相比GBDT的改进第一,GBDT将目标函数泰勒展开到一阶,而xgboost将目标函数泰勒展开到了二阶。保留了更多有关目标函数的信息,对提升效果有帮助。第二,GBDT是...
2020-04-01 14:20:23 1838 2
原创 50道MySQL经典练习题
这个是网上流传的50道SQL练习题,最近拿来练习,刚做完,这里把我做的答案给大家做个参考,如有错误,还请告知。另外,做题的时候先不要看答案(答案不唯一,只要满足要求即可),要有自己的一个思考过程,这样做出来才能达到最好的训练效果。(感觉做这种题是会上瘾的……)我使用的Mysql版本是5.7.19。SQL语句可能会因数据库系统的不同会有少许差异。这里放上MySQL语法执行的先后顺序:7:SE...
2020-03-30 14:39:17 4288 3
原创 数据挖掘:模型选择——集成算法与树模型
之前介绍的树模型属于弱学习器,本身的算法比较简单,但是与集成算法合并后,会产生更好的效果。比如:决策树+bagging=随机森林;决策树+boosting=提升树这里先简单介绍下集成算法,然后对随机森林和提升树再做说明。集成算法集成算法:通过对多个模型进行组合来解决实际问题。多个模型集成成为的模型叫做集成评估器,组成集成评估器的每个模型都叫做基评估器。而这个“组合”的方式主要有以下两种...
2020-03-29 12:27:39 898
原创 数据挖掘:银行评分卡制作——数据分箱、WOE、IV的意义
在银行评分卡的项目中,通常都会需要把数据分箱,分箱后并不是对数据进行哑变量处理,而是用WOE值去替换,再放入模型中。学习的过程中会对这些操作有些疑问,比如,数据分箱有什么意义,WOE和IV值是干什么的?这里对这些数据处理的意义进行一个说明。数据分箱数据分箱是把连续型数据分为几组,或者把离散数据中类别较多的,进行重新划分,划分为类别数较少的特征。数据分箱的意义把离散特征的类别进行分箱二次...
2020-03-28 23:09:13 12502
原创 数据挖掘:模型选择——树模型
决策树先举个很直观的例子,有如下的一个数据表,根据其中的信息来判断是否去打球。要根据以往的信息,来判断新的信息属于哪种情况,然后得出结论。但是单纯地从这张表上看,感觉会特别繁琐。于是人们想到了用决策树来处理这种情况,if-then的结构人们也比较容易直观理解。...
2020-03-27 14:34:00 1651
原创 数据挖掘:模型选择——逻辑回归
逻辑回归之前介绍的线性回归主要用于回归预测,而逻辑回归主要用于分类任务。逻辑回归是在线性回归的基础上,加上了Sigmoid函数。线性回归的模型是:也可以写作:如果需要预测的值是0-1分布的,那么可以引入一个函数,将线性方程z变为g(z),让g(z)的值在(0,1)之间,当g(z)的值接近0时,样本的类别判为类别0;当g(z)的值接近1时,样本的类别判为类别1.这个函数即为Sigmoi...
2020-03-25 20:59:16 2047 1
原创 数据挖掘:模型选择——线性回归
线性回归一元线性回归最早接触的线性回归是y=ax+b的形式,这是对于一元线性回归来说。我们给入数据,通过最小二乘法,让真实值和预测值的残差平方和(也就是要优化的损失函数)最小。可对系数求一阶导数,让其为0,求得未知的a,b,得到方程。多元线性回归而一般情况下,我们遇到的数据不是只有一个维度,而是多维数据,这时要用到多元线性回归。建立数学模型之前,我们先定义如下变量。监督学习目标便是...
2020-03-24 18:32:03 2929
原创 Tableau可视化学习笔记:day13-14
day 13雷达图实现多个维度间的比较分析。1.处理数据表。选中数据,右键,创建数据透视表。下面的12345是指圆的半径。2.创建计算字段。创建路径,告诉tableau,是怎么进行线与线之间的链接的。这里的9就是进攻能力1,因为要形成一个闭环。最开始的数据与最后的数据一致。创建角度。计算每一个点x,y的坐标。分析,聚合度量。复制Y,创建双轴。添加能力名称。创建计算...
2020-03-23 10:46:15 402
原创 Tableau可视化学习笔记:day11-12
day 11范围-线图对个体和整体进行比较。每一天,每一个不同日期,人工服务接听量的平均值,并根据该公式创建最大值和最小值。先创建线图。放入详细信息里,为了能在添加参考线时显现出来。添加参考线。按照图示更改倾斜图展示单个的指标在不同时期的变化。既能展示大小变化,也能展示排名的变化。创建排名的计算字段。对排名进行编辑表计算。对每一个单元格进行计算。把 排名 ...
2020-03-22 14:58:29 405
原创 Tableau可视化学习笔记:day09-10
day 09计算字段基础根据数据源字段,利用函数和运算符来构造公式来定义的字段。字母最好大写。右边有对应的说明。粒度,聚合与比率粒度:点掉分析,聚合度量。聚合:连续型:最大值,最小值,平均值,总计,中位数等。离散型:最大值,最小值,计数等比率:注意聚合方式详细级别表达式创建详细级别的表达式。对每一个订单求利润关键字区别:表计算快速表计算:汇总:累加差...
2020-03-21 11:29:01 421
原创 Tableau可视化学习笔记:day05-06
day05学习内容数据集合并符号地图用途用图形大小和颜色深浅来表示对应的数据情况。把字符串转为地理位置信息。常用的有城市,国家/地区,省/市/自治区。绘制图形1.直接拖拽为了去掉本来的地图信息。地图,地图层。把国家名称关掉。对于地图上未知的数据。可以点击,手动放入国家,或者直接筛选掉。智能显示插入自定义形状插入.png格式的图片。打开Tableau文件所在...
2020-03-19 15:14:38 290
原创 Tableau可视化学习笔记:day03-04
day03学习内容基本表和凸显表。树形图。气泡图。词云图。基本表和凸显表用途基本表:表格形式展现数据。凸显表:在表格中通过颜色划分,展示数据大小。绘制方法基本表:凸显表:智能显示。选择不同的颜色进行二值划分。色板来选择颜色。渐变颜色选择几种划分。倒序,改变顺序。中心,划分点。树形图用途分类展示数据大小。绘制方法先绘制条形图,然后智能选择,树形...
2020-03-19 12:09:18 345
原创 Tableau可视化学习笔记:day01-02
Tableau简介Tableau是一款优秀的可视化软件,界面上的数据容易操控,实现可视化的过程简单,让人们对数据的理解更加透彻。day01学习内容绘制条形图与直方图。条形图用途用于作数据间的比较。横轴是类别,纵轴是出现频次。分横向和纵向的条形图。若数据名称不好显示,则考虑使用横向条形图。绘制方法将地区(类别)拖拽到列,数据拖拽到行。调整横纵。堆积柱形图。颜色:将分类数据拖...
2020-03-19 09:41:25 489
原创 数据挖掘:模型状态评估
数据挖掘:模型状态评估之前的模型评估仅仅是在评估模型的预测精度怎么样,没有考虑模型过拟合和欠拟合的状态。也就是说,模型拟合出来后,我们要对它进行优化,而如何优化就要看模型目前所处的一个状态,过拟合,欠拟合等。有针对的对模型进行优化。一、模型状态模型的状态可分为两类:过拟合:模型在训练集上的效果好,在测试集上的效果差。欠拟合:模型在训练集和测试集上的效果都不好。而这个效果就是模型评...
2020-02-29 15:13:05 1197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人