Python數據挖掘-詞雲美化
阿新 • • 發佈:2018-10-02
round edge ner hit 數據 odin fit segments content
1、語料庫構建
由於不像之前是對很多個文件進行詞頻統計,所以不需要使用os.walk()方法遍歷每一個文件;
只需使用codecs.open()打開相應的文件,(記得close);
然後使用jieba模塊中的load_userdict()方法導入詞庫
import jieba
import numpy
import codecs
import pandas
file=codecs.open(
"C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\2.5\\紅樓夢.txt",
"r",encoding="utf-8")
content =file.read()
file.close
jieba.load_userdict("C:\\Users\\Jw\\Desktop\\python_work\\Python數據挖掘實戰課程課件\\2.5\\紅樓夢詞庫.txt")
segments=[]
segs=jieba.cut(content)
for seg in segs:
if len(seg)>1:
segments.append(seg)
segmentDF=pandas.DataFrame({
"segment":segments})
2、移除停用詞
首先是讀出停用詞庫,然後通過DataFrame中isin(),取反~的方法來移除停用詞
將篩選後的分詞進行統計
stopwords=pandas.read_csv( "D:\\Python\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.5\\StopwordsCN.txt", encoding="utf-8", index_col=False, quoting=3, sep="\t") segmentDF=segmentDF[ ~segmentDF.segment.isin(stopwords.stopword)] segStat=segmentDF.groupby( by=["segment"] )["segment"].agg({ "計數":numpy.size }).reset_index().sort( columns=["計數"], ascending=False) segStat.head(100)
3、普通詞雲的繪制
from wordcloud import WordCloud import matplotlib.pyplot as plt wordcloud=WordCloud( font_path="D:\\Python\\愛數圈書籍\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.4\\simhei.ttf", background_color="black") words=segStat.set_index("segment").to_dict() wordcloud=wordcloud.fit_words(words["計數"]) plt.imshow(wordcloud) plt.close()
4、詞雲美化
導入scipy.misc中的imread函數,該函數時導入圖片,用於詞雲
從wordcloud模塊中導入WordCloud,ImageColorGenerator函數
ImageColorGenerator是提取圖片顏色
from scipy.misc import imread import matplotlib.pyplot as plt from wordcloud import WordCloud,ImageColorGenerator #導入圖片 bimg=imread("D:\\Python\\愛數圈書籍\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.5\\賈寶玉.png") wordcloud=WordCloud( background_color="white", mask=bimg,font_path="D:\\Python\\愛數圈書籍\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.4\\simhei.ttf") #適配詞雲圖 wordcloud=wordcloud.fit_words(words["計數"]) #圖雲顏色 bimgColors=ImageColorGenerator(bimg) plt.axis("off") plt.imshow(wordcloud.recolor(color_func=bimgColors)) plt.show() bimg=imread("D:\\Python\\愛數圈書籍\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.5\\賈寶玉2.png") wordcloud=WordCloud( background_color="white", mask=bimg,font_path="D:\\Python\\愛數圈書籍\\Python數據挖掘\\Python數據挖掘實戰課程課件\\2.4\\simhei.ttf") wordcloud = wordcloud.fit_words(words[‘計數‘]) plt.figure( num=None,figsize=(8,6),dpi=80,facecolor="w",edgecolor="k") bimgColors=ImageColorGenerator(bimg) plt.axis("off") plt.imshow(wordcloud.recolor(color_func=bimgColors)) plt.show()
Python數據挖掘-詞雲美化