首页 > 编程知识 正文

鸢尾花分类 Python实现

时间:2023-11-21 07:26:45 阅读:302932 作者:RBRB

鸢尾花,也称作狗齿苷花,是一类非常常见的植物。通过对鸢尾花进行分类,我们可以更好地了解和研究这类植物。Python作为一种强大的编程语言,可以帮助我们快速、高效地实现鸢尾花分类的任务。

一、导入所需库

在开始编写代码之前,我们首先需要导入一些Python库,以便我们能够使用其中的函数和方法来实现鸢尾花分类的任务。在本例中,我们将使用以下库:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

二、加载数据集

为了进行鸢尾花分类,我们需要一个包含鸢尾花特征和对应分类标签的数据集。在本例中,我们将使用一份经典的鸢尾花数据集,可以从UCI机器学习库中获取。加载数据集的代码如下:

data_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'
columns = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class']
iris_data = pd.read_csv(data_url, names=columns)

这里我们使用Pandas库中的read_csv函数从URL加载数据集,并将列名赋值给数据集的不同特征。

三、数据预处理

在进行鸢尾花分类之前,我们需要对数据进行预处理。预处理的过程包括数据清洗、特征选择、特征缩放等。在本例中,我们只进行数据清洗,即处理缺失值和异常值。以下是数据清洗的代码:

iris_data.dropna(inplace=True)
iris_data.drop_duplicates(inplace=True)

这里我们使用Pandas库中的dropna函数删除含有缺失值的样本,使用drop_duplicates函数删除重复样本。

四、数据集划分

接下来,我们需要将数据集划分为训练集和测试集。训练集用于模型的训练,测试集用于模型的评估。以下是数据集划分的代码:

X = iris_data.drop('class', axis=1)
y = iris_data['class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

这里我们使用sklearn库中的train_test_split函数将数据集划分为80%的训练集和20%的测试集,并将其特征和标签分别赋值给X和y变量。

五、模型训练和预测

现在我们可以使用训练集对模型进行训练,并使用测试集进行预测。在本例中,我们选择使用决策树算法作为模型。以下是模型训练和预测的代码:

model = DecisionTreeClassifier()
model.fit(X_train, y_train)
predictions = model.predict(X_test)

这里我们使用sklearn库中的DecisionTreeClassifier类来创建决策树模型,并使用fit函数对模型进行训练。然后使用predict函数对测试集进行预测,并将预测结果赋值给predictions变量。

六、模型评估

最后,我们需要对模型进行评估,以确定其分类准确率。通常,评估指标可以有多种选择,例如准确率、精确率、召回率等。在本例中,我们选择使用准确率作为评估指标。以下是模型评估的代码:

accuracy = (predictions == y_test).mean()
print("模型准确率:", accuracy)

这里我们使用Python的逻辑运算符和mean函数计算预测结果与真实标签相同的比例,即模型的准确率。

通过以上步骤,我们成功地使用Python实现了鸢尾花分类任务。通过对数据集的加载、预处理、数据集划分、模型训练和预测,以及模型评估,我们能够得到一个准确率较高的鸢尾花分类模型。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。