已有变量“学历”,“工作经验”,“地区”三个变量,以这三个变量做关于薪资的k均值聚类预测模型python代码
时间: 2023-06-10 18:07:40 浏览: 56
以下是基于K均值聚类的薪资预测模型的Python代码:
```python
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
# 读取数据集
data = pd.read_csv('data.csv')
# 数据预处理
scaler = StandardScaler()
X = data[['学历', '工作经验', '地区']]
X_scaled = scaler.fit_transform(X)
# 聚类模型训练
n_clusters = 3 # 聚类数为3
kmeans = KMeans(n_clusters=n_clusters)
kmeans.fit(X_scaled)
# 聚类结果分析
cluster_labels = kmeans.labels_ # 每个样本所属的类别
cluster_centers = kmeans.cluster_centers_ # 聚类中心
data['cluster'] = cluster_labels # 将聚类结果加入原始数据集中
# 预测薪资
edu, exp, area = 2, 5, '北京' # 待预测数据
cluster = kmeans.predict(scaler.transform([[edu, exp, area]]))[0] # 获取待预测数据所属的类别
salary = cluster_centers[cluster][3] # 获取该类别的薪资均值
print('预测薪资为:{:.2f}万/年'.format(salary))
```
说明:
1. 首先读取数据集,并对数据进行预处理,将学历、工作经验、地区三个变量进行标准化处理。
2. 然后使用K均值聚类算法进行模型训练,设定聚类数为3。
3. 训练完成后,将聚类结果加入原始数据集中,方便后续的可视化和分析。
4. 对于待预测的数据,首先使用训练好的模型获取该数据所属的类别,然后再获取该类别的薪资均值,即为预测结果。
请注意,上述代码仅是一个简单的示例,实际使用时需要根据具体数据集进行调整和优化。