《機器學習演算法原理與程式設計實踐》筆記
在這裡記錄一下看《機器學習演算法原理與程式設計實踐》這本書的一些東東。
第一章 數學基礎
第二章 中文文字分類
由於書上用的是Python2,而我安裝的Anaconda是Python3,所以在程式碼方面有一些差異,有的甚至不能執行。
TypeError: a bytes-like object is required, not 'str'
就是byte和str的問題,這裡我推薦一篇部落格,看完就基本可以知道byte<–>str是怎麼回事了(byte–>str:decode;str–>byte:encode)。下面是執行成功的程式碼:
import jieba
import os
# 儲存檔案
def savefile(savepath, content):
fp = open(savepath, "wb")
fp.write(content.encode(encoding="utf-8"))
fp.close()
# 讀取檔案
def readfile(path):
fp = open(path, "rb")
content = fp.read()
fp.close()
return content
corpus_path = "train_corpus_small/" # 未分詞分類語料庫路徑
seg_path = "train_corpus_seg/" # 分詞後分類語料庫路徑
catelist = os.listdir(corpus_path) # 獲取catelist下所有子目錄
# 獲取每個目錄下的所有檔案
for mydir in catelist:
class_path = corpus_path + mydir + "/" # 拼出分類子目錄的路徑
seg_dir = seg_path + mydir + "/" # 拼出分詞後的語料分類目錄
if not os.path.exists(seg_dir): # 是否存在目錄,如果不存在就建立
os.makedirs(seg_dir)
file_list = os.listdir(class_path) # 獲取類別目錄下的所有檔案
for file_path in file_list: #遍歷類別目錄下的檔案
fullname = class_path + file_path # 拼出檔名全路徑
content = readfile(fullname).strip() # 讀取檔案內容
content = content.replace("\r\n".encode(encoding="utf-8"),"".encode(encoding="utf-8")).strip() # 刪除換行和多餘的空格
content_seg = jieba.cut(content) # 為檔案內容分詞
#將處理後的檔案儲存到分詞後語料目錄
savefile(seg_dir+file_path," ".join(content_seg))
print("-------END---------")
相關推薦
中文文字分類(機器學習演算法原理與程式設計實踐筆記)
以文字分類演算法為中心,詳細介紹一箇中文文字分類專案的流程及相關知識,知識點涉及中文分詞、向量空間模型、TF-IDF方法、幾個典型的文字分類演算法;主要有樸素貝葉斯演算法,kNN最近鄰演算法。 所用到的外部庫:jieba 分詞、Scikit-Learning
《機器學習演算法原理與程式設計實踐》筆記
在這裡記錄一下看《機器學習演算法原理與程式設計實踐》這本書的一些東東。 第一章 數學基礎 第二章 中文文字分類 由於書上用的是Python2,而我安裝的Anaconda是Python3,所以在程式碼方面有一些差異,有的甚至不
機器學習演算法原理與程式設計實踐 程式碼下載地址
@rover這個是C++模板 --胡滿超 stack<Postion> path__;這個裡面 ”<> “符號是什麼意思?我在C++語言裡面沒見過呢? 初學者,大神勿噴。
機器學習演算法原理與實踐(三)、卡爾曼濾波器演算法淺析及matlab實戰
卡爾曼濾波器是一種利用線性系統狀態方程,通過系統輸入輸出觀測資料,對系統狀態進行最優估計的演算法。而且由於觀測包含系統的噪聲和干擾的影響,所以最優估計也可看做是濾波過程。 卡爾曼濾波器的核心
機器學習演算法原理與實踐(六)、感知機演算法
感知機 感知機是二分類的線性分類模型,輸入為例項的特徵向量,輸出為例項的類別(取+1和-1)。感知機對應於輸入空間中將例項劃分為兩類的分離超平面。感知機旨在求出該超平面,為求得超平面匯入了基於誤分類的損失函式,利用梯度下降法對損失函式進行最優化(最優
《深度學習:原理與應用實踐》中文版PDF
應用 href 書籍 nag tex 原理 圖片 water images 下載:https://pan.baidu.com/s/1YljEeog_D0_RUHjV6hxGQg 《深度學習:原理與應用實踐》中文版PDF,帶目錄和書簽; 經典書籍,講解詳細; 如圖: 《深度學
機器學習演算法原理解析——整合
1. 整合學習(Ensemble learning) 基本思想:讓機器學習效果更好,如果單個分類器表現的很好,那麼為什麼不適用多個分類器呢? 通過整合學習可以提高整體的泛化能力,但是這種提高是有條件的: (1)分類器之間應該有差異性; (2)每個分類器的精度必須大於0.5; 如
分享《深度學習:原理與應用實踐》+PDF+張重生
ofo 51cto 經典 mar src mage 詳細 深度學習 目錄 下載:https://pan.baidu.com/s/1LmlYGbleDhkDAuqoZ2XjAQ更多資料分享:http://blog.51cto.com/14087171 《深度學習:原理與應用實
轉:機器學習演算法原理解析 - 分類
轉:http://www.cnblogs.com/swordfall/p/9517988.html 常見分類模型與演算法 距離判別法,即最近鄰演算法KNN; 貝葉斯分類器; 線性判別法,即邏輯迴歸演算法; 決策樹; 支援向量機; 神經網路; 1. KNN分類演算法
機器學習演算法原理總結系列---演算法基礎之(13)模糊C均值聚類(Fuzzy C-means Clustering)
筆者在韓國Chonnam National University攻讀碩士學位,FCM演算法是professer Lim在這學期主要授課的內容,他說他剛發一篇FCM結合遺傳演算法還有各種腦電訊號處理,搭建分析AD病人的EEG訊號的計算智慧模型。反正就是各種難
機器學習演算法原理總結系列---演算法基礎之(11)聚類K均值(Clustering K-means)
一、原理詳解 歸類: 聚類(clustering) 屬於非監督學習 (unsupervised learning) 無類別標記(class label) 舉例: K-means 演算法: 3.1 Clustering 中
佛爺芸: 深度學習演算法原理與應用系列---深度學習介紹
機器學習演算法已經基本學習完了,在這一系列,佛爺將開始著手學習深度學習的各種演算法和應用,由於本身難度偏大,我會不定期的更新,基本清楚和更加深入的研究深度學習。程式碼方面我基本會使用Tensorf
OpenCV學習筆記(31)KAZE 演算法原理與原始碼分析(五)KAZE的原始碼優化及與SIFT的比較
KAZE系列筆記: 1. OpenCV學習筆記(27)KAZE 演算法原理與原始碼分析(一)非線性擴散濾波 2. OpenCV學習筆記(28)KAZE 演算法原理與原始碼分析(二)非線性尺度空間構建 3. Op
OpenCV學習筆記(30)KAZE 演算法原理與原始碼分析(四)KAZE特徵的效能分析與比較
KAZE系列筆記: 1. OpenCV學習筆記(27)KAZE 演算法原理與原始碼分析(一)非線性擴散濾波 2. OpenCV學習筆記(28)KAZE 演算法原理與原始碼分析(二)非線性尺度空間構
學習筆記1:深入理解Java虛擬機器——JVM高階特性與最佳實踐_OOM(記憶體溢位)_虛擬機器引數設定_MAT
eclipse中設定debug標籤頁的vm引數 1,Run->Debug configurations->Java Application 2,選中已經寫好的專案 3,Arguments->VM arguments 4,在VM arguments 裡面就可以對虛擬機器的
學習筆記1:深入理解Java虛擬機器——JVM高階特性與最佳實踐_走進java_java記憶體區域與記憶體溢位異常
第一部分:走進java Java虛擬機器 程式碼在華章下載 jdk釋出了六個命令列工具和兩個視覺化故障處理工具。 推薦書籍 設計原本 領域特定語言 現在著名的Java虛擬機器 hotspot vm(預設) jrockit vm j9 vm jdk sun jdk op
Hands-on Machine Learning with Scikit-Learn and TensorFlow(中文版)和深度學習原理與TensorFlow實踐-學習筆記
監督學習:新增標籤。學習的目標是求出輸入與輸出之間的關係函式y=f(x)。樸素貝葉斯、邏輯迴歸和神經網路等都屬於監督學習的方法。 監督學習主要解決兩類核心問題,即迴歸和分類。 迴歸和分類的區別在於強調一個是連續的,一個是離散的。 非監督學習:不新增標籤。學習目標是為了探索樣本資料之間是否
機器學習演算法與Python實踐之邏輯迴歸(Logistic Regression)(二)
#!/usr/bin/python # -*- coding:utf-8 -*- import numpy as np from numpy import * import matplotlib.pyplot as plt #處理資料函式 def loadDataSet():
機器學習筆記之八—— knn-最簡單的機器學習演算法以及KD樹原理
上一節結束了線性迴歸、邏輯迴歸,今天一節來介紹機器學習中最簡單的演算法: K近鄰(KNN,全稱K-nearst Neighbor) 概述:判斷一個樣本的label只需要判斷該樣本週圍其他樣本的label。簡言之,朋
機器學習演算法與Python實踐(9)
ElasticNet 是一種使用L1和L2先驗作為正則化矩陣的線性迴歸模型.這種組合用於只有很少的權重非零的稀疏模型,比如:class:Lasso, 但是又能保持:class:Ridge 的正則化屬性.我們可以使用 l1_ratio 引數來調節L1和L2的凸