朴素贝叶斯作业

本文通过一个具体实例演示了如何使用Python进行概率计算。首先定义了男性和女性穿鞋的概率,然后计算了总体穿鞋的概率以及在已知穿鞋情况下男性和女性的概率。此例有助于理解条件概率的概念。


from fractions import Fraction
# 初始条件规定

# 性别概率
p_men = Fraction(2, 3)
p_women = Fraction(1, 3)

p_men_wear = Fraction(1, 2) # 男性穿鞋的概率
p_women_wear = Fraction(2, 3) # 女性穿鞋概率

# 穿与不穿构成一个全概率
all_obbs = lambda x, y, m, n: x*y + m*n
p_wear = all_obbs(p_men, p_men_wear, p_women, p_women_wear)
p_no_wear = 1 - p_wear
print('穿鞋概率为{}, 不穿鞋的概率为{}'.format(p_wear, p_no_wear))

# 求穿凉鞋男性女性概率
behind_obbs = lambda x, y, z: x * y / z
p_wear_men = behind_obbs(p_men, p_men_wear, p_wear)
p_wear_women = 1 - p_wear_men

print('穿凉鞋男性概率为{}, 穿凉鞋女性概率为{}'.format(p_wear_men, p_wear_women))

 

头歌平台的朴素贝叶斯作业通常围绕理论知识与实践操作展开。在理论方面,会涉及朴素贝叶斯的基本原理与概率公式。例如,朴素贝叶斯基于贝叶斯定理和特征条件独立假设,其核心公式为 $P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)}$,其中 $P(Y|X)$ 是后验概率,$P(X|Y)$ 是似然概率,$P(Y)$ 是先验概率,$P(X)$ 是证据因子。 在实践操作上,常涵盖文本分类、垃圾邮件过滤等任务。以下是一个使用 Python 和 `sklearn` 库实现文本分类的示例代码: ```python from sklearn.feature_extraction.text import CountVectorizer from sklearn.naive_bayes import MultinomialNB from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 示例数据 documents = ["This is a positive sentence.", "This is a negative sentence.", "Another positive one.", "Another negative one."] labels = [1, 0, 1, 0] # 特征提 vectorizer = CountVectorizer() X = vectorizer.fit_transform(documents) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2, random_state=42) # 创建并训练朴素贝叶斯分类器 clf = MultinomialNB() clf.fit(X_train, y_train) # 预测 y_pred = clf.predict(X_test) # 计算准确率 accuracy = accuracy_score(y_test, y_pred) print(f"Accuracy: {accuracy}") ``` 此代码先利用 `CountVectorizer` 进行特征提,把文本转换为词频向量,接着使用 `MultinomialNB` 构建多项式朴素贝叶斯分类器,最后评估模型准确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值