今天完成了機器學習中的KNN算法建模
其中首先是數據集的獲取
本次的數據集是一個網上的一個新聞文本的一個數據集
他是一個EXCEL文件的形式
其中有ID 標題 分類 內容
其中有多個sheet表
進行了分類
其中首先是對數據的獲取
數據的轉化
由excel文件轉化成一個txt文件
txt文件包含一則新聞
一個文件夾代表一個類別
一個類別中包含有多個txt文件
然后數據的預處理
其中數據的預處理包括分詞和去除停用詞
其中數據的分詞是用的jieba分詞
停用詞選用一個停用詞表
其中都是在原txt文件中進行預處理
然后進行數據的划分
由於是數據集的格式不一樣
無法在sklearn庫中直接進行測試集和訓練集的划分
所以選用了手動的划分
也就是單純的進行文件的划分
然后進行訓練集和測試集的一個連接
將所有類別的文件一行一則新聞的形式合成一個txt文件
另一個文件是分類的合成txt文件
其中也是一行代表一則新聞的類別
其中用一個詞典的方式進行類別的一個轉化
然后數據的預處理完成
然后是數據的抽取
直接pandas庫進行文件的讀取
然后進行數據的一個特征抽取
其中要注意就是
數據的抽取是首先從總的文檔
也就是總的新聞文件中獲取一個字典
然后分別對訓練集和測試集的文字特征進行抽取
其中選用的是CountVectorizer 和 Tiidf 詞袋式的特征抽取方法
然后進行KNN算法的建模
其中設置多個KNN算法中的一個鄰近值比較正確率
得出各個結果
分類至此完成