Task3 特徵選擇

2022-09-22 05:36:34 字數 2169 閱讀 5367

參考: 

互資訊衡量兩個隨機變數之間的相關性,兩個隨機變數相關資訊的多少。

隨機變數就是隨機試驗結果的量的表示,可以理解為按照某個概率分佈進行取值的變數,比如袋子裡隨機抽取一個小球就是一個隨機變數,互資訊就是對x和y所有可能

的取值的點互資訊的加權和。

點的互資訊pmi從互資訊中衍生出來的

pmi用來衡量兩個事物之間的相關性,公式

在概率論中,當p(x,y) = p(x) * p(y)我們說x於y相互獨立。當概率加上log後,就變成了資訊量。

例子:衡量like這個詞的極性(為正向情感還是負向情感),提前調一個正向情感的詞如nice,算nice和like的pmi

pmi(like,nice) = log(p(like,nice)/p(like)p(nice))。pmi越大表示兩個詞的相關性就越大,nice的正向情感就越明顯。

程式設計求解互資訊:

1

from sklearn import

metrics as mr

2 mr.mutual_info_score([1,2,3,4],[4,3,2,1])

tf-idf

tf:term frequency 詞頻

idf: inverse document frequency逆文件頻率

在開始,我們用詞頻來衡量一個詞的重量程度,這一點是不科學的,如進行簡歷篩選時,大部分人都有的技能並不是hr想要尋找的,反而是那些出現頻率低的。

所以就出現了idf。

n代表語料庫中文字的總數,n(x)代表語料庫中包含x的文字數目。可見出現的頻率越低,idf值越大。

避免0概率事件,我們要進行平滑。

右邊+1是為了避免該詞在所有文字中都出現過,(n(x) = n ,log1=0)。

tf(x)指詞在當前文字中的詞頻。

利用sklearn進行統計tfidf值

1

from sklearn.feature_extraction.text import

tfidfvectorizer

2 corpus =[3'

this is the first document',

4'this is the second second document',

5'and the third one',

6'is this the first document'7

]8 tfidf =tfidfvectorizer()

9 res =tfidf.fit_transform(corpus)

10print(res)

(0, 8)    0.4387767428592343(0, 3)    0.4387767428592343(0, 6)    0.35872873824808993(0, 2)    0.5419765697264572(0, 1)    0.4387767428592343(1, 8)    0.27230146752334033(1, 3)    0.27230146752334033(1, 6)    0.2226242923251039(1, 1)    0.27230146752334033(1, 5)    0.8532257361452784(2, 6)    0.2884767487500274(2, 0)    0.5528053199908667(2, 7)    0.5528053199908667(2, 4)    0.5528053199908667(3, 8)    0.4387767428592343(3, 3)    0.4387767428592343(3, 6)    0.35872873824808993(3, 2)    0.5419765697264572(3, 1)    0.4387767428592343
輸出結果為:(文字id,詞id)tfidf值

Task 3 求最大陣列和

題目 返回一個整數陣列中最大子陣列的和。 要求 輸入一個整形陣列,陣列裡有正數也有負數。 陣列中連續的一個或多個整陣列成一個子陣列,每個子陣...

IFE part1 task1 3

建立一個html 這是我html中的一個段落 通過外聯css新增樣式 設定一級標題的顏色 h1 設定二級標題的顏色 h2 設定段落的字型大小...