Task 02 樸素貝葉斯 阿里雲天池

2021-10-12 10:16:46 字數 1309 閱讀 8516

鶯尾花資料集–貝葉斯分類

從sklearn庫中匯入貝葉斯模型和資料劃分函式(將所訓練的資料劃分為訓練集和測試集)

import random

import numpy as np

# 使用基於類目特徵的樸素貝葉斯

from sklearn.*****_bayes import categoricalnb

from sklearn.model_selection import train_test_split

# 模擬資料

rng = np.random.randomstate(1)

# 隨機生成600個100維的資料,每一維的特徵都是[0, 4]之前的整數

x = rng.randint(5, size=(600, 100))

y = np.array([1, 2, 3, 4, 5, 6] * 100)

data = np.c_[x, y]

# x和y進行整體打散

random.shuffle(data)

x = data[:,:-1]

y = data[:, -1]

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)

clf = categoricalnb(alpha=1)

clf.fit(x_train, y_train)

acc = clf.score(x_test, y_test)

print("test acc : %.3f" % acc)

output:

test acc : 0.683
# 隨機資料測試,分析**結果,貝葉斯會選擇概率最大的**結果

# 比如這裡的**結果是6,6對應的概率最大,由於我們是隨機資料

# 讀者執行的時候,可能會出現不一樣的結果。

x = rng.randint(5, size=(1, 100))

print(clf.predict_proba(x))

print(clf.predict(x))

output:

[[3.48859652e-04 4.34747491e-04 2.23077189e-03 9.90226387e-01

5.98248900e-03 7.76745425e-04]]

[4]

Task02 樸素貝葉斯的實踐1 阿里雲天池

1.庫函式匯入 import warnings warnings.filterwarnings ignore import numpy as np 載入鶯尾花資料集 from sklearn import datasets 匯入高斯樸素貝葉斯分類器 from sklearn.bayes import...

機器學習 02 樸素貝葉斯

理論部分 樸素貝葉斯基本原理 樸素貝葉斯的三種形式 極值問題情況下的每個類的分類概率 下溢問題如何解決 零概率問題如何解決 sklearn引數詳解 生成模型 在概率統計理論中,生成模型是指能夠隨機生成觀測資料的模型,尤其是在給定某些隱含引數的條件下。它給觀測值和標註資料序列指定乙個聯合概率分布。在機...

機器學習 樸素貝葉斯 02

心得體會 1交叉驗證 從訓練的資料裡隨機抽取作為測試集 4 6樸素貝葉斯過濾垃圾郵件 樸素貝葉斯交叉驗證 deftextparse bigstring import re listoftokens re.split w bigstring return tok.lower for tok in li...