机器学习每周挑战——科技公司裁员

进行数据分析前的准备工作 

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_excel("tech_layoffs.xlsx")
pd.set_option("display.max_columns",1000)
# print(data.head(5))

先做准备工作,将所需要的库导入,并查看数据集的具体情况,为接下来的数据分析做准备

# Company                       公司名称                        融资阶段
# Location_HQ                   总部所在城市                     字段               说明
# Country                       国家                            Series A-Z       第A-Z轮
# Continent                     所在大陆                         Post IPO          已上市
# Laid_Off                      裁员人数                         Acquired          被收购
# Date_layoffs                  裁员时间                         Private Equity    私募股权
# Percentage                    裁员比例
# Company_Size_before_Layoffs   公司裁员前规模
# Company_Size_after_layoffs    公司裁员后规模
# Industry                      行业
# Stage                         融资阶段
# Money_Raised_in_$_mil         筹集资金(单位:百万美元)
# Year                          记录年份

# 以上是对数据集的理解,做数据分析之前一定要对数据集有充分的了解

# 问题描述
# 全球或区域裁员趋势分析
# 行业裁员分析
# 公司规模与裁员关系
# 融资阶段与裁员风险

首先我们先分析时间与裁员之间的关系

plt.figure(figsize=(10,6))
plt.bar(year_data['Year'],year_data['Laid_Off'],color = 'Red')
plt.title("裁员人数与年份的关系图")
plt.xlabel("年份")
plt.ylabel('裁员人数')
plt.show()

从上图可以看出,从2020年到2024年,科技公司每年的裁员数量都有所不同。裁员数量在2023年达到最高峰,而在2020年相对较低。这可能反映了全球经济环境的变化,特别是考虑到2020年全球疫情的影响。

接下来,我们分析行业对裁员的影响

plt.figure(figsize=(10,6))
plt.barh(industy_data['Industry'],industy_data['Laid_Off'],color = 'green')
plt.title("裁员人数与行业类型的关系图")
plt.xlabel("行业类型")
plt.ylabel('裁员人数')
plt.show()

从上图可以看出,不同行业的裁员数量存在显著差异。其中,“Transportation”(交通)行业的裁员数量最多,其次是“Healthcare”(医疗保健)和“Consumer”(消费品)行业。这可能反映了这些行业在特定时间段内的市场动态和挑战。

接下来,我们分析不同公司裁员前后的人数,分析出什么公司裁员前后差距较大

width = 0.4
x = np.arange(len(top_10_companies))
plt.bar(x-width/2, top_10_companies['Company_Size_before_Layoffs'], width, color='blue')
plt.bar(x+width/2, top_10_companies['Company_Size_after_layoffs'], width, color='green')
plt.title('公司裁员前后对比图(前十名)')
plt.xlabel('公司名称')
plt.ylabel('人数')
plt.xticks(x, top_10_companies['Company'])
plt.legend()
plt.show()

从图中可以看出,中小公司裁员较多,部分大公司也进行较多裁员,首当其冲的时中小公司

最后我们分析公司各个发展阶段裁员人数

plt.figure(figsize=(12, 6))
plt.bar(stage_data['Stage'], stage_data['Laid_Off'], color='lightblue')
plt.xlabel('公司发展阶段')
plt.ylabel('裁员数量')
plt.title('不同公司发展阶段的裁员数量')
plt.show()

从上图可以看出,处于“Acquired”(被收购)阶段的公司裁员数量最多,其次是“Post-IPO”(已上市)和“Series H”(第H轮)阶段的公司。这可能反映了这些阶段的公司可能面临的特定挑战,例如整合问题、市场压力或增长放缓。

总结:

  • 裁员数量在2023年达到最高峰,而在2020年相对较低。
  • 不同行业的裁员数量存在显著差异,其中交通、医疗保健和消费品行业的裁员数量最多。
  • 在国家层面,美国、印度和以色列的裁员数量最多。
  • 处于被收购阶段的公司裁员数量最多,其次是已上市和第H轮阶段的公司。

 接下来我们将进行特征重要性分析。这将帮助我们了解哪些因素对裁员数量有最大的影响。

feature_importance = model.feature_importances_
feature = X.columns

sort_index = feature_importance.argsort()
plt.figure(figsize=(12, 6))
plt.barh(range(len(sort_index)), feature_importance[sort_index])
plt.yticks(range(len(sort_index)), [feature[i] for i in sort_index])
plt.xlabel('特征重要性')
plt.title('特征重要性分析')


plt.show()

 

从上图可以看出,对于预测裁员数量,以下特征最为重要:

Money_Raisedin$_mil:公司筹集的资金(单位:百万美元)
Company_Size_before_Layoffs:裁员前公司规模
Date_layoffs:裁员日期
Company_Size_after_layoffs:裁员后公司规模
Percentage:裁员比例

这意味着公司的财务状况(如筹集的资金)和规模是预测裁员数量的关键因素。

***:需要完整代码和数据集的可以私信我

  • 30
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值