第十七節 K means

2022-09-08 04:18:14 字數 2024 閱讀 2921

sklearn pai:from sklearn.cluster import kmeans

聚類的原理

評價指標:輪廓係數,一般[-1,1]之間,一般超過0-0.1聚類效果已經十分不錯

輪廓係數api##

讀取表prior = pd.read_csv(r"

e:\360downloads\software\降維案列資料\order_products__prior.csv")

products = pd.read_csv(r"

e:\360downloads\software\降維案列資料\products.csv")

order = pd.read_csv(r"

e:\360downloads\software\降維案列資料\order.csv")

aisles = pd.read_csv(r"

e:\360downloads\software\降維案列資料\aisles.csv")

#合併表,prodyct_id按該列合併

_mg = pd.merge(prior, products, on=['

prodyct_id

', '

product_id'])

_mg = pd.merge(_mg, order, on=['

order_id

', '

order_id'])

mt = pd.merge(_mg, aisles, on=['

aisle_id

', '

aisle_id'])

#使用交叉表,構造使用者-購買商品類別表

cross = pd.crosstab(mt['

user_id

'], mt['

aisle'])

#進行主成分分析,將冗餘的商品類別過濾掉,即將少量或者幾乎沒有人購買的商品類別過濾掉

pca = pca(n_components=0.9)

data =pca.fit_transform(cross)

data = data[0:500,:]

#n_clusters 開始聚類中心的數量,init初始化方法,預設k-means++

km = kmeans(n_clusters=4)

km.fit(data)

predict =km.predict(data)

plt.figure(figsize=(10, 10))

colored = ['

orange

', '

green

', '

blue

', '

purple']

colr = [colored[i] for i in

predict]

plt.scatter(data[:,1], data[:,20], color =colr)

plt.xlabel("1

")plt.ylabel('20

')plt.show()

#聚類的評價:輪廓係數在[-1,1]之間,一般超過0-0.1聚類效果已經十分不錯

#第乙個引數特徵值,第二個引數被聚類標記的目標值

print(silhouette_score(data, predict))

第十七節 演算法之二分查詢

c語言程式的經典與否很大在於演算法是否經典,這一節開始朱兆祺帶領大家學習c語言演算法篇。就拿二分查詢下手。text.cpp 定義控制台應用程式的入口點。include stdafx.h int binaryseach int iarray,int key,int n else if iarray i...

第十七節,基本資料型別,其他

enumerate iterable,start 0 自定義列表的下標開始位置 列表變數,要定義的開下標數 預設是0開始的 1 usr bin env python2 coding utf 8 3 a 電腦 滑鼠 鍵盤 顯示器 4 for k,v in enumerate a,1 因為是有鍵和值,所...

第十七周總結

周工作總結及計畫表 部 門 理工大學 姓 名 冉濤 入 職 時 間 2015.7.5 本週已完成工作內容及總結 1 基本完成課程設計要求的三道題目,但還有一些小地方沒有做好,主要是在一些異常處理方面,主要是從控制台輸入時的型別轉換異常,以及gui介面的輸入為空的異常和型別轉換異常。2 課程設計的第四...