数据科学团队的角色分工

描述数据科学团队中角色分工常用下列维度。进一步以数据可视化直观表达的能力雷达图:

ML Ops - 机器学习运维

Data Pipelines - 数据流水线

Database - 数据库

Data Viz - 数据可视化

Storytelling - 数据讲故事

Business Insights - 业务洞察

Reporting - 报告

Experimentation - 实验

Stats - 统计

ML Modeling - 机器学习建模

Deployment - 部署

编码实现 Radar Chat

# DS岗位的能力雷达图谱

import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')

rules = ['Data Engineer','ML Engineer','Data Scientists','Data Analysts']

# 添加极坐标网格和标签
# 极轴彼此间隔 360/11 度,角度作为标签提供
# 使用set_thetagrids功能自定义角度和标签的间距。

subjects = ['ML Ops','Data Pipelines','Database','Data Viz','Storytelling','Business Insights','Reporting','Experimentation','Stats','ML Modeling','Deploiomont']

DataEngieer = [80,100,100,20,30,30,44,30,30,30,35]
MLEngineer = [100,60,60,25,30,30,40,80,80,90,100]

# 将角度分成等分,按角度值对应数据值
angles = np.linspace(0,2*np.pi,len(subjects), endpoint=False)
print(angles)

[0.         0.57119866 1.14239733 1.71359599 2.28479466 2.85599332  3.42719199 3.99839065 4.56958931 5.14078798 5.71198664]

补齐完整的圆形

np.concatenate()函数可以用来拼接数组。

subjects.append(subjects[0])
DataEngieer.append(DataEngieer[0])
MLEngineer.append(MLEngineer[0])

Specifically, np.concatenate((angles, [angles[0]]))

这段代码的作用是:

  1. angles数组包含了雷达图每个轴的角度值(比如[0, 60, 120, 180..])
  2. [angles[0]]创建一个只有一个元素的数组,元素值是angles数组的第一个值,也就是0度。
  3. 将angles数组和这个只有一个元素的数组拼接起来,组成一个新的数组。
  4. 这样新的数组的效果是在angles数组的末尾再添加一次0度。
  5. 因为雷达图是个闭合图形,所以这个插在末尾的0度就是起到封闭图形的作用,使最后一个点和第一个点相连,实现闭合。

总结一下,这行代码的目的是向angles数组追加一个0度,以此来实现雷达图的封闭,使其成为一个闭合的多边形。这是绘制雷达图常用的一个技巧。

angles=np.concatenate((angles,[angles[0]]))
print(angles)
[0.         0.57119866 1.14239733 1.71359599 2.28479466 2.85599332
 3.42719199 3.99839065 4.56958931 5.14078798 5.71198664 0.        ]

测试效果图

ax=fig.add_subplot(polar=True) 这行代码的作用是:

  1. fig.add_subplot()函数可以在画布(Figure对象)上添加一个子图axes。
  2. polar=True参数指明添加的这个子图axes使用极坐标系。
  3. 不设置nrows和ncols参数时,默认在1行1列(只有一个子图)。
  4. 返回的ax对象即这个子图的坐标轴对象,后续可以在ax上作图。
  5. 一般绘图时使用直角坐标系(Cartesian coordinates),但在绘制雷达图时需要使用极坐标系(polar coordinates)。
  6. 通过fig.add_subplot(polar=True)可以直接创建一个极坐标的子图axes,而不需要再单独设置。
  7. 这样后面在ax上作图就可以自动使用极坐标模式了。

总结一下,这行代码实现了创建一个极坐标的子图来绘制雷达图,ax对象用于后续在极坐标子图上进行绘制

fig=plt.figure(figsize=(6,6))
ax=fig.add_subplot(polar=True)#
ax.plot(angles,DataEngieer)
plt.show()
alt

添加标签 label

fig=plt.figure(figsize=(6,6))
ax=fig.add_subplot(polar=True)

#basic plot
ax.plot(angles,DataEngieer, 'o--', color='g', label='Data Engineer')

填充绘图区域

可以使用填充函数填充,提供角度和值作为参数。

可以使用颜色和 Alpha 参数设置颜色和不透明度。 在比较多个实体时,最好使用对比色和较低的 alpha 值。

#fill plot
ax.fill(angles, DataEngieer, alpha=0.25, color='g')

#Add labels
ax.set_thetagrids(angles * 180/np.pi, subjects)
plt.grid(True)
plt.tight_layout()
plt.legend()
plt.show()
alt

ax.set_thetagrids(angles * 180/np.pi, subjects)

