python鸢尾花分类逻辑回归
时间: 2024-10-19 11:01:25 浏览: 42
逻辑回归对鸢尾花分类.zip
Python中的鸢尾花分类问题通常用于入门机器学习项目,特别是使用逻辑回归算法进行二分类问题。逻辑回归原本主要用于解决线性可分的问题,但通过一些处理如概率阈值调整,也可以应用于非线性的分类任务,比如Iris数据集。
Iris数据集是一个经典的多变量统计分析数据集,包含三种不同类型的鸢尾花(Setosa、Versicolour和Virginica)的测量数据。在Python中,我们可以使用scikit-learn库中的`LogisticRegression`模型对鸢尾花进行分类。下面是一个简单的步骤:
1. 导入必要的库:
```python
import pandas as pd
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
```
2. 加载数据并预处理:
```python
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 将类别标签转换为0(Setosa)、1(Versicolour)和2(Virginica)
y = y - 1
```
3. 划分训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. 创建和训练模型:
```python
model = LogisticRegression(max_iter=1000) # 设置迭代次数以防梯度消失
model.fit(X_train, y_train)
```
5. 预测和评估:
```python
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
```
阅读全文