sklearn中决策树处理类别特征_决策树在sklearn中的实现

小伙伴们大家好~o( ̄▽ ̄)ブ,首先声明一下,我的开发环境是Jupyter lab,所用的库和版本大家参考:

Python 3.7.1(你的版本至少要3.4以上

Scikit-learn 0.20.0 (你的版本至少要0.20

Graphviz 0.8.4 (没有画不出决策树哦,安装代码conda install python-graphviz

Numpy 1.15.3, Pandas 0.23.4, Matplotlib 3.0.1, SciPy 1.1.0

1. 决策树是如何工作的

决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各种问题时都有良好表现,尤其是以树模型为核心的各种集成算法,在各个行业和领域都有广泛的应用。

我们来简单了解一下决策树是如何工作的。决策树算法的本质是一种图结构,我们只需要问一系列问题就可以对数据进行分类了。比如说,来看看下面这组数据集,这是一系列已知物种以及所属类别的数据:

00d0f1cc8a0cdf9223f06d80a49e9b3e.png

我们现在的目标是,将动物们分为哺乳类和非哺乳类。那根据已经收集到的数据,决策树算法为我们算出了下面的这棵决策树:

f82c9b4f90a02dd880c212b91337cec1.png

假如我们现在发现了一种新物种Python,它是冷血动物,体表带鳞片,并且不是胎生,我们就可以通过这棵决策树来判断它的所属类别。

可以看出,在这个决策过程中,我们一直在对记录的特征进行提问。最初的问题所在的地方叫做根节点,在得到结论前的每一个问题都是中间节点,而得到的每一个结论(动物的类别)都叫做叶子节点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我了解了您的问题。下面是关于 Python 使用 sklearn 实现决策树及模型评估的方法: 首先,我们需要导入需要的库和数据集。在这里我们使用 sklearn 内置的鸢尾花数据集作为例子: ```python from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 导入数据集 iris = load_iris() X = iris.data y = iris.target ``` 接下来,我们需要将数据集拆分为训练集和测试集,以便我们能够评估模型的性能: ```python # 拆分数据集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) ``` 然后,我们可以创建一个决策树分类器,并使用训练数据进行拟合: ```python # 创建决策树分类器 clf = DecisionTreeClassifier() # 使用训练数据进行拟合 clf.fit(X_train, y_train) ``` 现在,我们可以使用测试数据集来评估模型的性能。在本例,我们使用了准确率作为评估指标: ```python # 使用测试数据集进行预测 y_pred = clf.predict(X_test) # 计算准确率 accuracy = accuracy_score(y_test, y_pred) print("Accuracy:", accuracy) ``` 最后,我们可以使用训练好的模型来进行预测,以便我们可以将其用于实际应用: ```python # 使用模型进行预测 new_data = [[5.0, 3.5, 1.3, 0.2]] prediction = clf.predict(new_data) print("Prediction:", prediction) ``` 希望这个例子对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值