讀取本地檔案進行分析,分詞中英文都支援,可以換結巴分詞。
訓練樣本可以自己定義,目錄結構就是當前專案的 data_log資料夾,一級目錄是類別,二級目錄是檔案即可。
博主訓練集合 僅供參考:
from sklearn.datasets import load_files
# 載入資料集
training_data = load_files('./data_log', encoding='utf-8')
'''這是開始提取特徵,這裡的特徵是詞頻統計。
'''from sklearn.feature_extraction.text import countvectorizer
count_vect = countvectorizer()
x_train_counts = count_vect.fit_transform(training_data.data)
'''這是開始提取特徵,這裡的特徵是tfidf特徵。
'''from sklearn.feature_extraction.text import tfidftransformer
tfidf_transformer = tfidftransformer()
x_train_tfidf = tfidf_transformer.fit_transform(x_train_counts)
'''使用樸素貝葉斯分類,並做出簡單的**
'''from sklearn.*****_bayes import multinomialnb
clf = multinomialnb().fit(x_train_tfidf, training_data.target)
docs_new = ['danger_degree:1;breaking_sighn:0;event']
x_new_counts = count_vect.transform(docs_new)
x_new_tfidf = tfidf_transformer.transform(x_new_counts)
predicted = clf.predict(x_new_tfidf)
for doc, category in zip(docs_new, predicted):
print('%r => %s' % (doc, training_data.target_names[category]))
'''使用測試集來評估模型好壞。
'''from sklearn import metrics
import numpy as np;
# twenty_test = fetch_20newsgroups(subset='test',categories=categories, shuffle=true, random_state=42)
testing_data = load_files('./predict_test_log', encoding='utf-8')
docs_test = testing_data.data
x_test_counts = count_vect.transform(docs_test)
x_test_tfidf = tfidf_transformer.transform(x_test_counts)
predicted = clf.predict(x_test_tfidf)
print(metrics.classification_report(testing_data.target, predicted,target_names=testing_data.target_names))
print("accurary\t"+str(np.mean(predicted == testing_data.target)))
樸樹貝葉斯分類 拼寫檢查
coding utf 8 貝葉斯分類之拼寫檢查 原理 1.統計每個單詞出現的概率 2.計算輸入單詞與詞典中正確單詞的距離 3.找到概率最大的單詞 import re import collections 提文字中的單詞 defwords text return re.findall a z text...
樸樹貝葉斯演算法
首先就是貝葉斯定理 進行貝葉斯分類一般就是三個過程 1 確定分類的特徵屬性,及其劃分 比如 確定乙個賬號是真實帳號還是假賬號中,確定的特徵屬性是 a1 日誌數量 註冊天數,a2 好友數量 註冊天數,a3 是否使用 真實頭像。在sns社群中這三項都是可以直接從資料庫裡得到或計算出來的。2 訓練分類器 ...
樸素貝葉斯實現的文字分類
參考文章 樸素貝葉斯實現的文字分類原理 coding utf 8 created on 2017 author xyj import jieba import os import random import math deftextprocessing floder path,train size ...