数据挖掘实验决策树python实例代码
时间: 2023-10-01 10:02:06 浏览: 69
以下是一个决策树分类器的 Python 实例代码:
```python
# 导入必要的库
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv("data.csv")
# 划分数据集为训练集和测试集
X = data.drop('target', axis=1)
y = data['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# 定义决策树分类器
clf = DecisionTreeClassifier()
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集的标签
y_pred = clf.predict(X_test)
# 计算分类器的准确率
accuracy = accuracy_score(y_test, y_pred)
print("分类器的准确率为:", accuracy)
```
请注意,此代码仅为示例,并非适用于所有数据集和问题。在实际应用中,您可能需要根据您的数据和需求进行调整和优化。
相关问题
python数据挖掘knn决策树
决策树是一种常见的机器学习方法,用于分类和回归任务。在决策树中,每个内部节点表示一个属性测试,每个叶节点表示一个类别或一个回归值。决策树的学习过程是通过对训练数据集进行递归划分,使得每个子节点的样本尽可能属于同一类别或具有相似的回归值。
K最近邻算法(KNN)是一种基于实例的学习方法,用于分类和回归任务。在KNN中,对于一个新的样本,通过计算其与训练集中所有样本的距离,并选择距离最近的K个样本作为邻居。然后,根据邻居的类别(对于分类任务)或平均值(对于回归任务),预测新样本的类别或回归值。
在Python中,可以使用scikit-learn库来实现KNN和决策树算法。下面是一个示例代码,演示如何使用Python进行数据挖掘中的KNN和决策树:
```python
# 导入所需的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
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)
# 创建KNN分类器并进行训练和预测
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
knn_pred = knn.predict(X_test)
# 创建决策树分类器并进行训练和预测
dt = DecisionTreeClassifier()
dt.fit(X_train, y_train)
dt_pred = dt.predict(X_test)
# 计算准确率
knn_accuracy = accuracy_score(y_test, knn_pred)
dt_accuracy = accuracy_score(y_test, dt_pred)
# 打印结果
print("KNN准确率:", knn_accuracy)
print("决策树准确率:", dt_accuracy)
```
这段代码演示了如何使用KNN和决策树算法对鸢尾花数据集进行分类,并计算了它们的准确率。
python数据挖掘 决策树 单身 年收入55千元
以下是一个基于决策树的Python数据挖掘例子,用于预测一个人是否单身,假设该人年收入为55千元:
```python
from sklearn import tree
# 特征数据集
# 特征1:年龄,特征2:收入
features = [[25, 40], [30, 55], [35, 70], [40, 80], [45, 90], [50, 100], [55, 110], [60, 120], [65, 130], [70, 140]]
# 标签数据集,0表示已婚,1表示单身
labels = [1, 1, 0, 0, 0, 0, 1, 1, 1, 1]
# 创建决策树模型
clf = tree.DecisionTreeClassifier()
# 训练模型
clf = clf.fit(features, labels)
# 预测
result = clf.predict([[55, 55]])
# 输出结果
if result == 0:
print("已婚")
else:
print("单身")
```
根据上述代码,我们可以得出结论:该人是单身。