这行代码的作用是设置极坐标子图ax上的角度刻度和标签。 具体解释:

  1. angles数组包含了每个数据点所在的角度值。
  2. 但是matplotlib的极坐标角度单位默认是弧度值(radians)。
  3. 为了让角度以更易读的度数(degrees)显示,需要将弧度转换为度数。
  4. angles * 180/np.pi就是将弧度转换为相应的度数。
  5. ax.set_thetagrids()函数用于设置极坐标图的径向网格,也就是角度刻度。
  6. 第一个参数就是角度值数组,第二个参数是对应的标签数组。
  7. 这样就可以在图上以度数显示角度刻度和标签文本了。
  8. subjects数组中包含了每个数据点对应的特征标签。

总结:这行代码的作用是设置雷达图的角度刻度显示为度数值,并对应设置了标签文本,以显示每个数据点对应的特征信息。

复用上述代码,只需用MLEngineer 替代DataEngineer 输出MLEngineer职位的能力雷达图谱:

alt

数据科学团队的角色分工通常包括:

  1. 数据科学家(Data Scientist)
  • 使用统计、机器学习等方法对数据进行建模分析,提取价值和洞察
  • 对业务问题进行量化,构建和优化算法模型
  • 用技术手段解决实际业务问题
  1. 数据工程师(Data Engineer)
  • 构建数据处理流水线,对数据进行提取、清理、整合
  • 设计和维护大数据基础架构,如 Hadoop、Spark等
  • 将数据整合到分析平台,确保数据质量
  1. 业务分析师(Business Analyst)
  • 理解业务,定义业务问题,提出分析需求
  • 解释数据科学家的分析结果,制定业务策略
  • 将数据分析成果应用到业务决策中
  1. 数据库管理员/数据仓库工程师(DBA/DWE)
  • 设计数据库和数据仓库,处理大量结构化数据
  • 优化数据库查询,管理和维护数据库服务
  • ETL过程的数据转换和加载
  1. 项目管理者(Project Manager)
  • 制定项目计划,跟踪项目进度和资源
  • 连接技术团队和业务部门,协调沟通
  • 管理数据科学项目的时间表、预算、风险

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6018.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【100天精通python】Day10:函数的创建和调用,参数传递,返回值,变量作用域以及匿名函数

目录 1. 函数的创建和调用 1.1 函数的创建 1.2 调用函数 2 参数传递 2.1 传递方式 2.2 形参和实参 2.3 位置参数 2.4 关键字参数 2.5 可变参数 2.6 为参数设置默认值 3 返回值 4 变量的作用域 4.1 局部变量 4.2 嵌套变量 4.3 全局变量 5 匿名函数&#xff0…

X86设备启动过程

文章目录 一、电源自检二、BIOS自检三、引导设备选择四、主引导记录4.1 0x7c0 五、加载操作系统 x86计算机启动过程,主要分为这几个阶段:电源自检、BIOS自检、引导设备的选择、主引导记录、加载操作系统。 一、电源自检 当我们按下开关键后,…

uni-app image加载错误 404 替换为默认图片

双层v-for 使用item修改 aitem.cat_icon || defaultPic绑定图片src属性为aitem.cat_icon 如果aitem.cat_icon的值为空字符串或undefined&#xff0c;那么默认图片defaultPic被显示出来当图片加载错误时,触发handleImageError方法,将aitem传进去 <!-- 页面--><view …

Java 知识合集 | 多线程与并发

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是 DevO…

直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序——“数据结构与算法”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容是数据结构与算法啦&#xff0c;是排序&#xff01;&#xff01;&#xff01;下面&#xff0c;让我们进入七大排序的世界吧&#xff01;&#xff01;&#xff01; 排序的概念及其运用 排序的概念 排序&#xff1a;所谓排序…

19 数组静态初始化练习

语法&#xff1a; 数据类型[ ] 数组名称 {元素1&#xff0c;元素2&#xff0c;元素3}; public class Demo1 {public static void main(String[] args) {int[] arr {0,1,2,3};System.out.println(arr);System.out.println(arr[0]);System.out.println(arr[1]);System.out.pri…

SpringBoot中间件—ORM(Mybatis)框架实现

目录 定义 需求背景 方案设计 代码展示 UML图 实现细节 测试验证 总结 源码地址&#xff08;已开源&#xff09;&#xff1a;https://gitee.com/sizhaohe/mini-mybatis.git 跟着源码及下述UML图来理解上手会更快&#xff0c;拒绝浮躁&#xff0c;沉下心来搞 定义&#x…

【C++杂货铺】拷贝构造函数

&#x1f4d6;定义 拷贝构造函数是构造函数的一个重载&#xff0c;它的本质还是构造函数&#xff0c;那就意味着&#xff0c;只有在创建对象的时候&#xff0c;编译器才会自动调用它&#xff0c;那他和普通的构造函数有什么区别呢&#xff1f; 拷贝构造函数&#xff0c;是创建…

【数学建模】为什么存在最优策略?

