使用python,将客户关系长度L、消费时间间隔R、消费频率F、飞行里程M和折扣系数的平均值C这5个特征作为航空公司识别客户价值的特征,使用KMEANS进行聚类。
时间: 2024-10-14 10:18:10 浏览: 28
在Python中,要使用K-Means算法对航空公司的客户进行价值聚类,首先需要准备包含客户关系长度L、消费时间间隔R、消费频率F、飞行里程M和折扣系数C这五个特征的数据集。以下是一个简单的步骤:
1. 导入所需的库:
```python
import pandas as pd
from sklearn.cluster import KMeans
import numpy as np
```
2. 加载数据并预处理:
假设数据存储在一个CSV文件中,可以使用pandas读取数据:
```python
data = pd.read_csv('airline_customer_data.csv')
X = data[['L', 'R', 'F', 'M', 'C']].values
```
这里`X`是特征矩阵,每一行代表一个客户。
3. 选择合适的k值(K-Means的聚类数):
你可以通过肘部法则(Elbow Method)或者轮廓系数(Silhouette Coefficient)来确定最佳的聚类数量。例如,使用肘部法则:
```python
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', max_iter=300)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('The Elbow Method')
plt.xlabel('Number of clusters')
plt.ylabel('WCSS')
```
4. 创建并运行K-Means模型:
找到最佳的k值后,创建KMeans实例并拟合数据:
```python
k = 3 # 假设我们选择了3个聚类
kmeans = KMeans(n_clusters=k)
kmeans.fit(X)
labels = kmeans.labels_
```
`labels`变量包含了每个客户的聚类标签。
5. 分析结果:
现在你可以查看每个聚类的客户特征分布,以及计算每个聚类的中心(平均值),即K均值:
```python
centers = kmeans.cluster_centers_
avg_values = centers.mean(axis=0) # 平均值
```
阅读全文