决策树划分数据集

这段代码主要是划分数据,比如说看这个矩阵的第一列是否满足需要,如果满足需要,就把后面的添加进来,然后追加到新的矩阵中。。可是这么做有什么用途呢??另外,axis是轴的意思,这段代码给出了三个参数,第一个是要被划分的数据集,第二个是轴线,比如说是第一列,还是第二列,第三个是value,看这一列的数值是否==value
def splitDataSet(dataSet, axis, value):
    retDataSet = []
    for featVec in dataSet:
        print(featVec)
        if featVec[axis] == value:
            reducedFeatVec = featVec[:axis]
            reducedFeatVec.extend(featVec[axis+1:])
            retDataSet.append(reducedFeatVec)
    return retDataSet

featVec[:axis] 是从列表index0到axis,如果axis=0,那么返回的是一个空的列表

featVec[axis+1:]是从列表index axis+1到最后惊恐惊恐

extend 是指将包含的内容加进去

append是将所有的内容加进去,比如一整个列表[1,2,3,5 ]



  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于决策树实现mnist数据集划分,可以按照以下步骤进行: 1. 准备数据集:从mnist数据集中获取训练集和测试集,并将它们划分为特征和标签。 2. 构建决策树:使用训练集数据来构建决策树。 3. 对测试集进行预测:使用训练好的决策树对测试集进行预测,得到预测结果。 4. 计算准确率:将预测结果与测试集的实际标签进行比较,计算准确率。 具体实现过程如下: 1. 准备数据集: 首先,我们需要从mnist数据集中获取训练集和测试集。可以使用Python中的sklearn库来获取数据集: ```python from sklearn.datasets import fetch_openml mnist = fetch_openml('mnist_784') X, y = mnist.data, mnist.target # 将数据集划分为训练集和测试集 X_train, y_train = X[:60000], y[:60000] X_test, y_test = X[60000:], y[60000:] ``` 在获取数据集后,我们需要将它们划分为特征和标签: ```python # 特征为像素点的值 X_train_features, X_test_features = X_train / 255., X_test / 255. # 标签为数字 y_train_labels, y_test_labels = y_train.astype(int), y_test.astype(int) ``` 2. 构建决策树: 接下来,我们可以使用Python中的sklearn库来构建决策树: ```python from sklearn.tree import DecisionTreeClassifier # 创建决策树分类器 tree_clf = DecisionTreeClassifier(max_depth=10) # 使用训练集数据来训练模型 tree_clf.fit(X_train_features, y_train_labels) ``` 在构建决策树后,我们可以使用Graphviz库将其可视化: ```python from sklearn.tree import export_graphviz import graphviz # 将决策树导出为DOT格式 dot_data = export_graphviz( tree_clf, out_file=None, feature_names=[str(i) for i in range(784)], class_names=[str(i) for i in range(10)], rounded=True, filled=True ) # 使用Graphviz库将DOT格式转换为可视化图形 graph = graphviz.Source(dot_data) graph ``` 3. 对测试集进行预测: 使用训练好的决策树对测试集进行预测,得到预测结果: ```python # 对测试集进行预测 y_pred_labels = tree_clf.predict(X_test_features) ``` 4. 计算准确率: 将预测结果与测试集的实际标签进行比较,计算准确率: ```python from sklearn.metrics import accuracy_score # 计算准确率 accuracy_score(y_test_labels, y_pred_labels) ``` 以上就是决策树实现mnist数据集划分的具体步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值