学习笔记(03):第二章:决策树-Scikit-Learn中的决策树模型

立即学习:https://edu.csdn.net/course/play/10581/236112?utm_source=blogtoedu

sklearn决策树

穷举搜素所有特征可能的分裂点,没有实现剪枝(需要用交叉验证选择最佳参数)

分类:DecisionTreeClassifier

回归:DecisonTreeRegressor

criterion:"gini","entropy",

splitter:"best","random"

 

max_features:int, float or {“auto”, “sqrt”, “log2”}, default=None

The number of features to consider when looking for the best split:

  • If int, then consider max_features features at each split.

  • If float, then max_features is a fraction and int(max_features * n_features) features are considered at each split.

  • If “auto”, then max_features=sqrt(n_features).

  • If “sqrt”, then max_features=sqrt(n_features).

  • If “log2”, then max_features=log2(n_features).

  • If None, then max_features=n_features

 

以下限制模型复杂度的参数:

max_depth:int

max_leaf_nodes:int

min_samples_split:int or float, default=2

The minimum number of samples required to split an internal node

 

min_samples_leaf:int or float, default=1

The minimum number of samples required to be at a leaf node. 

 

min_impurity_decrease:float, default=0.0

A node will be split if this split induces a decrease of the impurity greater than or equal to this value.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个基本的步骤来使用Pythonscikit-learn构建关于泰坦尼克号数据库的决策树模型。 1. 导入必要的库和数据集 首先,我们需要导入必要的库和数据集。您可以使用以下代码: ``` python import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn import metrics titanic_data = pd.read_csv('titanic.csv') ``` 其,我们使用pandas库来读取CSV文件并将其存储在一个名为titanic_data的DataFrame对象。 2. 数据预处理 接下来,我们需要对数据进行预处理。这包括删除不需要的列、处理缺失值、将分类数据转换为数字等。您可以使用以下代码: ``` python titanic_data = titanic_data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1) titanic_data['Age'].fillna(titanic_data['Age'].mean(), inplace=True) titanic_data['Embarked'].fillna(titanic_data['Embarked'].mode()[0], inplace=True) titanic_data['Sex'] = titanic_data['Sex'].map({'male': 0, 'female': 1}) titanic_data['Embarked'] = titanic_data['Embarked'].map({'S': 0, 'C': 1, 'Q': 2}) X = titanic_data.drop('Survived', axis=1) y = titanic_data['Survived'] ``` 在这里,我们删除了不需要的列,并使用平均值和最常见的值填充了缺失值。我们还将分类数据转换为数字,并将它们存储在X和y变量,其X包含所有的特征,y包含所有的标签。 3. 拆分训练集和测试集 接下来,我们将数据拆分为训练集和测试集。您可以使用以下代码: ``` python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1) ``` 在这里,我们将数据集分成70%的训练集和30%的测试集,并使用random_state参数设置随机种子。 4. 训练模型 现在我们可以使用scikit-learn的DecisionTreeClassifier来训练我们的决策树模型。您可以使用以下代码: ``` python dtc = DecisionTreeClassifier() dtc.fit(X_train, y_train) ``` 在这里,我们创建了一个名为dtc的DecisionTreeClassifier对象,并使用X_train和y_train训练模型。 5. 预测测试集 接下来,我们可以使用训练好的模型预测测试集的标签。您可以使用以下代码: ``` python y_pred = dtc.predict(X_test) ``` 在这里,我们使用predict()方法来预测测试集的标签,并将结果存储在y_pred变量。 6. 评估模型 最后,我们可以使用一些指标来评估我们的模型的性能。您可以使用以下代码: ``` python print("Accuracy:",metrics.accuracy_score(y_test, y_pred)) ``` 在这里,我们使用metrics模块的accuracy_score()函数来计算模型的准确度。 这就是使用Pythonscikit-learn构建关于泰坦尼克号数据库的决策树模型的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值