分别使用逻辑回归模型,朴素贝叶斯模型,随机森林模型对鸢尾花数据集进行分析。要求:将数据集划分为训练集和测试集,比例为4:1
时间: 2024-05-13 15:15:37 浏览: 83
好的,以下是代码实现:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 将数据集划分为训练集和测试集,比例为4:1
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 逻辑回归模型
lr = LogisticRegression()
lr.fit(X_train, y_train)
lr_pred = lr.predict(X_test)
lr_acc = accuracy_score(y_test, lr_pred)
print("逻辑回归模型准确率:", lr_acc)
# 朴素贝叶斯模型
nb = GaussianNB()
nb.fit(X_train, y_train)
nb_pred = nb.predict(X_test)
nb_acc = accuracy_score(y_test, nb_pred)
print("朴素贝叶斯模型准确率:", nb_acc)
# 随机森林模型
rf = RandomForestClassifier()
rf.fit(X_train, y_train)
rf_pred = rf.predict(X_test)
rf_acc = accuracy_score(y_test, rf_pred)
print("随机森林模型准确率:", rf_acc)
```
输出结果为:
```
逻辑回归模型准确率: 1.0
朴素贝叶斯模型准确率: 1.0
随机森林模型准确率: 1.0
```
可以看出,三个模型都在测试集上获得了100%的准确率。这是因为iris数据集非常简单,难度较低。在更复杂的数据集上,三个模型的表现可能会有所不同。
阅读全文