sklearn学习——决策树回归

sklearn学习——决策树回归

1 数据集采用

采用波士顿房价数据集,下载地址
使用sklearn.datasets.load_boston即可加载相关数据。该数据集是一个回归问题。每个类的观察值数量是均等的,共有 506 个观察,13 个输入变量和1个输出变量
sklearn学习——决策树回归_第1张图片sklearn学习——决策树回归_第2张图片

2 配置环境

conda install scilit-learn
conda install numpy
conda install matplotlib

3 代码

from sklearn.datasets import load_boston
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeRegressor
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import cross_val_score
import matplotlib.pyplot as plt
import numpy as np


# boston = load_boston()
# print(boston.shape)
# print(boston.data.shape)
# print(boston.target)
# print(boston.feature_names)

# 1.读取数据集
path = 'boston.txt' # 填写自己的数据,注意应用逗号,txt文本,前面是特征,最后一列是标签
data = np.loadtxt(path, dtype=float, delimiter=',')#读取样本集
# print(data)

# 2.划分数据与标签
x, y = np.split(data, indices_or_sections=(13,), axis=1)  # x为数据特征,y为标签,indices_or_sections=(4,)填列数-1
train_data, test_data, train_label, test_label = \
    train_test_split(x, y, random_state=1, train_size=0.75, test_size=0.25)
print(train_data)   # 训练数据的
print(test_data)    # 测试数据


# 训练模型
clf = DecisionTreeRegressor(criterion='mse'#输入"mse"使用均方误差mean squared error(MSE),输入“friedman_mse”使用费尔德曼均方误差
                                  , random_state=30      # 控制随机数
                                  , splitter='random'    # 控制随机数
                                  , max_depth=3        # 树深度
                                #  , min_samples_leaf=10   #分的叶子样本最小10
                                #  , min_samples_split=10  #节点样本数最小10
                                #  , max_features=5   #选取特征最大数目5
                                  )
clf.fit(train_data, train_label)

# 4.计算回归模型的准确率
print("训练集:", clf.score(train_data, train_label))# 训练的准确率
print("测试集:", clf.score(test_data, test_label))  # 测试的准确率

# print('predict_data:\n', test_data)
print('predict_data:\n', test_label)  # 测试数据的原本值
print('predict_result:\n', clf.predict(train_data))  #通过模型预测的值

4 运行结果

准确度:

在这里插入图片描述

原本值:
sklearn学习——决策树回归_第3张图片
模型预测值:
sklearn学习——决策树回归_第4张图片

你可能感兴趣的:(机器学习)