今日分享:啤酒數據集聚類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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。