標籤:form intel 機器 樸素貝葉斯 vector rap ace article 大量
在考慮一個結果的機率時候,要考慮眾多的屬性,貝葉斯演算法利用所有可能的資料來進行修正預測,如果大量的特徵產生的影響較小,放在一起,組合的影響較大,適合於樸素貝葉斯分類
匯入類庫
1 from sklearn.datasets import fetch_20newsgroups2 from sklearn.feature_extraction.text import TfidfVectorizer3 from sklearn.naive_bayes import MultinomialNB
代碼
1 def article_category(): 2 categories = [‘alt.atheism‘, ‘soc.religion.christian‘, ‘comp.graphics‘, ‘sci.med‘] 3 twenty_train = fetch_20newsgroups(subset=‘train‘, categories=categories) 4 # print(twenty_train) 5 print(twenty_train.data) 6 print(twenty_train.target) 7 # 將x訓練集詞頻向量化 8 tfidf_transformer = TfidfVectorizer() 9 X_train_tfidf = tfidf_transformer.fit_transform(twenty_train.data)10 11 # 貝葉斯訓練12 clf = MultinomialNB(alpha=1.0).fit(X_train_tfidf, twenty_train.target)13 docs_new = [‘Chemical reaction‘, ‘Intel CPU is good‘]14 15 # 將要預測的資料詞頻向量化16 X_new_tfidf = tfidf_transformer.transform(docs_new)17 # 預測18 predicted = clf.predict(X_new_tfidf)19 print(predicted)20 for doc, category in zip(docs_new, predicted):21 print(‘%r => %s‘ % (doc, twenty_train.target_names[category]))
機器學習——樸素貝葉斯