透切案例网
首页 案例知识 正文

python决策树例题经典案例

来源:透切案例网 2024-06-19 08:16:54

决策树是一种常用的机器学习算法,可用于分类和回归问题www.wudizhushou.com透切案例网。在分类问题中,决策树将数据集分成不同的类别,而在回归问题中,决策树可以预测连续值。本文将介绍一个经典的决策树例题,即鸢尾分类问题。

鸢尾分类问题

  鸢尾是一种常见的卉,有个不同的品种:山鸢尾、变色鸢尾和维吉尼亚鸢尾。每个品种都有不同的瓣和萼的度和宽度。我们的目是根据这些特征将鸢尾分类为个品种之一透切案例网

数据集

  我们将使用经典的鸢尾数据集,该数据集包含150个样本,每个样本有四个特征:度、萼宽度、度和瓣宽度。每个样本都记为个品种之一:山鸢尾、变色鸢尾或维吉尼亚鸢尾。

  首先,我们需要导入数据集并其进行预处理。我们将使用Python中的pandas和sklearn库完成此任务。以下是代码:

  ```python

  import pandas as pd

from sklearn.datasets import load_iris

# 导入数据集

iris = load_iris()

  # 将数据集转换为DataFrame格式

df = pd.DataFrame(data=iris.data, columns=iris.feature_names)

# 添加目变量

  df['target'] = iris.target

python决策树例题经典案例(1)

  ```

  现在,我们已经将数据集导入并将其转换为DataFrame格式透~切~案~例~网。我们还添加了一个目变量,该变量包含每个样本的品种。接下,我们需要将数据集拆分为训练集和测试集。我们将使用sklearn库中的train_test_split完成此任务。以下是代码:

  ```python

  from sklearn.model_selection import train_test_split

  # 将数据集拆分为训练集和测试集

  X_train, X_test, y_train, y_test = train_test_split(df.drop('target', axis=1), df['target'], test_size=0.3, random_state=42)

```

现在,我们已经将数据集拆分为训练集和测试集。我们将使用训练集训练决策树模型,并使用测试集模型的性能原文www.wudizhushou.com

  训练模型

  我们将使用sklearn库中的DecisionTreeClassifier类训练决策树模型。以下是代码:

  ```python

from sklearn.tree import DecisionTreeClassifier

# 创建决策树分类器

clf = DecisionTreeClassifier()

# 训练模型

  clf.fit(X_train, y_train)

  ```

现在,我们已经训练了决策树模型。接下,我们将使用测试集模型的性能。

  评模型

  我们将使用sklearn库中的accuracy_score计算模型的准确性。以下是代码:

  ```python

  from sklearn.metrics import accuracy_score

  # 预测测试集

  y_pred = clf.predict(X_test)

  # 计算准确性

accuracy = accuracy_score(y_test, y_pred)

  print('准确性:', accuracy)

  ```

  我们得到的准确性为0.9556,这意着我们的模型可以正确分类95.56%的测试集样本www.wudizhushou.com透切案例网

  可视化决策树

最后,我们将使用sklearn库中的export_graphviz数将决策树可视化。以下是代码:

```python

from sklearn.tree import export_graphviz

  import graphviz

  # 将决策树导出为DOT格式

dot_data = export_graphviz(clf, out_file=None, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True, special_characters=True)

  # 将DOT格式转换为图形

graph = graphviz.Source(dot_data)

# 显示图形

  graph.view()

  ```

我们得到的决策树如下所示:

![决策树](https://i.loli.net/2021/09/10/6nJvYX5U3ZqGQ2a.png)

  结论

在本文中,我们介绍了一个经典的决策树例题,即鸢尾分类问题。我们使用Python中的pandas和sklearn库导入和预处理数据集,并使用DecisionTreeClassifier类训练决策树模型。我们使用测试集模型的性能,并使用export_graphviz数将决策树可视化。我们得到的模型可以正确分类95.56%的测试集样本,这表明决策树是一种有效的机器学习算法透切案例网

我说两句
0 条评论
请遵守当地法律法规
最新评论

还没有评论,快来做评论第一人吧!
相关文章
最新更新
最新推荐