Python機器學習,均值聚類例題

2021-09-06 00:12:46 字數 2237 閱讀 2197

說不定以後能用到

(注意:1.所有答案都需寫在答題紙上,寫在試卷上的無效。

2.涉及資料分析相關庫的使用,假定都已經匯入並且設定了別名,numpy

的別名為np,pandas的別名為pd,matplotlib.pyplot的別名為plt。

3.涉及到使用matplotlib.pyplot作圖的,假定已經經過屬性設定,能

夠正確顯示中文、負號。 )

三、python程式設計題(每題7分,共14分)

已知一批資料,單價和運輸成本是兩個字段,其中的資料有:

單價 運輸成本

3.6 1.6

6.5 2.8

35.9 6.7

5.9 3.2

4.1 1.9

4.4 2.2

1.8 0.7

7.6 4.0

請編寫程式,以單價為特徵、運算成本為標籤,通過學習以上資料構建一元線性回歸演算法模型,在此基礎上,輸出一元線性回歸模型的兩個引數、並呼叫**方法輸出單價為10和20時的運輸成本。

解:from sklearn import linear_model (1分)

#資料(必須是二維陣列)

x = np.array([3.6,6.5,35.9,5.9,4.1,4.4,1.8,7.6]).reshape(8,1) (1分)

#(一位陣列不行,是行)二維陣列8行1列

y = np.array([1.6,2.8,6.7,3.2,1.9,2.2,0.7,4.0]).reshape(8,1) (1分)

#模型建立

model = linear_model.linearregression() (1分)

#模型學習

model.fit(x,y) (1分)

#輸出模型引數

print(model.coef_[0],model.intercept_) (1分)

#模型**(無論是乙個或者多個,必須寫為二維陣列的形式【成列展示】)

print( model.predict([[10],[20]]) ) (1分)

已知一批資料,銷售額和利潤是兩個字段,其中的資料有:

銷售額 利潤

174 86

54 9

90 24

28 19

54 37

15 7

161 33

133 86

如果銷售額和利潤都是特徵,採用k均值聚類演算法學習以上資料,劃分為3個聚類,在此基礎上,輸出兩個聚類中心點的座標,並呼叫**方法輸出**[50,15]、[100,25]、[150,50]這三個點分別是屬於哪個聚類的。

解:from sklearn.cluster import kmeans (1分)

#資料(必須是二維陣列)

x = np.array([[174,86],[54,9],[90,24],[28,19],

[54,37],[15,7],[161,33],[133,86]]) (2分)#8行2列

#模型建立

kmeans = kmeans(n_clusters=3) (1分)

#模型學習

kmeans.fit(x) (1分)

#輸出模型引數

print( kmeans.cluster_centers_) (1分)

#模型**(二維陣列,兩列形式)

print( kmeans.predict([[50,15],[100,25],[150,50]])) (1分)

在上一題的資料基礎上,如果銷售額和利潤都是特徵,假設引入標籤列將以上資料劃分為了[1,1,1,2,2,2,3,3],請採用k鄰近演算法學習以上資料,設定k為3,在此基礎上,呼叫**方法輸出**[50,15]、[100,25]、[150,50]這三個點分別是屬於哪個標籤的。

解:from sklearn.neighbors import kneighborsclassifier (1分)

#資料x = np.array([[174,86],[54,9],[90,24],[28,19],

[54,37],[15,7],[161,33],[133,86]]) (2分)

y = np.array([1,1,1,2,2,2,3,3]) (1分)

#模型建立

knn = kneighborsclassifier(n_neighbors = 3) (1分)

#模型學習

knn.fit(x,y) (1分)

#模型**

print( knn.predict([[50,15],[100,25],[150,50]])) (1分)

機器學習實戰 K均值聚類

1.概述 聚類是一種無監督學習,它將相似的物件歸到同乙個簇中。聚類方法幾乎可以應用於所有物件,簇內的物件越相似,聚類的效果越好。k 均值聚類之所以稱為是因為它可以發現k個不同的簇,且每個簇的中心採用簇中所含值的均值計算而成。2.簇識別 cluster identification 簇識別給出聚類結果...

Python機器學習 9 聚類演算法之K均值

我們之前接觸的所有機器學習演算法都有乙個共同特點,那就是分類器會接受2個向量 乙個是訓練樣本的特徵向量x,乙個是樣本實際所屬的型別向量y。由於訓練資料必須指定其真實分類結果,因此這種機器學習統稱為有監督學習。然而有時候,我們只有訓練樣本的特徵,而對其型別一無所知。這種情況,我們只能讓演算法嘗試在訓練...

機器學習 Python 聚類

一 判斷聚類數目 聚為幾類 1 手肘法 核心思想 import pandas as pd import numpy as np from sklearn.cluster import kmeans import matplotlib.pyplot as plt 資料為data,此處略去輸入過程 利用...