数据分析相关知识整理_--秋招面试版

2023-11-06 15:44

本文主要是介绍数据分析相关知识整理_--秋招面试版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、关于sql语句(常问)

1)sql写过的复杂的运算

聚合函数,case when then end语句进行条件运算,字符串的截取、替换,日期的运算,排名等等;行列转换;

eg:行列转换

SELECT userid,

SUM(CASE WHEN subject='语文' THEN score END) as '语文',

SUM(CASE WHEN subject='数学' THEN score END) as '数学',

SUM(CASE WHEN subject='英语' THEN score END) as '英语',

SUM(CASE WHEN subject='政治' THEN score END) as '政治'

FROM tb_score

GROUP BY userid

2)sql的逻辑执行顺序

From—on—join—where--group by—with—having—select—distinct—orderby

3)如何优化sql语句

1  避免 select *,只取需要的列;

2  连接列或where子句创建索引,提高读取速度;写的速度变慢;

3  Update不要写成delete+insert,功能相同但是性能差别很大;

4  减少数据类型的转换;

5  减少不必要的子查询和连接操作;如果要使用子查询,not in 、not exist改成left join写法,in 和 exist可以改写 inner join;

6   综合多个表的数据或连接多个表时可以考虑用临时表分布汇总结果;

7   不要对索引字段进行一些操作,函数、模糊查询、数据类型转换、数学运算,会失去索引的效果;

8   多表连接条件,on where order by(排序)

4)外连接、全连接、左连接、右连接的区别

INNER JOIN:返回两个表之间共同满足连接条件的行;交

Left join:左边表中的所有行,以及右边表中与左表中的行匹配的行;

Right join:右边表中的所有行,以及左边表中与右表中的行匹配的行

FULL OUTER JOIN:返回左表和右表中的所有行

取出A、B表连接之后A表中不符合条件的行

SELECT ### FROM A

Left join

SELECT ### FROM B

ON A.column1 = B.column2

Where B. column2 IS NULL

二、Hadoop、Spark和Hive

1)Hadoop

(核心:Hbase分布式数据库—-管理+MapReduce分布式计算框架+HDFS分布式文件系统存储);批处理框架,适用于大规模数据的离线处理;Java编程)

2)Spark

基于内存的并行计算框架(快),解决了HadoopMapReduce计算模型延迟过高的问题;

可以批处理、交互式处理、流处理,更加灵活地处理离线和实施任务;

多种编程语言;PythonJavaR等;

3)Hive:

数据仓库工具,允许用户查询和分析存储在Hadoop上的数据

三、数据仓库和数据库的区别

1)设计目标:前者支持数据分析和决策制定存储大量历史数据,后者用于管理和维护操作性数据

2)数据类型:前者多种维度,历史数据、汇总数据、维度数据和事实数据;后者主要包含事务性数据,用户信息、订单、交易信息等

3)数据结构:前者星型或雪花型数据模型,包括事实表和维度表,支持复杂的多维数据分析;后者通常是关系型数据模型,表格存储,表格通过关系链接

4)数据量:前者大规模,后者存储量级相对较小的数据集

5)更新频率:前者批处理,更新频率低;后者通常实施更新,适用交互性操作

四、数据库常见数据结构

1)关系型数据,表是基本数据单元,主键唯一标识,外键建立表之间的关联关系;

2)星形数据结构,事实表和维度表,事实表通常是一些指标,例如,营业额、库存量,维度表是描述事实表的信息,如时间、位置、产品;查询性能比较高,但因为只有一个维度无法处理复杂的多维关系,且维度表的数据冗余比较多;

3)雪花型数据结构,星型进一步规范化,维度表进一步分解成多个子维度表,层次结构,减少数据冗余处理多维数据关系,查询起来更复杂多表链接,没那么快

五、非结构化数据的处理和分析

1)数据收集(爬虫、抓取)

2)文本分析、图像处理、音频处理

3)数据转换(数据标准化、特征向量)

六、NLP一般步骤

1)收集和清洗文本数据,删除不需要的字符、停用词、标点符号

2)特征提取,向量化,TF-IDF,词嵌入、词袋模型

TF(t,d)= 词项 t在文档 d 中出现的次数/文档 d 中的总词项数

IDF(t)=log(文档集合的总文档数/包含词项 t 的文档数+1)   评价重要性

3)选择模型:svm、RNN、CNN等

4)训练和评估

七、评价分类常见的指标和公式

准确率=正确的样本数/总样本数

精确度= (真正例) / (真正例 + 假正例) ,预测为正中实际为正的比例

召回率= (真正例) / (真正例 + 假负例) ,实际为正中预测为正的比例

F1 分数(F1 Score),综合评价准确率和召回率=2(准确率*召回率)/准确率+召回率)

ROC 曲线:真正例率与假正例率之间的关系,值越大性能越好

PR 曲线:不同的分类阈值绘制精确度与召回率之间的关系图;AUC PR 曲线下的面积,用于衡量分类器在不同精确度和召回率下的性能

八、分类问题中样本类别不均衡怎么办

1)欠采样、过采样;

2)设置样本权重;

3)使用不同的指标评估(精确度、召回率、F1 分数、ROC-AUC等);

4)集成学习方法处理不均衡的问题

九、假设检验原理

原假设和备择假设,一般原假设没有显著差异,备择假设有显著差异;

基于样本数据计算统计量,设定显著性水平alpha,落在拒绝阈,拒绝原假设;

两类错误:

第一类,原假设为真,拒绝原假设,alpha越低,第一类风险越小;第二类风险越大

第二类,备择假设为真,但是接受原假设;

P值小于显著性水平,拒绝原假设,接受备择。

十、LSTM门控机制

1)遗忘门(Forget Gate):

遗忘门决定了在当前时间步骤应该保留多少过去的信息。它接收当前输入和上一个时间步骤的隐藏状态作为输入,并输出一个0到1之间的值,表示要保留的信息比例。具体来说,遗忘门的计算包括一个Sigmoid激活函数,它的输出乘以上一个时间步骤的细胞状态,以确定要保留的信息。

2)输入门(Input Gate):

输入门决定了要更新细胞状态的哪些部分。它接收当前输入和上一个时间步骤的隐藏状态作为输入,并输出一个0到1之间的值,表示每个部分的更新比例。输入门的计算包括一个Sigmoid激活函数,以确定要更新的部分,以及一个Tanh激活函数,用于生成新的候选值。

3)输出门(Output Gate):

输出门决定了当前时间步骤的隐藏状态应该是什么。它接收当前输入和上一个时间步骤的隐藏状态作为输入,并输出一个0到1之间的值,表示要输出的信息比例。输出门的计算包括一个Sigmoid激活函数,以确定要输出的部分,以及一个Tanh激活函数,用于生成最终的隐藏状态。

十一、Pyecharts的一些可视化函数

Liquid、gauge、Funnel、heatmap、wordcloud、Bar条形图、Line折线图、scatter散点图、EffectScatter涟漪散点图、boxplot箱型图、Pie饼图、Radar雷达图

这篇关于数据分析相关知识整理_--秋招面试版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/357541

相关文章

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费