自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 【Kay】机器学习——二分类模型的评价

二分类问题:预测这条数据是0还是1的问题1、混淆矩阵数字代表个数2、召回率、准确率、精确率、

2022-06-10 03:20:58 347 1

原创 【Kay】机器学习之XGBoost——鸢尾花数据集

1、导入相关包:2、加载样本数据集并查看数据:①自变量数据: ②因变量数据:3、训练算法并设置参数4、转换数据集格式为Dmatrix 5、训练模型(利用xgb.train()) 6、利用model.predict()进行预测,并查看准确率 7、显示重要特征,可视化树的生成情况 8、将基学习器输出到txt文件二、基于SKlearn接口进行分类1、加载数据集,划分训练集,测试集2、利用xbg.XGBClassifier()训练模型

2022-06-09 15:01:26 2612

原创 【Kay】详解Python中的random()函数

1、python中的random函数random() 方法返回随机生成[0,1)范围内的一个实数randint(a,b)方法随机生成a到b范围内的一个整数randrange(a,b,c)方法生成a到b范围类步长为3的整数2、python中的random函数2random.uniform(a,b)方法生成a~b上一个随机浮点数random.sample(t,n)方法在t中随机的选取n个字符,不放回抽样等同于np.random.choice(t,n,replace = False)随机的选

2022-06-07 01:49:52 1716

原创 【Kay】MySQL日期函数总结

1、获得当前日期+时间:NOW()SELECT NOW()2、获得当前日期:CURDATE()SELECT CURDATE()3、查一下日期列SELECT set_time FROM sys.sys_config;4、日期格式转化:DATE_FORMAT(time, '%Y-%m-%d')SELECT DATE_FORMAT(set_time, '%Y-%m-%d') FROM sys.sys_config;5、日期的加减:DATE_AD

2022-05-16 14:15:51 329

原创 【Kay】留存率相关题目

一、什么是留存以12月1日的新增用户为例,如果12月2日也登录了,就算做次日留存;如果12月3日又登录了,就算做三日留存;12月6日再次登录,就算作7日留存二、SQL实现计算留存率只需要2个字段:用户ID (user_id) 和 登录日期 (login_time)t_user_login:表名 user_id: 用户id,也可用设备ID等 login_time:登录日期时间,例如:2020-05-25 16:03:05...

2022-04-15 20:03:30 406

原创 【Kay】电商数据分析指标拆解

Q:电商数据分析指标万能套路?(销售额GMV下降20%)首先下降25%肯定是不正常的。我会先确认统计口径没有发生变化,以及统计数据的准确性。如果数据确认无误的话:一、考虑外部因素:经典的PEST分析:政策,经济,社会面,技术面二、考虑内部因素:(环比下降:首先要剔除掉某些活动的影响。比如正常情况下每年8月份的GMV是900亿,但是因为公司今年8月份突然举办了一个大型营销活动,造成GMV上涨,进而使得下月GMV下降,应该剔除)同比下降:接下来用人货场分析:人这个角度先拆分,.

2022-04-13 17:14:53 1171

原创 【Kay】SQL行转列、列转行

行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现计算学生平均成绩的代码:SELECT id, AVG(score)FROM studentGROUP BY id;1)长表:2)宽表:考察的问题就是通过SQL语句实现这两种形态转换,长表转宽表即行转列,宽表转长表即列转行01 行转列:sum+if行转列,经典的解决方案有3个①条件聚合,即 sum+if 组合。SQL实现行转列的写法如下:..

2022-04-10 22:33:19 327

原创 【真】遇到的SQL题

【字节】3月:order表如下,找出连续登录7天的用户SELECT id, COUNT(*)FROM(SELECT *, date0 – rk FROM( SELECT *, ROW_NUMBER() OVER(PARTITION BY id, ORDER BY date0) AS rkFROM(SELECT id, DISTINCT DATE(date) AS date0 FROM order)a)b)cGROUP BY idHAVING COUNT(*) >

2022-04-02 22:18:12 81

原创 【Kay】3 数仓建模

