最大似然法分类模型python代码
时间: 2023-12-23 12:28:34 浏览: 114
最大似然法是一种常用的参数估计方法,用于从观测数据中估计出模型的参数。在分类模型中,最大似然法可以用来估计模型的参数,从而进行分类任务。
以下是一个使用最大似然法进行分类模型的Python代码示例:
```python
import numpy as np
from scipy.stats import norm
# 生成两个类别的观测数据
np.random.seed(0)
class1 = np.random.normal(loc=0, scale=1, size=100)
class2 = np.random.normal(loc=2, scale=1, size=100)
# 计算每个类别的均值和方差的最大似然估计
mean1, std1 = norm.fit(class1)
mean2, std2 = norm.fit(class2)
# 定义分类函数
def classify(x):
# 计算每个类别的概率密度函数值
prob1 = norm.pdf(x, loc=mean1, scale=std1)
prob2 = norm.pdf(x, loc=mean2, scale=std2)
# 根据概率密度函数值进行分类
if prob1 > prob2:
return 1
else:
return 2
# 测试分类函数
test_data = np.random.normal(loc=1, scale=1, size=10)
predictions = [classify(x) for x in test_data]
print("测试数据:", test_data)
print("预测结果:", predictions)
```
这段代码首先生成了两个类别的观测数据,然后使用最大似然估计计算了每个类别的均值和方差。接下来定义了一个分类函数,该函数根据观测数据的概率密度函数值进行分类。最后,使用测试数据对分类函数进行了测试,并输出了预测结果。
阅读全文