聚类是大家经常需要解决的问题,运用PYTHON -> KMEANS实现聚类非常简单。以下就是一个实例告诉大家如何简单的进行聚类,并且展示聚类结果。本文的数据源来自百度文库:https://wenku.baidu.com/view/eb73005f9b6648d7c1c746db?from=search
聚类三个步骤:
- 数据预处理
- 模型训练
- 结果展示
结果展示:
成绩相近的同学被分到一个班级。通过数据校验,左上角的绿色区域是成绩最差的班级。?
存在问题:
这些存在的问题,会在之后的练习中解决。
- 原本是希望有相似经历的同学能分到一个班级(相同班级,相同考场)。但是由于数据过小,未被模型成功识别。
- 原本希望分班后,每个班级大小相近。但是也未实现。
代码展示:
import pandas as pd
import math
from sklearn.cluster import KMeans
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
inputfile = '.\data\EXAMSCORE.csv'
outputfile = '.\data\class_res.csv'
exam_score_data = pd.read_csv(inputfile)
# print(exam_score_data.keys())
### 1. 数据预处理
exam_score_data = exam_score_data.drop(columns=['座号','姓名','综合','总分','年序'])
exam_score_data = exam_score_data.applymap(lambda x: