zoukankan      html  css  js  c++  java
  • 聚类--k-means算法

    import os
    import sys
    from sklearn import feature_extraction
    from sklearn.feature_extraction.text import TfidfTransformer
    from sklearn.feature_extraction.text import CountVectorizer
    from sklearn.cluster import KMeans
    labels=["玉米深厚层施肥精量播种机械化技术集成与示范","冀北丘陵山地葡萄优质高效水肥调控技术","机械化土壤保墒技术的研究与应用","有机物料快速高效腐熟及其应用技术","类四","类Ⅴ","华北油田持续稳产关键开发技术研究与应用"]
    if __name__ == '__main__':
        corpus=["玉米 播种机 农业 三农 农机 农资",
                "葡萄 水肥一体化 调控",
                "蔬菜 生物有机肥 有机物",
                "蔬菜 农业 三农 时政",
                "数据传输方式 通信",
                "乌洛托品",
                "华北油田 有效市场 经济建设 经济利润 国内经济 关键 时政 原油 地质"]
        vectorizer=CountVectorizer()#该类会将文本中的词语转换为词频矩阵,矩阵元素a[i][j] 表示j词在i类文本下的词频
        transformer=TfidfTransformer()#该类会统计每个词语的tf-idf权值
        tfidf=transformer.fit_transform(vectorizer.fit_transform(corpus))#第一个fit_transform是计算tf-idf,第二个fit_transform是将文本转为词频矩阵
        word=vectorizer.get_feature_names()#获取词袋模型中的所有词语
        weight=tfidf.toarray()#将tf-idf矩阵抽取出来,元素a[i][j]表示j词在i类文本中的tf-idf权重
        print(word)
        print(weight)
        for i in range(len(weight)):  # 打印每类文本的tf-idf词语权重,第一个for遍历所有文本,第二个for便利某一类文本下的词语权重
            print(u"-------这里输出第", i, u"类文本的词语tf-idf权重------")
            for j in range(len(word)):
                print(word[j], weight[i][j])
        mykms=KMeans(n_clusters=5)
        y=mykms.fit_predict(weight)
        for i in range(0,10):
            label_i=[]
            for j in range(0,len(y)):
                if y[j]==i:
                    label_i.append(labels[j])
            print('label_'+str(i)+':'+str(label_i))
    

     根据corpus进行分类,将lable打入lable_i标签中

    结果截图

  • 相关阅读:
    poj3278 Catch That Cow
    poj2251 Dungeon Master
    poj1321 棋盘问题
    poj3083 Children of the Candy Cor
    jvm基础知识—垃圾回收机制
    jvm基础知识1
    java面试基础必备
    java soket通信总结 bio nio aio的区别和总结
    java scoket aIO 通信
    java scoket Blocking 阻塞IO socket通信四
  • 原文地址:https://www.cnblogs.com/1061321925wu/p/12561816.html
Copyright © 2011-2022 走看看