一、说明 在进行优化回归过程&#xff0c;首先要看看是否存在最优策略&#xff1f; 在有限马尔可夫决策过程 &#xff08;MDP&#xff09; 中&#xff0c;最优策略被定义为同时最大化所有状态值的策略。换句话说&#xff0c;如果存在最优策略&#xff0c;则最大化状态 s 值的策…

内存函数及其模拟实现

身体扛不住的时候&#xff0c;意志会带你杀出重围 文章目录 一、memcpy函数 函数介绍 模拟实现 二、memmove函数 函数介绍 模拟实现 三、memset函数 函数介绍 模拟实现 大家好&#xff0c;我是纪宁。这篇文章给大家介绍C语言中常见的内存处理函数。 一、memcpy函数 …

20.matlab数据分析极限(matlab程序)

1.简述 计算极限 MATLAB提供计算极限的limit函数。在其最基本的形式中&#xff0c;limit函数将表达式作为参数&#xff0c;并在独立变量为零时找到表达式的极限。 例如&#xff0c;要计算函数f(x)(x^3 5)/(x^4 7)的极限&#xff0c;因为x趋向于零。 syms xlimit((x^3 5)/…

day42-servlet下拉查询/单例模式

0目录 1.Servlet实现下拉查询&#xff08;两表&#xff09; 2.单例模式 1.实战 1.1 创建工程&#xff0c;准备环境... 1.2 接口 1.3 重写方法 1.4 servlet 1.5 list.jsp list.jsp详解 2.单例模式 2.1 饿汉模式&#xff1a;在程序加载时直接创建对象&#…

学习系统编程No.32【线程互斥实战】

引言&#xff1a; 北京时间&#xff1a;2023/7/19/15:22&#xff0c;昨天更新完博客&#xff0c;和舍友下了一会棋&#xff0c;快乐就是这么简单&#xff0c;哈哈哈&#xff01;总体来说&#xff0c;摆烂程度得到一定的改善&#xff0c;想要达到以前的水准&#xff0c;需要一定…

UTM 4.3 发布:在 macOS 上优雅的使用 QEMU 虚拟化 Windows、Linux 和 macOS

UTM 4.3 发布&#xff1a;在 macOS 上优雅的使用 QEMU 虚拟化 Windows、Linux 和 macOS 在 iOS 中虚拟化 Windows、Linux 和 Unix 请访问原文链接&#xff1a;https://sysin.org/blog/utm-4/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xf…

C语言:杨氏矩阵中查找某数(时间复杂度小于O(N))

题目&#xff1a; 有一个数字矩阵&#xff08;二维数组&#xff09;&#xff0c; 矩阵的每行从左到右是递增的&#xff0c;矩阵从上到下是递增的&#xff0c; 请编写程序在这样的矩阵中查找某个数字是否存在&#xff0c; 要求&#xff1a;时间复杂度小于O(N)。 思路&#xff1…

《零基础入门学习Python》第057讲:论一只爬虫的自我修养5:正则表达式

如果你在课后有勤加练习&#xff0c;那么你对于字符串的查找应该是已经深恶痛绝了&#xff0c;你发现下载一个网页是很容易的&#xff0c;但是要在网页中查找到你需要的内容&#xff0c;那就是困难的&#xff0c;你发现字符串查找并没有你想象的那么简单&#xff0c;并不是说直…

(已解决)RuntimeError: Java gateway process exited before sending its port number

今天用Pycharm远程使用pysaprk解释器时&#xff0c;跑代码出现了这个错误&#xff1a; RuntimeError: Java gateway process exited before sending its port number 找了好多博客都没解决问题&#xff0c;有说重装spark的&#xff0c;有说本地配Java_home的&#xff0c;后面我…

leetcode 47. 全排列 II

2023.7.23 这道题是上一题全排列 的一个升级版。 唯一区别就是需要增加一个树层去重的操作&#xff0c;因为数组nums中允许有重复的元素了&#xff0c;而上一题没有重复元素。 下面看代码&#xff1a; class Solution { public:vector<vector<int>> ans;vector<…

如何评测一个大语言模型?

编者按&#xff1a;大型语言模型&#xff08;Large language models, LLMs&#xff09;因其在学术界和工业界展现出前所未有的性能而备受青睐。随着 LLMs 在研究和实际应用中被广泛使用&#xff0c;对其进行有效评测变得愈发重要。近期已有多篇论文围绕大模型的评测进行研究&am…

RocketMQ教程-(4)-领域模型-消费者分组ConsumerGroup

定义​ 消费者分组是 Apache RocketMQ 系统中承载多个消费行为一致的消费者的负载均衡分组。 和消费者不同&#xff0c;消费者分组并不是运行实体&#xff0c;而是一个逻辑资源。在 Apache RocketMQ 中&#xff0c;通过消费者分组内初始化多个消费者实现消费性能的水平扩展以…