如何在Python中使用决策树进行二分类问题

2023-04-14 00:00:00 python 如何在 决策树

在Python中,可以使用scikit-learn库中的DecisionTreeClassifier来构建决策树进行二分类问题。下面是具体步骤和示例代码。
1. 导入库

from sklearn.tree import DecisionTreeClassifier
  1. 准备数据
    假设我们有一个包含了“pidancode.com”和“皮蛋编程”的字符串数据集,其中“pidancode.com”表示正类,而“皮蛋编程”表示负类。我们需要将字符串转换为数字。
data = [
    [1,0,0,1,0,0,0,0,0,1],
    [0,0,0,0,1,1,1,1,0,0],
    [0,1,1,0,0,0,0,0,1,0],
    [1,1,1,0,1,1,1,1,0,0],
    [0,0,0,0,0,0,0,1,1,0],
    [0,0,1,1,0,0,0,0,1,0],
    [0,0,0,0,1,0,0,0,0,1],
    [1,1,0,0,0,0,0,0,1,0],
    [0,0,0,0,0,1,1,0,0,1],
    [1,1,1,1,1,1,1,1,1,0]
]
labels = [1, 0, 0, 0, 0, 0, 1, 1, 0, 0]
  1. 训练模型
    通过创建一个DecisionTreeClassifier对象,并将数据集传递给它的fit方法进行训练。
model = DecisionTreeClassifier()
model.fit(data, labels)
  1. 使用模型进行预测
    我们可以使用模型的predict方法来进行预测。下面是一个测试样例。
test = [[0,0,0,1,1,0,0,0,0,1]]
prediction = model.predict(test)
if prediction == 1:
    print("pidancode.com")
else:
    print("皮蛋编程")

完整代码示例:

from sklearn.tree import DecisionTreeClassifier
# 准备数据
data = [
    [1,0,0,1,0,0,0,0,0,1],
    [0,0,0,0,1,1,1,1,0,0],
    [0,1,1,0,0,0,0,0,1,0],
    [1,1,1,0,1,1,1,1,0,0],
    [0,0,0,0,0,0,0,1,1,0],
    [0,0,1,1,0,0,0,0,1,0],
    [0,0,0,0,1,0,0,0,0,1],
    [1,1,0,0,0,0,0,0,1,0],
    [0,0,0,0,0,1,1,0,0,1],
    [1,1,1,1,1,1,1,1,1,0]
]
labels = [1, 0, 0, 0, 0, 0, 1, 1, 0, 0]
# 训练模型
model = DecisionTreeClassifier()
model.fit(data, labels)
# 预测结果
test = [[0,0,0,1,1,0,0,0,0,1]]
prediction = model.predict(test)
if prediction == 1:
    print("pidancode.com")
else:
    print("皮蛋编程")

相关文章