在Python中使用决策树进行分类问题的实现方法

2023-04-15 00:00:00 方法 决策树 进行分类
  1. 导入库和数据集

首先需要导入所需的库和数据集,我们使用sklearn库中自带的iris数据集来进行演示。

import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

iris = datasets.load_iris()
X = iris.data
y = iris.target
  1. 划分数据集

将数据集划分为训练集和测试集,其中训练集占70%。

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
  1. 训练模型

使用训练数据集进行模型的训练。

tree = DecisionTreeClassifier()
tree.fit(X_train, y_train)
  1. 预测结果

使用测试数据集进行模型的预测,并输出准确率。

y_pred = tree.predict(X_test)
accuracy = np.mean(y_pred == y_test)
print("Accuracy:", accuracy)
  1. 演示完整代码
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

iris = datasets.load_iris()
X = iris.data
y = iris.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)

tree = DecisionTreeClassifier()
tree.fit(X_train, y_train)

y_pred = tree.predict(X_test)
accuracy = np.mean(y_pred == y_test)
print("Accuracy:", accuracy)

注:本示例中为了演示方便,使用的是已有的数据集进行演示,如果需要使用字符串作为范例,需要将字符串通过编码转换为数字,可以使用pandas库中的replace方法将字符串替换为数字。

import pandas as pd

df = pd.DataFrame({'text': ['pidancode.com', '皮蛋编程', 'pidancode.com', 'pidancode.com', '皮蛋编程']})
df['text'] = df['text'].replace(['pidancode.com', '皮蛋编程'], [0, 1])

print(df)

相关文章