描述数据科学团队中角色分工常用下列维度。进一步以数据可视化直观表达的能力雷达图:
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]]))
这段代码的作用是:
总结一下,这行代码的目的是向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)
这行代码的作用是:
fig.add_subplot()
函数可以在画布(Figure对象)上添加一个子图axes。 总结一下,这行代码实现了创建一个极坐标的子图来绘制雷达图,ax对象用于后续在极坐标子图上进行绘制
fig=plt.figure(figsize=(6,6))
ax=fig.add_subplot(polar=True)#
ax.plot(angles,DataEngieer)
plt.show()
添加标签 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()
ax.set_thetagrids(angles * 180/np.pi, subjects)
这行代码的作用是设置极坐标子图ax上的角度刻度和标签。 具体解释:
angles * 180/np.pi
就是将弧度转换为相应的度数。 ax.set_thetagrids()
函数用于设置极坐标图的径向网格,也就是角度刻度。 总结:这行代码的作用是设置雷达图的角度刻度显示为度数值,并对应设置了标签文本,以显示每个数据点对应的特征信息。
复用上述代码,只需用MLEngineer
替代DataEngineer
输出MLEngineer职位的能力雷达图谱:
数据科学团队的角色分工通常包括:
本文由 mdnice 多平台发布