基本概念:区分OLTP和OLAP的不同根据OLAP系统展开1. OLTP系统建模方法• OLTP( 在线事务处理) 系统,业务数据库都是这种系统,主要操作是随机读写• 为了保证数据一致性、 减少冗余, 常使用关系模型(ER模型,原则是拆分的越细越好,减少冗余),使用三范式规则(3NF)来减少冗余2.ROLAP系统建模方法Ø OLAP(在线联机分析)• OLAP系统, 主要操作是复杂分析查询; 关注数据整合, 以及分析、 处理性能• OLAP根据数据存...

2022-03-26 21:23:47 2672

原创 【Kay】2 ETL及数仓分层(ODS、DWD、DWS、ADS)

ETL1.ETL简介●将数据从业务数据库经过抽取(extract) 、转换( transform)、加载(load) 至ODS层的过程●整个ETL的实施占的工作量非常大,基本占整个数仓工作的70%。ETL做好了才能进行后续的数据分析。➢数据抽取(Extraction)●抽取的数据源可以分为结构化数据、非结构化数据、半结构化数据➢抽取方式●数据抽取方式有全量同步(初始化装载)、增量同步(数据库只需要第一次全量,之后增量就可以了)两种方式●全量同步会将全部数据进行抽取,一般用

2022-03-26 20:50:56 3339

原创 【Kay】1 数据仓库简介

一、数据仓库简介一、为什么有数仓1、业务数据存在数据库里面:如MySQL、Oracle、SQL Server里面。但业务数据可能形成挤压,产生大量冷数据,为了避免对业务数据库产生影响,需要将冷数据转移到数据仓库。2、将历史数据转移到数据仓库,不仅可以减少业务数据库压力,还可以进行数据分析3、建立数据仓库,使用专门的数据抽取系统,将数据抽取出来,统一各个部门数据,开放接口。数仓面向数据分析,业务数据库面向业务系统二、什么是数仓数据仓库(Data Warehouse,DW).

2022-03-26 20:31:08 2378

原创 【Kay】明日头条新闻SQL题

1.2021年11月每天的人均浏览文章时长统计2021年11月每天的人均浏览文章时长(秒数),结果保留1位小数SELECT DATE_FORMAT(in_time,"%Y-%m-%d") AS dt,ROUND(SUM(TIMESTAMPDIFF(SECOND,in_time,out_time))/COUNT(DISTINCT uid),1) AS avg_viiew_len_secFROM tb_user_logWHERE MONTH(in_time) = 11 AND artical_.

2022-03-19 21:06:06 215

原创 【Kay】某音SQL题目

1.各个视频平均完播率计算有播放记录的每个视频的完播率(结果保留三位小数),并按完播率降序排序SELECT u.video_id, ROUND(SUM(IF(TIMESTAMPDIFF(SECOND,start_time,end_time) >= duration,1,0))/COUNT(start_time),3) AS avg_comp_play_rateFROM tb_user_video_log uINNER JOIN tb_video_info vON u.v.

2022-03-18 21:56:23 329

原创 3 数据分析方法二

1 群组分析方法“群组分析方法”(也叫同期群分析方法)是按某个特征,将数据分为不同的组,然后比较各组的数据,说白了就是对数据分组然后来对比。例如,在学校上体育课的时候,体育老师把男生分为一组打篮球,女生分为一组跳绳。这其实是按性别对学生进行了分组产品发布新版本,产品改版的效果如何?版本更新后用户是增长了,还是流失了?像这类问题,就需要将用户按时间分组,然后比较不同组的用户留存率。所以,群组分析方法常用来分析用户留存率(或者流失率)随时间发生了哪些变化,然后找出用户留下或者离开的原因留存问题中如何

2022-03-17 20:23:20 351

原创 2 数据分析方法一

