航空公司满意度预测
1.背景
近年来,随着全球经济的不断发展和人们生活水平的提高,航空公司的业务规模和客户群体逐渐扩大。越来越多的人选择乘坐飞机出行,同时航空公司也不断推出各种新的服务和产品以提高客户满意度。然而,随着航空业的竞争日趋激烈,客户对于航空公司的期望也越来越高,如何提高客户满意度成为了航空公司所关注的一个重要问题。
2.数据解释
id:唯一的身份证件
Gender:乘客性别(女性、男性)
CustomerType:客户类型(忠诚客户、不忠诚客户)
Age:乘客年龄
TypeOfTravel:乘客飞行类型(个人旅行、商务旅行)
Class:乘客飞机上的旅行舱
FlightDistance:旅程距离
InflightWifiservice:wifi服务
DepartureArrivalTimeCconvenient:出发/到达时间
EaseOfOnlineBooking:在线预订
GateLocation:登机口位置
FoodAndDrink:食物和饮料
OnlineBoarding:网上登机
SeatComfort:座椅舒适度
InflightEntertainment:机上娱乐
OnBoardService:机上服务
LegRoomService:腿部客房服务
BaggageHandling:行李处理
CheckinService:入住服务的
InflightService:机上服务的
Cleanliness:清洁度的
DepartureDelayInMinutes:出发时延误几分钟
ArrivalDelayInMinutes:抵达时延迟几分钟
satisfaction:航空公司满意度(满意、中性或不满意)
3.数据预处理
print("数据的空值数量\n",data.isnull().sum())
# 缺失值使用平均值进行填充
data['ArrivalDelayInMinutes'].fillna(round(data['ArrivalDelayInMinutes'].mean(), 2), inplace=True)
print("数据的空值检测\n",data.isnull().sum())
对于空值的处理,使用字段的平均值进行填充
# 重复值检测
print('重复值的个数为:', data.duplicated().sum())
没有重复值,无需处理。
4.数据可视化
项目主要是对航空公司满意度进行预测,使用透视表将数据进行可视化。
1)满意度分布
在航空公司满意度的统计中,仅有41%的乘客觉得满意,剩下的59%的乘客是中立态度或是不满意.
2)性别与满意度分析
由图可知,在中立态度或是不满意以及满意的调查中,男女比例近似相同。
3)客户忠诚度对于满意度分析
由上图可知,在满意分布的两种情况,忠诚用户居多。
4)飞机延误对于满意度影响分析
由于航班很少有延误很长时间的,所有只讨论延误四个小时的数据。
由上图可知,一旦飞机延误,中立或不满意的人数占比都要多于满意,所以飞机延误很大可能影响满意度。
5.数据建模
本项目使用逻辑回归算法进行对满意度的预测。
1)将非数字字段映射为数字
label = LabelEncoder()
for i in data.columns:
if data[i].dtypes == 'O':
data[i] = label.fit_transform(data[i])
以下是“satisfaction”字段映射完之后的部份数据
2)计算相关系数
cor = round(data.corr(), 2)
labels = cor.columns.tolist()
plt.figure(figsize=(16, 16))
plt.xticks(np.arange(len(labels)), labels=labels,
rotation=90, rotation_mode="anchor", ha="right")
plt.yticks(np.arange(len(labels)), labels=labels)
plt.imshow(cor.values)
for i in range(len(labels)):
for j in range(len(labels)):
text = plt.text(j, i, cor.values[i, j], ha="center", va="center", color="black")
plt.tight_layout()
plt.show()
3)选取关键的特征字段
我们将其他字段对于满意度字段相关系数在(-系数平均,系数平均)之外的数据字段作为关键字段
# 计算关于满意度字段的平均相关系数
mean_cor=round(cor['satisfaction'].values.mean(),2)
# 将相关系数在(-mean_cor,mean_cor)之间的数据删除,相关性不大
drop_cor=[]
for x,y in zip(cor['satisfaction'].index,cor['satisfaction'].values):
if -mean_cor<y<mean_cor:
drop_cor.append(x)
print(drop_cor)
new_data=data.drop(drop_cor,axis=1)
删除的字段为
[‘id’, ‘Gender’, ‘Age’, ‘DepartureArrivalTimeCconvenient’, ‘GateLocation’, ‘DepartureDelayInMinutes’, ‘ArrivalDelayInMinutes’]
4)划分训练集测试集
x=new_data.iloc[:,:-1]
y=new_data.iloc[:,-1:]
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=42)
5)构建模型
model=LogisticRegression(max_iter=2000)
model.fit(x_train,y_train)
6)模型评估
pre=model.predict(x_test)
print(f"预测的准确率={accuracy_score(pre,y_test)}")
print(f"模型预测的概率为{model.predict_proba(x_test)}")
6.总结
经过航空公司满意度分析,我们采用了逻辑回归模型来预测客户的满意度。逻辑回归模型是一种用于二分类问题的机器学习模型,能够预测客户是否满意。
通过对模型进行训练和优化,我们得到了一个精度较高的航空公司满意度预测模型。这个模型可以帮助航空公司及时调整服务策略,提高客户满意度和忠诚度。同时,这个模型也为航空公司提供了一个实用的指标,使航空公司可以更加精确地评估自身的服务质量和客户满意度。
辑回归模型来预测客户的满意度。逻辑回归模型是一种用于二分类问题的机器学习模型,能够预测客户是否满意。
通过对模型进行训练和优化,我们得到了一个精度较高的航空公司满意度预测模型。这个模型可以帮助航空公司及时调整服务策略,提高客户满意度和忠诚度。同时,这个模型也为航空公司提供了一个实用的指标,使航空公司可以更加精确地评估自身的服务质量和客户满意度。
逻辑回归作为一种经典的机器学习模型,其在分类预测问题上具有较高的准确率和稳定性。在航空公司满意度分析中,我们选择逻辑回归模型,也希望通过新的机器学习方法来帮助航空公司提高客户满意度,提供更优质的服务。