[2019-07-25] no machine learning algorithm example of unsupervised learning clustering K-Means (1999, China's consumer city classification)

 

sample

Beijing, 2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64
Tianjin, 2459.77,495.47,697.33,302.87,284.19,735.97,570.84,305.08
Hebei, 1495.63,515.90,362.37,285.32,272.95,540.58,364.91, 188.63
Shanxi, 1406.33,477.77,290.15,208.57,201.50,414.72,281.84,212.10
Inner Mongolia, 1303.97,524.29,254.83,192.17,249.81,463.09,287.87,192.96
Liaoning, 1730.84,553.90,246.91,279.81,239.18,445.20,330.24 , 163.86
Jilin, 1561.86,492.42,200.49,218.36,220.69,459.62,360.48,147.76
Heilongjiang, 1410.11,510.71,211.88,277.11,224.65,376.82,317.61,152.85
Shanghai, 3712.31,550.74,893.37,346.93,527.00,1034.98, 720.33,462.03
Jiangsu, 2207.58,449.37,572.40,211.92,302.09,585.23,429.77,252.54
Zhejiang, 2629.16,557.32,689.73,435.69,514.66,795.87,575.76,323.36
Anhui, 1844.78,430.29,271.28,126.33,250.56,513.18,314.00,151.39
Fujian, 2709.46,428.11,334.12,160.77,405.14,461.67,535.13,232.29
Jiangxi, 1563.78,303.65,233.81,107.90,209.70,393.99,509.39, 160.12
Shandong, 1675.75,613.32,550.71,219.79,272.59,599.43,371.62,211.84
Henan, 1427.65,431.79,288.55,208.14,217.00,337.76,421.31,165.32
Hunan, 1942.23,512.27,401.39,206.06,321.29,697.22,492.60 , 226.45
Hubei, 1783.43,511.88,282.84,201.01,237.60,617.74,523.52,182.52
Guangdong, 3055.17,353.23,564.56,356.27,811.88,873.06,1082.82,420.81
Guangxi, 2033.87,300.82,338.65,157.78,329.06,621.74, 587.02,218.27
Hainan, 2057.86,186.44,202.72,171.79,329.65,477.17,312.93,279.19
Chongqing, 2303.29,589.99,516.21,236.55,403.92,730.05,438.41,225.80
Sichuan, 1974.28,507.76,344.79,203.21,240.24,575.10,430.36,223.46
Guizhou, 1673.82,437.75,461.61,153.32,254.66,445.59,346.11,191.48
Yunnan, 2194.25,537.01,369.07,249.54,290.84,561.91,407.70, 330.95
Tibet, 2646.61,839.70,204.44,209.11,379.30,371.04,269.59,389.33
Shaanxi, 1472.95,390.89,447.95,259.51,230.61,490.90,469.10,191.34
Gansu, 1525.57,472.98,328.90,219.86,206.65,449.69,249.66 , 228.19
Qinghai, 1654.69,437.77,258.78,303.00,244.93,479.53,288.56,236.51
Ningxia, 1375.46,480.89,273.84,317.32,251.08,424.75,228.73,195.93
Xinjiang, 1608.82,536.05,432.46,235.82,250.28,541.30, 344.85,214.40

 

AS NP numpy Import 
from sklearn.cluster KMeans # Import KMean introduced clustering algorithm 

DEF the loadData (filePath): 
    fr = Open (filePath, 'R & lt +') is opened for reading # 
    Lines fr.readlines = () 
    retData = [] 
    retCityName = [] 
    for Line in Lines: 
        #Print (Line) 
        . line.strip items = () split ( ",") to # for the division returns a list, strip remove \ the n- 
        #Print (items) 
        retCityName.append (items [ 0]) # The data location, city name added 
        retData.append ([a float (items [I]) for I in Range (. 1, len (items))]) 
    return retData, retCityName 

IF the __name__ == '__main__': 
    data , cityName = loadData ( 'city.txt' ) # import data 
    number km = KMeans (n_clusters = 4) # cluster center 
    label = km.fit_predict (data) # call algorithm based label, n_clusters = 4 divided into classes, from the default call Euclidean space
    #Print (label) 
    #Print (km.cluster_centers_) 
    Expenses = np.sum (km.cluster_centers_, Axis =. 1) # summation cost 
    #Print (Expenses) 
    #Print (Expenses) 
    CityCluster = [[], [], [ ], []] # dimensional array, corresponding to =. 4 n_clusters 
    for i in range (len (cityName)): 
        . CityCluster [label [I]] the append (cityName [I]) # were added to the array 

    for i in range (len (CityCluster)): 
        Print ( "to the Expenses:.%. 2F"% Expenses [I]) 
        Print (CityCluster [I])

  Output

Guess you like

Origin www.cnblogs.com/ymzm204/p/11247382.html