更新于
2026年7月11日
决策树#
决策树(Decision Tree,DT)是一种树状图模型,广泛应用于机器学习、数据挖掘与管理决策中。它通过一系列特征测试(If-Then规则)将数据层层拆分,直观地呈现决策逻辑、概率与预期收益。
示例代码#
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn import tree
def load_data():
data = load_iris()
X, y = data.data, data.target
feature_names = data.feature_names
X_train, X_test, y_train, y_test = \
train_test_split(X, y, test_size=0.3, random_state=42)
return X_train, X_test, y_train, y_test, feature_names
def train(X_train, X_test, y_train, y_test, feature_names):
model = tree.DecisionTreeClassifier(criterion='gini', min_samples_leaf=5, random_state=30)
model.fit(X_train, y_train)
print("在测试集上的准确率为:", model.score(X_test, y_test))
if __name__ == '__main__':
X_train, X_test, y_train, y_test, feature_names = load_data()
print("特征为性为:", feature_names)
train(X_train, X_test, y_train, y_test, feature_names)运行结果#
特征为性为: ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
在测试集上的准确率为: 1.0
特征重要性为: [0.00536513 0. 0.07057937 0.9240555 ]
阅读
--