根据业务场景中分析目的的不同,可以选择对应的分析方法2.1 5W2H分析方法5W是指对于所有的现象和问题解决都追问5个问题:what(是什么)、when(何时)、where(何地)、why(为什么)、who(是谁)。2H是指再追问2个问题:how(怎么做)、how much(多少钱)案例1:如何设计一款产品?这时候可以用5W2H分析方法:what(是什么):这是什么产品?when(何时):什么时候需要上线?where(何地):在哪里发布这些产品?why(为什...

2022-03-17 20:17:16 774

原创 【Kay】HQL利用身份证号判断性别

利用身份证号去判断性别(18位身份证的倒数第二位偶数为女,奇数为男。15位身份证的倒数第一位偶数为女,奇数为男)HQL实现代码:SELECT name,CASE WHEN LENGTH(id) = 18 THEN CASE WHEN SUBSTR(id,-2,1) % 2 = 0 THEN "女" WHEN SUBSTR(id,-2,1) % 2 = 1 THEN "男" ELSE "Unknown" ENDWHEN LENGTH(id) = 15 THEN

2022-03-15 12:44:06 2022

原创 1 数据分析业务指标

1 业务指标1.1 如何理解数据?通常将数据分为3类:用户数据(我是谁)、行为数据(我做了什么)、产品数据1.2 用户数据指标有哪些用户数据指标:用户分3类:新增用户、活跃用户、留存用户1)对于新增用户:日新增用户数2)对于活跃用户:活跃率怎么定义活跃是灵活的,如产品是公众号,可把打开微信文章视为活跃3)对于留存用户:留存率留存可以评估产品对用户的黏性,反映了不同时期获得的新用户的流失情况Facebook的40-20...

2022-03-14 22:21:03 821

原创 9 Hive操作——HQL语言(DML、Join、Hive函数)

一、DML语法之加载数据在Hive中建表成功之后,就会在HDFS上创建一个文件夹,文件夹名字就是表名;文件夹路径默认值是/user/hive/warehouse,可通过改参数修改需要把数据文件移动到对应表文件夹下面, Hive表才能映射成功; 最暴力的方式就是使用hadoop fs –put| -mv等方式直接移动 但是,Hive官方推荐使用Load命令将数据加载到表中注:本地文件系统指的是Hiveserver2服务所在机器(如Node1)的本地Linux文件系统,不是Hive客户

2022-03-09 22:25:40 2212

原创 8 Hive操作—DDL语言

一、Hive数据模型总览每个表都必须归属于某个数据库。故Hive里面首先是数据库,再是表。公司里面可以每个业务线创建一个数据库,属于同一个业务线的数据再分别创建比如评论表、订单表、用户表查看当前数据库:show databases /*查看当前数据库*/二、SQL中DDL语法的作用DDL语言 (Data Definition Language),即数据定义语言,是和库、表相关的语言。仅对database、table进行增删改操作。 DDL核心语法由CREATE、 ALT...

2022-03-09 20:08:44 1496

原创 7 Hive导论

Hive导论一、数据仓库概念数据仓库(Data Warehouse),是一个用于存储、分析的数据系统。数据仓库的目的是分析,为企业提供决策支持(Decision Support)CRM:客户关系管理 ERP:企业资源计划 Billing:支付 Supply Chain:供应链●业务数据的存储问题以中国人寿保险公司为例,保险公司具有多条业务线:人寿险、财险、养老险等。各业务线需要记录包括客户、保单、理赔等信息。这么多业务数据存储在哪里呢...

2022-03-09 18:23:53 2404

原创 【Kay】A/B Test基本原理

一、引入在产品设计场景中,我们经常会遇到多个设计方案的选择,比如,客户端某个页面的某个按钮颜色是用蓝色还是红色,是放在左边还是右边?这时ABTest就是一种帮助我们做决策的更科学的方法ABTest,简单来说,就是做一个测试,为同一个产品目标制定两个方案(比如两个页面一个用红色的按钮、另一个用蓝色的按钮,一个用这个文案另一个用那个文案),让一部分用户使用A方案,另一部分用户使用B方案,然后通过结构化的日志数据分析相关指标,如点击率、转化率等,从而得出那个方案更好ABtest的难度主要在开发..

2022-03-08 22:06:59 2826

原创 【Kay】SQL窗口函数题目

