一、數(shù)據(jù)分析與挖掘
一、數(shù)據(jù)分析與挖掘概述
1、數(shù)據(jù)分析與挖掘定義及關(guān)系
數(shù)據(jù)分析:對(duì)已知的數(shù)據(jù)進(jìn)行分析,然后提取出一些有價(jià)值的信息。比如統(tǒng)計(jì)出平均數(shù)、標(biāo)準(zhǔn)差等信息,數(shù)據(jù)分析的數(shù)據(jù)量有時(shí)有時(shí)不會(huì)太大。
數(shù)據(jù)挖掘:是指對(duì)大量的數(shù)據(jù)進(jìn)行分析與挖掘,得到一些未知的、有價(jià)值的信息等。比如從網(wǎng)站的用戶或者用戶行為數(shù)據(jù)中挖掘出用戶潛在需求信息,從而對(duì)網(wǎng)站進(jìn)行改善等。
數(shù)據(jù)分析與挖掘密不可分,數(shù)據(jù)挖掘是數(shù)據(jù)分析的提升。
2、數(shù)據(jù)分析與挖掘的應(yīng)用場(chǎng)景
數(shù)據(jù)挖掘技術(shù)可以幫助我們更好的發(fā)現(xiàn)事物之間的規(guī)律。
我們可以利用數(shù)據(jù)挖掘技術(shù)實(shí)現(xiàn)數(shù)據(jù)規(guī)律的探索,比如發(fā)現(xiàn)竊電用戶、挖掘用戶潛在需求、實(shí)現(xiàn)信息的個(gè)性化推送、發(fā)現(xiàn)疾病與癥狀、甚至疾病與藥物之間的規(guī)律等等。
3、數(shù)據(jù)挖掘的過(guò)程
- 確定目標(biāo)
- 獲取數(shù)據(jù)(自有數(shù)據(jù)、外部數(shù)據(jù)——常用的手段有通過(guò)爬蟲采集或者下載一些統(tǒng)計(jì)網(wǎng)站發(fā)布的數(shù)據(jù))
- 數(shù)據(jù)探索
- 數(shù)據(jù)預(yù)處理(數(shù)據(jù)清洗(去掉臟數(shù)據(jù))、數(shù)據(jù)集成(集中)、數(shù)據(jù)變換(規(guī)范化)、數(shù)據(jù)規(guī)約(精簡(jiǎn)))
- 挖掘建模(分類、聚類、關(guān)聯(lián)、預(yù)測(cè))
- 模型評(píng)價(jià)與發(fā)布
4、數(shù)據(jù)分析與挖掘的相關(guān)模塊
1、相關(guān)模塊的作用
- numpy可以高效處理數(shù)據(jù)、提供數(shù)組支持、很多模塊都依賴它。比如pandas、scipy、matplotlib都依賴它,所以這個(gè)模塊時(shí)基礎(chǔ)。
- pandas用的最多的一個(gè)模塊,主要用于進(jìn)行數(shù)據(jù)探索和數(shù)據(jù)分析。
- matplotlib作圖模塊,解決可視化問題
- scipy主要進(jìn)行數(shù)值計(jì)算,同時(shí)支持矩陣運(yùn)算,并提供了很多高等數(shù)據(jù)處理功能,比如積分、傅里葉變換、微分方程求解等。
- statsmodels模塊主要用于統(tǒng)計(jì)分析
- Gensim模塊朱濤用于文本挖掘
- sklearn模塊用于機(jī)器學(xué)習(xí),keras模塊用于深度學(xué)習(xí)
2、相關(guān)模塊的安裝與技巧
模塊安裝的順序與方式建議如下:
安裝包下載地址:??https://www.lfd.uci.edu/~gohlke/pythonlibs/??
- numpy、mkl(建議下載安裝(包名規(guī)范:numpy-1.15.2+mkl-cp36-cp36m-win_amd64.whl))
- pandas(建議網(wǎng)絡(luò)安裝:pip3 install pandas)
- matplotlib(建議網(wǎng)絡(luò)安裝:pip3 install matplotlib)
- scipy(建議下載安裝(包名規(guī)范:scipy-1.1.0-cp36-cp36m-win_amd64.whl))
- statsmodels(建議網(wǎng)絡(luò)安裝:pip3 install statsmodels)
- Gensim(建議網(wǎng)絡(luò)安裝:pip3 install Gensim)
二、數(shù)據(jù)分析與挖掘相關(guān)模塊使用
1、numpy的使用
numpy的使用教程:????
import numpy x = numpy.array(["a","33","4","12"]) print(x) print(x[2]) print(x.sort()) print(x)
2、pandas的使用
import pandas as pda import pymysql conn = pymysql.connect(host="127.0.0.1", user="test", passwd="test", db="chaxun") sql = "select * from chaxun" data = pda.read_sql(sql,conn) des = data.describe() print(des) i = pda.read_csv("/data/test.csv") i.describe() excel = pda.read_excel("/data/abc.xls")
3、matplotlib的使用
直方圖可以很方便知道數(shù)據(jù)的分部情況。
1、折線圖/散點(diǎn)圖plot
散點(diǎn)、顏色、線條是可以疊加使用的
import matplotlib.pylab as pyl x = [1,2,3,4,8] y = [5,7,1,9,2] # 繪制:plot(x軸數(shù)據(jù),y軸數(shù)據(jù),展現(xiàn)形式) 默認(rèn)是最基本的折線圖 pyl.plot(x,y,'o') # 展現(xiàn)
設(shè)置成不同的顏色
1 c-cyan--青色 2 r-red--紅色 3 m-magente--品紅 4 g-green--綠色 5 b-blue--藍(lán)色 6 y-yellow--黃色 7 k-black--黑色 8
設(shè)置線條的樣式
1 - 直線 2 -- 虛線 3 -. -.形式 4
設(shè)置點(diǎn)的樣式
1 s 方形 2 h 六角形 3 H 六角形 4 * 星形 5 + 加號(hào) 6 x x形 7 d 菱形 8 D 菱形 9
pyl.plot(x, y, '--*y') pyl.show()
添加圖表的標(biāo)題,標(biāo)題
pyl.plot(x, y, '--*r') pyl.title('test') pyl.xlabel("date") pyl.ylabel('score') pyl.show()
設(shè)定x與y軸的范圍:在一個(gè)圖中繪制多條
x1 = [4,15,9,17,20] y1 = [2,3,7,19,21] pyl.plot(x, y, '--*r') pyl.plot(x1, y1, '-Hy') pyl.title('test') pyl.xlabel("date") pyl.ylabel('score') pyl.xlim(0,30) pyl.ylim(0,25) pyl.show()
2、直方圖
隨機(jī)數(shù)的生成:??info-detail-507676.html??
import numpy as npy data = npy.random.random_integers(1,20,1000) #在(最小值,最大值,個(gè)數(shù)) # print(data)
正態(tài)分布:??正態(tài)分布??
西格瑪:??8466948??
data2 = npy.random.normal(5.0, 2.0, 20) #(均數(shù), 西格瑪, 個(gè)數(shù)) print(data2)
直方圖
import numpy as npy data3 = npy.random.normal(10.0, 1.0, 1000) pyl.hist(data3) pyl.show()
設(shè)置直方圖的上下限、取消輪廓
import numpy as npy data4 = npy.random.random_integers(10,30,1000) pyl.hist(data4) # 設(shè)置直方圖的上下限 sty = npy.arange(2, 30, 1) # 取消輪廓 pyl.hist(data4, sty, histtype='stepfilled') pyl.show() # pyl.subplot(5, 3, 2) #(行, 列, 當(dāng)前區(qū)域)
子域
import numpy as npy pyl.subplot(2, 2, 1) x1 = [1,2,3,4,5] y1 = [5,3,5,23,5] pyl.plot(x1, y1) pyl.subplot(2, 2, 2) x2 = [5,2,3,8,6] y2 = [7,9,12,12,3] pyl.plot(x2, y2) pyl.subplot(2, 1, 2) x3 = [5,6,7,10,19,20,29] y3 = [6,2,4,21,5,1,5] pyl.plot(x3, y3) pyl.show()
excel表格處理
import pandas as pda import numpy as npy import matplotlib.pylab as py1 data = pda.read_excel( "E:/Data/python_project/study/Linux_study/data_analysis_and_mining/hexun.xls" ) # 查看excel表的行列數(shù) # print(data.shape) # 結(jié)果:(5697, 6) # 查看指定單元格的數(shù)據(jù):data.values[第幾行][第幾列] # print(data.values) 顯示所有的數(shù)據(jù) # print(data.values[0][1]) # 數(shù)據(jù)轉(zhuǎn)置 data1 = data.T # print(data1) y1 = data1.values[3] x1 = data1.values[4] # py1.plot(x1, y1) # py1.show() x2 = data1.values[0] py1.plot(x2, y1) py1.show()
三、導(dǎo)入數(shù)據(jù)并分析
1、導(dǎo)入csv數(shù)據(jù)
csv是一種常見的數(shù)據(jù)存儲(chǔ)格式,基本上我們遇到的數(shù)據(jù)都可以轉(zhuǎn)為這種存儲(chǔ)格式。在Python數(shù)據(jù)分析中,使用pandas模塊導(dǎo)入csv數(shù)據(jù)。
import pandas as pda i = pda.read_csv("/data/test.csv") i.describe()
2、導(dǎo)入excel數(shù)據(jù)
excel是一種表格文件,在Python數(shù)據(jù)分析,也可以使用pandas模塊導(dǎo)入excel表格里面的數(shù)據(jù)。
import pandas as pda excel = pda.read_excel("/data/abc.xls") excel.describe()
3、分析DB(MySQL)數(shù)據(jù)
import pandas as pda import pymysql conn = pymysql.connect(host="127.0.0.1", user="test", passwd="test", db="chaxun") sql = "select * from chaxun" data = pda.read_sql(sql,conn) des = data.describe() print(des)
4、導(dǎo)入html數(shù)據(jù)
使用pandas,可以直接從html網(wǎng)頁(yè)中加載對(duì)應(yīng)table表格中的數(shù)據(jù),但是在使用read_html()之前,需要安裝html5lib模塊和beautifulsoup4模塊。
import pandas as pda # 只讀取網(wǎng)頁(yè)中的表格 web_table = pda.read_html("https://book.douban.com/") print(web_table)
5、導(dǎo)入文本數(shù)據(jù)
可以直接導(dǎo)入文本數(shù)據(jù)
import pandas as pda txt_table = pda.read_table("test.txt")
四、數(shù)據(jù)探索與數(shù)據(jù)清洗
1、數(shù)據(jù)探索與數(shù)據(jù)清洗的目的與關(guān)系
數(shù)據(jù)探索的目的:及早發(fā)現(xiàn)數(shù)據(jù)的一些簡(jiǎn)單規(guī)律或特征。
數(shù)據(jù)清洗的目的:留下可靠數(shù)據(jù),避免臟數(shù)據(jù)的干擾。
這兩者沒有嚴(yán)格的先后順序,經(jīng)常在一個(gè)階段進(jìn)行。
2、數(shù)據(jù)探索的核心
- 數(shù)據(jù)質(zhì)量分析(跟數(shù)據(jù)清洗密切聯(lián)系)
- 數(shù)據(jù)特征分析(分布、對(duì)比、周期性、相關(guān)性、常見統(tǒng)計(jì)量等)
3、數(shù)據(jù)清洗實(shí)戰(zhàn)
數(shù)據(jù)清洗可以按如下步驟進(jìn)行:
- 缺失值處理(通過(guò)describe與len直接發(fā)現(xiàn),通過(guò)0數(shù)據(jù)發(fā)現(xiàn))
- 異常值處理(通過(guò)散點(diǎn)圖發(fā)現(xiàn))
插補(bǔ)的方式主要有:均值插補(bǔ)、中位數(shù)插補(bǔ)、眾數(shù)插補(bǔ)、固定值插補(bǔ)、最近數(shù)據(jù)插補(bǔ)、回歸插補(bǔ)、拉格朗日插值、牛頓插值法、分段插值等等。
遇到異常值,一般處理方式為視為缺失值、刪除、修補(bǔ)(平均數(shù)、中位數(shù)等等)、不處理。
4、數(shù)據(jù)分布探索實(shí)戰(zhàn)
探索數(shù)據(jù)的分部規(guī)律,非常有用,有時(shí),可以直接發(fā)現(xiàn)數(shù)據(jù)的規(guī)律。(大小范圍適當(dāng)調(diào)整,可以發(fā)現(xiàn)出其中的規(guī)律)
5、示例代碼
import pymysql import numpy as npy import pandas as pda import matplotlib.pylab as pyl #導(dǎo)入數(shù)據(jù) conn = pymysql.connect(host="127.0.0.1", user="root", passwd="123456", db="taobao") sql = "select * from taob" data = pda.read_sql(sql, conn) # print(data.describe()) # 數(shù)據(jù)清洗 # 發(fā)現(xiàn)確實(shí)值,進(jìn)行處理 # 將價(jià)格為的0進(jìn)行控制處理 data["price"][(data["price"] == 0)] = None x = 0 for i in data.columns: for j in range(len(data)): if data[i].isnull()[j]: data[i][j] = "36" x += 1 # print(x) #44 # 異常值處理 # 畫散點(diǎn)圖(橫軸為價(jià)格,縱軸為評(píng)論數(shù)) # 得到價(jià)格(將數(shù)據(jù)轉(zhuǎn)置一下) data2 = data.T price = data2.values[2] # print(price) # 得到評(píng)論數(shù)據(jù) comment = data2.values[3] # pyl.plot(price, comment, "o") # pyl.show() # 評(píng)論數(shù)異常>200000,價(jià)格異常>2300 line = len(data.values) col = len(data.values[0]) da = data.values # 將異常數(shù)據(jù)處理為平均數(shù)或者中位數(shù) # 若數(shù)據(jù)量比較小的話,使用平均數(shù)處理異常數(shù)據(jù),異常數(shù)據(jù)會(huì)收異常數(shù)據(jù)影響比較大 # 若數(shù)據(jù)量比較大可以使用平均數(shù) for i in range(0,line): for j in range(0, col): if da[i][2] > 2300: # print(da[i][j]) da[i][j] = 36 if da[i][3] > 20000: # print(da[i][j]) da[i][j] = 58 # 查看一下異常處理完的數(shù)據(jù)分布情況 da2 = da.T price = da2[2] comment = da2[3] # pyl.plot(price, comment, "o") # pyl.show() # 數(shù)據(jù)分布分析 pricemax = da2[2].max() pricemin = da2[2].min() commentmax = da2[3].max() commentmin = da2[3].min() # 數(shù)據(jù)極差值:最大值減去最小值 pricerange = pricemax - pricemin commentrange = commentmax - commentmin # 組距:極差/組數(shù) price_class_interval = pricerange / 12 comment_class_interval = commentrange / 12 # 畫價(jià)格的直方圖 pricesty = npy.arange(pricemin, pricemax, price_class_interval) pyl.hist(da2[2], pricesty) pyl.show() # 畫評(píng)論的直方圖 commentsty = npy.arange(commentmin, commentmax, comment_class_interval) # pyl.hist(da2[3], commentsty) # pyl.show()
示例代碼
五、數(shù)據(jù)集成
1、數(shù)據(jù)集成概述
數(shù)據(jù)集成一般是把不同來(lái)源的數(shù)據(jù)放在一起。但是來(lái)自多個(gè)地方的數(shù)據(jù)一定要做好實(shí)體識(shí)別與冗余屬性識(shí)別,避免數(shù)據(jù)整合錯(cuò)誤及數(shù)據(jù)重復(fù)。
2、數(shù)據(jù)集成技巧
數(shù)據(jù)集成的過(guò)程
- 觀察數(shù)據(jù)源,發(fā)現(xiàn)其中關(guān)系,詳細(xì)查看是否有同名不同意,同意不同名的情況。
- 進(jìn)行數(shù)據(jù)讀取與整合。
- 去除重復(fù)數(shù)據(jù)。
3、示例代碼
import numpy as nmp a = nmp.array([[1,4,5],[6,7,9]]) b = nmp.array([[2,6,5],[56,8,5]]) print("a:n", a) print("b:n", b) # 數(shù)據(jù)集成 c = nmp.concatenate((a, b)) print("c:n", c)
示例代碼
六、數(shù)據(jù)變換(數(shù)據(jù)預(yù)處理)
1、簡(jiǎn)單變換
簡(jiǎn)單變換的目的是將數(shù)據(jù)轉(zhuǎn)化為更方便分析的數(shù)據(jù)。
簡(jiǎn)單變換通常使用函數(shù)變換的方式進(jìn)行,常見的函數(shù)變換包括:開方、平方、對(duì)數(shù)等。
2.、數(shù)據(jù)規(guī)范化
- 離差標(biāo)準(zhǔn)化(最小-最大標(biāo)準(zhǔn)化)——消除量綱(單位)影響以及變異大小因素的影響 x1 = (x-min) / (max-min) 應(yīng)用場(chǎng)景:將大值數(shù)據(jù)轉(zhuǎn)換為小值數(shù)據(jù)
- 標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化(零-均值標(biāo)準(zhǔn)化)——消除單位影響以及變量自身變異影響。x1 = (x-平均數(shù)) / 標(biāo)準(zhǔn)差
- 小數(shù)定標(biāo)規(guī)范化——消除單位影響 x1 = x / 10 ** (k) k = log10(x的絕對(duì)值的最大值) 解釋:10^? = 2000 那么?=log10(|-2000)
3、離散化
1、連續(xù)性數(shù)據(jù)常用的離散化的方法
- 等寬離散化
- 等頻率離散化
- 一維聚類離散化
4、屬性構(gòu)造
根據(jù)原來(lái)屬性特性根據(jù)需求構(gòu)造出更實(shí)用的屬性。
5、示例代碼
import pymysql import pandas as pda import numpy as npy conn = pymysql.connect(host="127.0.0.1", user="root", passwd="123456", db="taobao") sql = "select price,comment from taob" data = pda.read_sql(sql, conn) print("處理前:n",data.describe()) # 離差標(biāo)準(zhǔn)化 data2 = (data-data.min()) / (data.max()-data.min()) print("n離差標(biāo)準(zhǔn)化:n", data2.describe()) # 標(biāo)準(zhǔn)差(std方法)標(biāo)準(zhǔn)化 data3 = (data-data.mean()) / data.std() print("n標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化:n",data3.describe()) # 小數(shù)定標(biāo)規(guī)范化 # 進(jìn)1取整函數(shù) ceil k = npy.ceil(npy.log10(data.abs().max())) data4 = data/10**(k) # print("n小數(shù)定標(biāo)標(biāo)準(zhǔn)化:n", data4) # 連續(xù)型數(shù)據(jù)離散化 data5 = data["price"].copy() data6 = data5.T data7 = data6.values k = 3 c1 = pda.cut(data7, k, labels=["便宜", "適中", "貴"]) # print(c1) # 非等寬離散化 k = [0,50,100,300,500,2000,data7.max()] c2 = pda.cut(data7, k, labels=["非常便宜", "便宜", "適中", "有點(diǎn)貴", "很貴", "非常貴"]) # print(c2) # 屬性構(gòu)造 import pymysql import pandas as pda import numpy as mpy import imp conn = pymysql.connect(host="127.0.0.1", user="root", passwd="123456", db="hexun") sql = "select * from myhexun" data8 = pda.read_sql(sql, conn) # print(data8) # 評(píng)點(diǎn)比 ch = data8["comment"]/data8["hits"] # print(ch) data8["評(píng)點(diǎn)比"] = ch # file = "./hexun.xls" # data8.to_excel(file, index=False) # 主成分分析 # 若無(wú)法導(dǎo)入,使用pip安裝一下即可 from sklearn.decomposition import PCA import pymysql import pandas as pda import numpy as mpy conn = pymysql.connect(host="127.0.0.1", user="root", passwd="123456", db="hexun") sql = "select hits,comment from myhexun" data9 = pda.read_sql(sql, conn) # print(data9) ch = data9["comment"] / data8["hits"] data9["評(píng)點(diǎn)比"] = ch # 主成分分析進(jìn)行中 pcal = PCA() pcal.fit(data9) # 返回模型中的各個(gè)特征量 characteristic_quantity = pcal.components_ print("n特征量:n", characteristic_quantity) # 各個(gè)成分中各自方差百分比,貢獻(xiàn)率 rate = pcal.explained_variance_ratio_ print("n貢獻(xiàn)率:n", rate) # 將維處理 pca2 = PCA(2) pca2.fit(data9) dimensionality_reduction = pca2.transform(data9) #降維 print("n降維處理:n", dimensionality_reduction) recovery = pca2.inverse_transform(dimensionality_reduction) #恢復(fù) print("n恢復(fù)n", recovery)
示例代碼
七、數(shù)據(jù)規(guī)約
數(shù)據(jù)規(guī)約:就是將數(shù)據(jù)精簡(jiǎn)。
數(shù)據(jù)規(guī)約包括:屬性規(guī)約和數(shù)值規(guī)約。
1、屬性規(guī)約之主成分分析
PCA算法
簡(jiǎn)單易學(xué)的機(jī)器學(xué)習(xí)算法——主成分分析(PCA)?
2、示例代碼
from sklearn.decomposition import PCA import pymysql import pandas as pda import numpy as mpy conn = pymysql.connect(host="127.0.0.1", user="root", passwd="123456", db="hexun") sql = "select hits,comment from myhexun" data9 = pda.read_sql(sql, conn) # print(data9) ch = data9["comment"] / data8["hits"] data9["評(píng)點(diǎn)比"] = ch # 主成分分析進(jìn)行中 pcal = PCA() pcal.fit(data9) # 返回模型中的各個(gè)特征量 characteristic_quantity = pcal.components_ print("n特征量:n", characteristic_quantity) # 各個(gè)成分中各自方差百分比,貢獻(xiàn)率 rate = pcal.explained_variance_ratio_ print("n貢獻(xiàn)率:n", rate) # 將維處理 pca2 = PCA(2) pca2.fit(data9) dimensionality_reduction = pca2.transform(data9) #降維 print("n降維處理:n", dimensionality_reduction) recovery = pca2.inverse_transform(dimensionality_reduction) #恢復(fù) print("n恢復(fù)n", recovery)
示例代碼
八、文本挖掘
安裝相對(duì)應(yīng)的庫(kù)jieba分詞模塊(也可以安裝其他的)
pip3 install
1、文本挖掘的三種模式
- 全模式:分詞會(huì)有重疊
- 精準(zhǔn)模式:每個(gè)詞匯都有優(yōu)先級(jí),首先顯示優(yōu)先級(jí)高的詞(默認(rèn)是精準(zhǔn)模式 )
- 搜索模式
示例代碼
import jieba sentence = "我喜歡上海東方明珠" # 全模式:分詞會(huì)有重疊 word1 = jieba.cut(sentence, cut_all=True) #模式 print("我是全模式:") for item in word1: print(item) #精準(zhǔn)模式:每個(gè)詞匯都有優(yōu)先級(jí),首先顯示優(yōu)先級(jí)高的詞(默認(rèn)是精準(zhǔn)模式 ) print("n我是精準(zhǔn)模式:") word2 = jieba.cut(sentence, cut_all=False) for item in word2: print(item) # 搜索模式 print("n搜索模式:") word3 = jieba.cut_for_search(sentence) for item in word3: print(item)
2、詞性標(biāo)注
1、常用的詞性
1 a:形容詞 2 c:連詞 3 d:副詞 4 e:嘆詞 5 f:方位詞 6 i:成語(yǔ) 7 m:數(shù)詞 8 n:名詞 9 nr:人名 10 ns:地名 11 nt:機(jī)構(gòu)團(tuán)體 12 nz:其他專有名詞 13 p:介詞 14 r:代詞 15 t:時(shí)間 16 u:助詞 17 v:動(dòng)詞 18 vn:名動(dòng)詞 19 w:標(biāo)點(diǎn)符號(hào) 20
示例代碼
from jieba import posseg word4 = posseg.cut(sentence) # .flag 詞性 .word詞語(yǔ) print("n詞性標(biāo)注:") for item in word4: print(item.word+"------"+item.flag)
2、詞典操作
# 自定義詞典加載 # jieba.load_userdict("文件名") # 更改詞頻 word5 = jieba.cut(sentence) for item in word5: print(item) print("n更改詞頻:") jieba.suggest_freq("上海東方", True) word6 = jieba.cut(sentence) for item in word6: print(item) #提取關(guān)鍵詞 from jieba import analyse sentence = "我喜歡上海東方明珠" print("n提取關(guān)鍵詞:") tag = analyse.extract_tags(sentence, 3) print(tag) # 返回詞語(yǔ)的位置 word7 = jieba.tokenize(sentence) for item in word7: print(item) print("n返回詞語(yǔ)的位置:") word8 = jieba.tokenize(sentence, mode="search") for item in word8: print(item) # 分析詞頻實(shí)踐(默認(rèn)的關(guān)鍵詞是20個(gè)) print("n分析血尸的詞頻") data = open("E:/Data/python_project/study/Linux_study/data_handing/text_mining/xueshi", encoding="utf-8").read() tag = jieba.analyse.extract_tags(data, 15) print(tag)