今日分享:啤酒数据集聚类web
一:流程数组
一、利用pandas库读取数据集文件,加载数据,选取目标数据用于训练微信
二、使用kmeans模型进行聚类训练学习
三、使用matpotlib库以可视化的方式来展现聚类效果spa
二:数据集介绍.net
KMeans聚类理解起来仍是比较容易的,在这里使用一个简单的啤酒数据集进行演示说明。该数据集包括20个样本数据,5个数据特征(品牌,热量,含钠量,酒精量,成本),在聚类时只使用后4个数值特征。3d
三:代码演示code
导入相关库orm
from sklearn.cluster import KMeans
import pandas as pd
聚类代码blog
# 读取本地文件,因为是制表符文件,利用sep指定分割方式
beer = pd.read_csv('data.txt',sep=' ')
print('数据行列信息:\n',beer.shape,'\n')
#聚类时只使用如下四列特征数据
data = beer[["calories","sodium","alcohol","cost"]]
#模型加载数据,括号中参数指定聚类数量 3类
km = KMeans(n_clusters=3).fit(data)
print('类别标签\n',km.labels_)
#将聚类后的标签做为新的一列特征加入到原始数据集中
data['cluster'] = km.labels_
#查看此时数据集的最后五个样本样式
data.tail()
聚类结果
可视化代码
#导入相关库
import matplotlib.pyplot as plt
import numpy as np
#定义一个颜色数组,便于后面与类别一一对应
colors = np.array(['red','green','blue'])
#散点图,因为原始数据集中有4个特征,可是四维空间没法展现,
#因此这里选取两个特征,便可把相应的数据展现在二维平面中,便是聚类数据分布
plt.scatter(beer['calories'],beer['alcohol'],c=colors[beer['cluster']])
#添加横纵坐标标签
plt.xlabel('Calories')
plt.ylabel('Alcohol')
plt.show()
可视化结果
注:数据集已上传至QQ学习群
公众号 QQ群
扫QQ群二维码进交流学习群
或在后台回复:加群
本文分享自微信公众号 - 数据指南(BigDataDT)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。