一、每类试卷得分前3名现有试卷信息表examination_info试卷作答记录表exam_record请找到每类试卷得分的前3名,如果两人最大分数相同,选择最小分数大者,如果还相同,选择uid大者实例结果:代码如下:SELECT te.tid,uid,ranking FROM( SELECT tag AS tid, uid, ROW_NUMBER() OVER(PARTITION BY tag .

2022-03-07 21:19:37 303

原创 【Kay】SQL窗口函数学习

​一.窗口函数引入:排名问题:每个部门,分别内部按业绩排名topN问题:找出每个部门排名前N的员工进行奖励面对这类需求,就需要使用sql的高级功能窗口函数了窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理窗口函数的基本语法:<窗口函数> OVER (PARTITION BY <用于分组的列名> ORDER BY <用于排序的

2022-03-07 15:54:59 320

原创 【Kay】SQL聚合函数和分组查询

1.截断平均值请从exam_record数据表中计算所有用户完成SQL类别高难度试卷得分的截断平均值(去掉一个最大值和一个最小值后的平均值)SELECT tag,difficulty,ROUND((SUM(score)-MAX(score)-MIN(score))/(COUNT(score)-2),1)FROM exam_record rLEFT JOIN examination_info iON r.exam_id = i.exam_idWHERE tag = "SQL" AND sc

2022-02-27 21:14:29 408

原创 【Kay】SQL建表操作,索引增删

表的创建、修改与删除1.1 直接创建表: 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLEjohn (column_name1 data_type1 -- 列名和类型必选 [ PRIMARY KEY -- 可选的约束,主键 | FOREIGN KEY -- 外键,引用其他表的键值 | AUTO_...

2022-02-27 18:16:23 174

原创 【Kay】SQL增删改操作、表的创建与修改

一、增加行1.增加两行牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下:用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分; 用户1002在2021年9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。INSERT INTO exam_record(uid,start_time,exam_id,submit_time,score)VALUES(1001,'20

2022-02-27 17:45:43 566

原创 【Kay】MySQL综合题——复旦浙大练题情况

1.运营想要了解复旦大学的每个用户在8月份练习的总题目数和回答正确的题目数,请取出相应明细数据,对于在8月份没有练习过的用户,答题数结果返回0SELECT u.device_id, u.university, COUNT(question_id) AS question_cnt, SUM(IF(result="right",1,0)) AS right_question_cntFROM user_profile uLEFT JOIN ques.

2022-02-26 22:18:39 322

原创 【Kay】MySQL必会常用函数

1.条件函数 CASE WHEN运营想要将用户划分为25岁以下和25岁及以上两个年龄段,分别查看这两个年龄段用户数量SELECTCASEWHEN age<25 OR age IS NULL THEN "25岁以下"WHEN age>=25 THEN "25岁及以上"END AS "age_cut",COUNT(*) AS "number"FROM user_profileGROUP BY age_cut2.日期函数1. 运营想要计算出2021年8月每天.

2022-02-26 19:41:13 323

原创 【Kay】Java多线程

* 多线程的创建 方式一:继承Thread类 * 1. 创建一个继承于Thread类的子类 * 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中 * 3. 创建该子类的对象 * 4. 调用start() * 例子:遍历100以内的所有的偶数class MyThread extends Thread { @Override public void run() { for (int i = 1; i <= ...

2022-02-26 10:53:40 205

原创 【Kay】Java中3种打印print区分

1. print 打印之后不换行2. printf 常用于格式转换,只用于精度转换,打印之后不换行3. println 打印之后换行public class PRINT { public static void main(String[] args) { //1. print 打印之后不换行 //2. printf 常用于格式转换,只用于精度转换,打印之后不换行 //3. println 打印之后换行 int a = 2.

2022-02-11 03:27:35 331

原创 【Kay】Java的一些Bonus

Java的一些Bonuspublic class Bonus { public static void main(String[] args) { //①java中,单引号表示char格式,双引号表示String格式 //②final用法 final String love="love"; //love = "hate"; 报错,因为不能给最终变量love赋值 //③前++,b = ++a,先自增1再赋值;后++,

2022-02-10 23:29:01 259

原创 【Kay】Java输出某个数的个位数、十位数、百位数

Java输出某个数的个位数、十位数、百位数import java.util.Scanner;public class GSB { public static void main(String[] args) { //①输入一个整数,输出其百位数,十位数,个位数。 Scanner input = new Scanner(System.in); System.out.println("请输入第一个数m:"); int a1 = in

2022-02-10 14:07:44 3854

原创 【Kay】Java输出3个数的最大值

Java返回3个数的最大值class Max { public static void main(String[] args) { //②获取三个数的最大值 Scanner input = new Scanner(System.in); System.out.println("请输入3个数字"); int s1 = input.nextInt(); int s2 = input.nextInt();

2022-02-10 14:03:04 1522

原创 【Kay】Java判断正数和负数个数

Java输入一串数字,输入0则返回正数和负数个数import java.util.Scanner;public class nummm { public static void main(String[] args) { Scanner input = new Scanner(System.in); int posi = 0; int nega = 0; while(true){ //写true的话循环会一直进行,写1=1也行

2022-02-10 13:53:51 632

原创 【Kay】Java求两数最大公约数、最小公倍数

一、求两数的最大公约数,最小公倍数import java.util.Scanner;class TEST { public static void main(String[] args) { //③输入两个正整数m,n,求其最大公约数和最小公倍数 Scanner input = new Scanner(System.in); System.out.println("请输入第一个数m:"); int m = input.next.

2022-02-10 13:49:08 90

原创 6 Yarn资源管理器

一、Yarn基本介绍YARN是资源管理和调度平台,可为上层应用提供统一的资源管理和调度资源管理是指管理集群的硬件资源,和内存、 CPU等(磁盘则由HDFS管理)资源调度是指多个程序同时申请计算资源该如何分配,调度的规则。Yarn具有通用性:不仅支持MapReduce程序,还支持Spark,Flink等各种计算程序可以把Hadoop YARN理解为相当于一个分布式的操作系统平台,而MapReduce等计算程序则相当于操作系统上的应用程序, YARN为这些程序提供运算所需的资源(内存、 CPU等)

2022-01-23 20:46:18 2026

原创 5 MapReduce编程模型

一、MapReduce思想MapReduce的思想核心是“先分再合,分而治之”。把一个复杂的问题,按照一定的“分解”方法分为较小的若干部分,然后逐个解决, 然后把各部分的结果进行汇总。Map翻译为映射(Mapping),表示第一阶段,负责“拆分”:即把复杂的任务分解为若干“简单子任务”来并行处理。Reduce翻译为缩减,减少,表示第二阶段,负责“合并”:即对map阶段的结果进行汇总。这两个阶段合起来正是MapReduce思想的体现。二、什么是分布式计算分布式计算和集中式计算是相对的在数据量

2022-01-23 20:43:05 1688

原创 4 HDFS分布式文件系统

一、传统的文件系统所谓传统的文件系统指的单机的文件系统,底层不会横跨多台机器实现。比如windows上的文件系统、 Linux上的文件系统、 FTP文件系统等。这些文件系统的共同特征包括:带有抽象的目录树结构,树都是从/根目录开始往下蔓延;树中节点分为两类: 目录和文件;从根目录开始,节点路径具有唯一性。文件系统中,数据与元数据的区别:数据指存储的内容本身,比如文件、视频、图片等,这些数据底层最终是存储在磁盘等存储介质上的元数据(metadata)又称之为解释性数据,一般指文件大小、最

2022-01-23 20:36:36 947

原创 3 Hadoop导论

一、Hadoop概念和核心组件Hadoop用java语言实现,开源。允许用户使用简单的编程实现跨机器集群对海量数据进行分布式计算处理。#Hadoop的核心组件:Hadoop HDFS(分布式文件存储系统):解决海量数据存储Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度Hadoop MapReduce(分布式计算框架):解决海量数据计算YARN由于支持各种计算引擎运行,不止MR,还有Spark,Flink等,保证了Hadoop地位;Hadoop也支持阿里云、亚马逊替代HDF

2022-01-23 20:32:27 1077

原创 2 Linux基础

一、Linux文件系统概念文件系统的结构通常叫做目录树结构。主流的文件系统都是从/根目录开始的, Linux也不例外,而windows文件系统会以盘符来区分不同文件系统(每个盘相当于一个独立的文件系统)。目录树中节点分为两个种类: 目录(directory)、文件(file)二、3种路径区分当前路径:也叫当前工作目录,当下用户所属的文件夹;相对路径:站在当前工作目录开始的路径, 会随当前路径变化而变化;绝对路径:绝对路径都从/根目录开始,唯一不重复。特殊符号​ . 表示当前路径(

2022-01-23 20:27:50 539

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除