使用python 用逻辑回归算法 对鸢尾花进行分类 可是实现输入数据输出分类
时间: 2024-05-06 19:17:01 浏览: 12
好的,下面是代码实现:
首先,我们需要导入所需的库:sklearn、numpy、pandas。
```python
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
import numpy as np
import pandas as pd
```
接着,我们需要加载鸢尾花数据集。这里使用`load_iris()`函数加载数据集,并将其存储在`iris`变量中。
```python
iris = load_iris()
```
数据集有四个特征(萼片长度、萼片宽度、花瓣长度、花瓣宽度)和三类鸢尾花(山鸢尾、变色鸢尾、维吉尼亚鸢尾),我们可以通过以下代码来看一下数据集的信息。
```python
print(iris.DESCR)
```
接下来,我们需要将数据集拆分成特征和对应的标签。我们将使用`iris.data`和`iris.target`属性来获取特征和标签。
```python
X = iris.data
y = iris.target
```
我们可以通过以下代码来查看我们的特征和标签的形状。
```python
print('Shape of features:', X.shape)
print('Shape of labels:', y.shape)
```
接下来,我们需要创建逻辑回归模型并拟合我们的数据。我们可以使用`LogisticRegression()`函数来创建一个逻辑回归模型,然后使用`fit()`函数将其拟合到我们的数据上。
```python
model = LogisticRegression()
model.fit(X, y)
```
现在我们已经拟合了模型,我们可以使用它来对新的数据进行分类。我们可以手动创建一些数据并将其传递给我们的模型,以查看它如何对其进行分类。
```python
# 创建一些新数据
new_data = np.array([5.2, 3.1, 4.5, 1.5]).reshape(1, -1)
# 使用拟合的模型进行分类
prediction = model.predict(new_data)
# 输出分类结果
print('Prediction:', prediction)
```
这里我们手动创建了一个新的数据点,即萼片长度为5.2,萼片宽度为3.1,花瓣长度为4.5,花瓣宽度为1.5的数据。我们将其传递给我们的模型,并使用`predict()`函数分类它。最后,我们输出了模型预测的类别。
完整代码如下:
```python
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
import numpy as np
import pandas as pd
# 加载数据集
iris = load_iris()
# 获取特征和标签
X = iris.data
y = iris.target
# 创建逻辑回归模型并拟合数据
model = LogisticRegression()
model.fit(X, y)
# 创建新数据并进行分类
new_data = np.array([5.2, 3.1, 4.5, 1.5]).reshape(1, -1)
prediction = model.predict(new_data)
# 输出分类结果
print('Prediction:', prediction)
```
输出结果为:
```
Prediction: [1]
```
这里,我们的模型将新数据点分类为“变色鸢尾”。