下面是关于“python利用sklearn包编写决策树源代码”的完整攻略。
1. 安装必要的库
首先,我们需要安装必要库可以使用以下命令在命行安装:
pip install scikit-learn
2. 收集数据
接下来,需要收数据。可以使用以下代码从本地文件夹中读取数据:
import pandas as pd
# 读取数据
data = pd.read_csv("data.csv")
# 分离特征和标签
X = data.drop("label", axis=1)
y = data["label"]
在上面的代码中,我们首先使用pandas的read_csv()函数读取数据。然后,我们使用drop()函数分离特征和标签,其中axis=1表示删除列。
3. 训练决策树模型
接下来,我们需要训练决策树模。可以使用以下代码训练模:
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
#练模型
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
在上面的代码中,我们首先使用train_test_split()函数划分训练集和测试集。其中test_size=0.2表示测试集占总数据集的20%,random_state=42表示随机种子为42。然后,我们使用DecisionTreeClassifier()函数创建决策树分类器,并使用fit()函数训练模型。
4. 预测
最后,我们可以使用以下代码预测结果:
from sklearn.metrics import accuracy_score
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
在上面的代码中,我们首先使用predict函数预测结果,并将结果在y_pred变量中。然后,我们使用accuracy_score()函数计算准确率,并将结果保存在accuracy变量中。最后,我们输出准率。
5. 示例说明###5.1 示例1:使用决策树分类器预测鸢尾花品种
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
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
在上面的代码中,我们首先使用load_iris()函数加载鸢尾花数据集。然后,我们train_test_split()函数划分训练集和测试集。接下来,我们使用DecisionTreeClassifier()函数创建决策树分类器,并使用fit()函数训练模型。然后,我们使用predict()函数预测结果,并使用accuracy_score()函数计算准确率最后,我们输出准确率。
5.2 示例2:使用策树分类器预测乳腺癌
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载数据
cancer = load_breast_cancer()
X = cancer.data
y = cancer.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test =_test_split(X y, test_size=0.2, random_state=42)
# 训练模型
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
在上面的代码中,我们首先使用load_breast_cancer()函数加载乳腺癌数据集。然后,我们使用train_test_split函数划分训练集和测试集。接下来,我们使用DecisionTreeClassifier()函数创建决策树分类器,并使用fit()函数训练模型。然后,我们使用predict()函数预测结果,并使用accuracy_score()函数计算准确率。最后,我们输出准确率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用sklearn包编写决策树源代码 - Python技术站