sklearn建模及評估(聚類)
作為機器學習工具的 sklearn ,它主要作用是構建模型和評估。其主要的模型分為聚類、分類、迴歸等,而沒有模型也有適應不同場景的多個演算法。接下來我們從這幾點進行簡要總結。
1、聚類模型
聚類的輸入是一組未被標記(所謂 target 值或 lable )的樣本,聚類根據資料自身的距離或相似度將它們劃分為若干組。劃分的原則是組內(內部)距離最小化,而組間(外部)距離最大化。
聚類演算法的實現需要 sklearn 的估計器( Estimator ),估計其擁有 fit 和 predict 兩個方法。以 iris 資料為例,使用 sklearn 估計器狗構建 K-Means 聚類模型,其實力如下程式碼所示:
1.1 構建聚類模型程式碼
from sklearn.datasets import load_iris
from sklearn.preprocessing import MinMaxScaler
from sklearn.cluster import KMeans
iris = load_iris()
iris_data = iris['data'] ##提取資料集中的特徵
iris_target = iris['target'] ## 提取資料集中的標籤
iris_names = iris['feature_names'] ### 提取特徵名
scale = MinMaxScaler().fit(iris_data)## 訓練規則
iris_dataScale = scale.transform(iris_data) ## 應用規則
kmeans = KMeans(n_clusters = 3,
random_state=123).fit(iris_dataScale) ##構建並訓練模型
print('構建的K-Means模型為:\n',kmeans)
result = kmeans.predict([[1.5,1.5,1.5,1.5]])
print('花瓣花萼長度寬度全為1.5的鳶尾花預測類別為:', result[0])
1.2 聚類結果視覺化
import pandas as pd
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt
##使用TSNE進行資料降維,降成兩維
tsne = TSNE(n_components=2,init='random',
random_state=177).fit(iris_data)
df=pd.DataFrame(tsne.embedding_) ##將原始資料轉換為DataFrame
df['labels'] = kmeans.labels_ ##將聚類結果儲存進df資料表
##提取不同標籤的資料
df1 = df[df['labels']==0]
df2 = df[df['labels']==1]
df3 = df[df['labels']==2]
## 繪製圖形
fig = plt.figure(figsize=(9,6)) ##設定空白畫布,並制定大小
##用不同的顏色表示不同資料
plt.plot(df1[0],df1[1],'bo',df2[0],df2[1],'r*',
df3[0],df3[1],'gD')
plt.savefig('C:/Users/yspmm/spydertest/聚類結果2.png')
plt.show() ##顯示圖片
1.3 使用FMI評價聚類模型
sklearn的metrics模組提供提供了聚類模型評價指標。為什麼要評價,目的在於模型時候達到預期效果。
from sklearn.metrics import fowlkes_mallows_score
for i in range(2,7):
##構建並訓練模型
kmeans = KMeans(n_clusters = i,random_state=123).fit(iris_data)
score = fowlkes_mallows_score(iris_target,kmeans.labels_)
print('iris資料聚%d類FMI評價分值為:%f' %(i,score))
參考書:
Python資料分析與應用 黃紅梅、張良均 主編 中國工信出版集團和人民郵電出版社
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18841027/viewspace-2655875/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sklearn建模及評估(分類)
- 【模型評估與選擇】sklearn.model_selection.KFold模型
- 機器學習Sklearn系列:(五)聚類演算法機器學習聚類演算法
- Python數模筆記-Sklearn(2)樣本聚類分析Python筆記聚類
- 聚類模型的演算法效能評價聚類模型演算法
- 分類演算法的評估指標演算法指標
- 評估指標與評分(上):二分類指標指標
- 資料庫效能需求分析及評估模型資料庫模型
- 自我評估
- Support Vector Machines(SVM)如何根據虹膜分類評估性格類別?Mac
- 機器學習之使用sklearn構建據類模型,並且評價模型機器學習模型
- 聚類分析聚類
- kafka容量評估Kafka
- 聚類(part3)--高階聚類演算法聚類演算法
- 聚類之K均值聚類和EM演算法聚類演算法
- 07 聚類演算法 - 程式碼案例三 - K-Means演算法和Mini Batch K-Means演算法效果評估聚類演算法BAT
- 聚類演算法——DBSCAN演算法原理及公式聚類演算法公式
- Xcode 7 Bitcode的工作流程及安全性評估XCode
- NLP教程(2) | GloVe及詞向量的訓練與評估
- 資料資產價值評估常用方法及對比
- 系統效能評價---效能評估
- Linux效能評估工具Linux
- 前端工時評估前端
- 缺陷評估規範
- RAG應用評估
- JuiceFS 效能評估指南UI
- 六種GAN評估指標的綜合評估實驗,邁向定量評估GAN的重要一步指標
- 聚類的基本問題及兩個常用演算法聚類演算法
- 部分聚類演算法簡介及優缺點分析聚類演算法
- 音訊質量評估及音訊處理常用功能音訊
- sklearn基礎及資料處理
- 什麼是風險評估?風險評估需要分析哪些內容?
- 什麼是網路安全風險評估?需要評估哪些內容?
- 基於sklearn的分類器實戰
- 2023愛分析·低程式碼開發平臺市場廠商評估報告:數聚股份
- 【scipy 基礎】--聚類聚類
- 聚類演算法聚類演算法
- k-means聚類聚類