機器學習演算法高階一

2022-09-19 10:09:13 字數 2452 閱讀 8189

- 長文字的智慧型解析實戰

如何從紛繁多變、資訊量龐雜的冗長文字中獲取關鍵資訊,一直是文字領域難題。隨著深度學習的熱潮來臨,有許多新方法來到了 nlp 領域,給相關任務帶來了更多優秀成果,也給大家帶來了更多應用和想象的空間。

- 用傳統的監督學習模型對一段文文字進行分類的基本過程:

一段原始文字→(資料預處理)→處理後的文字→(特徵工程)→features→(輸入)→

→(輸出)→類別

注:特徵工程是整個機器學習過程中最要的部分。特徵決定了機器學習的上限,而機器學習演算法只是逼近這個上限。

train_set.csv:此資料集用於訓練模型,每一行對應一篇文章。文章分別在「字」和「詞」的級別上做了脫敏處理。共有四列: 第一列是文章的索引(id),第二列是文章正文在「字」級別上的表示,即字元相隔正文(article);第三列是在「詞」級別上的表示,即詞語相隔正文(word_seg);第四列是這篇文章的標註(class)。

注:每乙個數字對應乙個「字」,或「詞」,或「標點符號」。「字」的編號與「詞」的編號是獨立的!

test_set.csv:此資料用於測試。資料格式同train_set.csv,但不包含class。

- countvectorizer() #文字特徵提取

- 達觀杯智慧型文字處理競賽**

1

#-*- coding: utf-8 -*-

2"""

3created on sat dec 1 17:14:12 201845

@author: administrator

6"""78

9print("

開始......")

10import

pandas as pd11#

pandas用於處理更大的資料集

12from sklearn.linear_model import

logisticregression13#

定義邏輯回歸函式

14from sklearn.feature_extraction.text import

countvectorizer15#

定義文字特徵提取

16 df_train = pd.read_csv('

./train_set.csv')

17 df_test = pd.read_csv('

./test_set.csv')

18 df_train.drop(columns=['

article

','id

'], inplace=true)19#

刪除指定列 , inplace可選引數

20 df_test.drop(columns=['

article

'],inplace=true)21#

測試資料刪除指定列article

22 vectorizer = countvectorizer(ngram_range=(1,2),min_df=3,max_df=0.9,max_features=100000)

23 vectorizer.fit(df_train['

word_seg'])

24 x_train = vectorizer.transform(df_train['

word_seg'])

25 x_test = vectorizer.transform(df_test['

word_seg'])

26 y_train = df_train['

class

']-127#

訓練一分類器28#

知識點定位:統監督學習演算法之線性邏輯回歸模型aaa

29 lg = logisticregression(c=4,dual =true)30#

c:正則化係數λ的倒數,float型別,預設為1.0。31#

必須是正浮點型數。像svm一樣,越小的數值表示越強的正則化;

32lg.fit(x_train,y_train)

33'''

根據訓練好的分型別對測試集的樣本進行**

'''34 y_test =lg.predict(x_test)

35"""

儲存**結果至本地

"""36 df_test['

class

'] = y_test.tolist()#

tolist()將陣列或者矩陣轉換成列表

37 df_test['

class

'] = df_test['

class

'] + 1

38 df_result = df_test.loc[:,['

id','

class']]

39 df_result.to_csv('

./result.csv

',index =false)

4041

print("

ok")

機器學習 高階演算法課程學習總結

作為乙個機器學習方面的小白,在閔老師課上學的兩個聚類演算法,即經典的k means聚類和基於隨機遊走的聚類演算法,是我學習到的頭兩個與機器學習相關的演算法。演算法課上,閔老師先講了簡單但是經典的k means聚類演算法,讓我們對聚類演算法有了乙個初步的理解,緊接著又花了大量的時間剖析了基於隨機遊走的...

機器學習 KNN演算法(一)

k近鄰 k nearest neighbor,k nn 1968年提出了最初的鄰近演算法 是一種基於分類和回歸的演算法 基於例項的學習 懶惰學習 演算法思想 給定測試樣本,基於某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然後基於這k個鄰居的資訊來 通常,在分類任務中,可使用 投票法 即選擇這k...

機器學習演算法筆記(一)

1 容斥原理 a.容斥原理是組合數學方法,可以求解集合 復合事件的概率等。b.計算幾個集合並集的大小,先計算出所有單個集合的大小,減去所有兩個集合相交的部分,加上三個集合相交的部分,再減去四個集合相交的部分,以此類推,一直計算到所有集合相交的部分。c.概率論 事件ai i 1,n p ai 為對應事...