数据降维并使用K-Means法聚类

我对随机选择的30个国家和2017年所有国家的数据进行了主成分分析,并将多维的包括总分排名(排名或许要删除再计算->已删除)及12大指标的数据降维为二维数据,随后使用K-Means法进行聚类分析后得出分类以及散点图图像。

#读取csv文件并整理数据 
def readcsvYear(path):
    namesYear = ['Year','Rank','Total','SA','FE','GG','EC','UD','HF','SL','PS','HR','DP','RD','EX']
    data = pd.read_csv(path,header=None,names=namesYear)
    del data['Rank']
    return data
data2017path = 'datasets/problemE/fsi2017.csv'
data2017 = readcsvYear(data2017path)
#主成分分析 数据降维度
from sklearn.decomposition import PCA
def getPCAData(data,comp):
    pcaClf = PCA(n_components=comp, whiten=True)
    pcaClf.fit(data)
    data_PCA = pcaClf.transform(data) # 用来降低维度
    return data_PCA

def modiData(data):
    x1 = []
    x2=[]
    for i in range(0,len(data+1)):
        x1.append(data[i][0])
        x2.append(data[i][1])
    x1=np.array(x1)
    x2=np.array(x2)
    #重塑数据
    X=np.array(list(zip(x1,x2))).reshape(len(x1),2)
    return X
#绘制样式
def drawKmodel(XData,t):
    plt.figure(figsize=(10,10))
    colors = ['g','r','y','b']
    markers = ['o','s','d','h']
    kmeans_model = KMeans(n_clusters=t).fit(XData)
    for i,l in enumerate(kmeans_model.labels_):
        plt.plot(XData[i][0],XData[i][1],color=colors[l],marker=markers[l],ls='None')
        plt.title('%s Countries K-Means'%(len(XData)))
data2017PCA = getPCAData(data2017,2)
data2017X = modiData(data2017PCA)
drawKmodel(data2017X,4)
178Kmeansnorank.png
178KmeansBig.png
178Kmeans.png
kmeans-first-k3.png

由散点图发现:

  • 各国可根据脆弱等级划分为4类
  • 随机筛选的30个国家分类整体过度平缓(修改语言),但有3个国家区分度明显
  • Rank列数据对散点图影响

http://vinking934296.iteye.com/blog/2356846
下一步:

  • 分类畸变程度分析
  • 聚类效果评估
  • 增加气候指数数据 查看变化
  • 标注国家

目前为止涉及方法有:

  • 时间序列预测法
  • 层次分析法(AHP)
  • 主成分分析(PCA)- 数据降维
  • K-Means硬聚类算法
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容