基于朴素贝叶斯通过身高,体重,鞋码性别预测的代码实现
时间: 2024-03-28 18:40:07 浏览: 130
基于贝叶斯的性别预测
以下是基于朴素贝叶斯算法通过身高、体重和鞋码预测性别的Python代码实现:
```python
import pandas as pd
from sklearn.naive_bayes import GaussianNB
# 读取数据集
data = pd.read_csv("gender.csv")
# 特征提取
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
# 训练模型
classifier = GaussianNB()
classifier.fit(X, y)
# 测试模型
X_test = [[170, 70, 42], [160, 55, 39], [180, 80, 44]]
y_pred = classifier.predict(X_test)
# 输出预测结果
for i in range(len(X_test)):
print("身高:{} cm,体重:{} kg,鞋码:{},预测性别:{}".format(X_test[i][0], X_test[i][1], X_test[i][2], y_pred[i]))
```
上述代码中,我们首先读取了一个包含身高、体重、鞋码和性别的CSV数据集。然后,我们从数据集中提取了身高、体重和鞋码三个特征,并将它们作为输入(X)传递给GaussianNB模型。使用`fit`方法来训练模型。
接下来,我们创建了一个包含三个测试数据的X_test矩阵,并使用`predict`方法来预测每个数据的性别。最后,我们使用循环将预测结果输出到控制台。
需要注意的是,由于朴素贝叶斯算法假设所有特征是相互独立的,因此我们需要确保我们的数据集中没有高度相关的特征。此外,我们还需要进行数据清洗和预处理,以确保数据集中没有缺失值或异常值。
阅读全文