sklearn中决策树回归器DecisionTreeRegressor的实际应用及可视化

简介: sklearn中决策树回归器DecisionTreeRegressor的实际应用及可视化

假设有CSV文件(部分):suzhou.csv


0a2653c851af460fa595bd959398a8f1.png


要对其进行回归分析并输出图像:


import numpy as np
from sklearn.tree import DecisionTreeRegressor
import matplotlib.pyplot as plt
data = np.genfromtxt("/suzhou.csv",delimiter=",",dtype=int,skip_header=1,usecols=np.arange(0,6))
data = data.transpose()
X = np.array(data[0]).reshape(len(data[0]),1)
y = np.array(data[4]).reshape(len(data[4]),1)
regr_1 = DecisionTreeRegressor(max_depth=2, presort=False)
regr_2 = DecisionTreeRegressor(max_depth=5, presort=False)
regr_1.fit(X, y)
regr_2.fit(X, y)
X_test = np.arange(2007, 2018, 0.9)[:, np.newaxis].astype(int)
y_1 = regr_1.predict(X_test)
y_2 = regr_2.predict(X_test)
x_axis = range(2007,2018,2)
plt.figure()
plt.scatter(X, y, s=20, edgecolor="black", c="darkorange", label="data")
plt.plot(X_test, y_1, color="cornflowerblue", label="Decision Tree Depth=2", linewidth=2)
plt.plot(X_test, y_2, color="yellowgreen", label="Decision Tree Depth=5", linewidth=2)
plt.xticks(x_axis)
plt.xlabel("Year")
plt.ylabel("Gross Industrial Output")
plt.title("Total Industrial Output Value of Enterprises in Suzhou")
plt.legend()
plt.show()


输出图像:


2d65d23f6d4748949b924e4057485923.png

相关文章
|
7月前
|
机器学习/深度学习 存储 算法
sklearn应用线性回归算法
sklearn应用线性回归算法
94 0
|
7月前
|
机器学习/深度学习
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC(下)
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
|
5月前
|
机器学习/深度学习 算法 API
Sklearn中的监督学习全览:从线性回归到SVM
【7月更文第23天】 在机器学习的广阔领域中,监督学习占据着举足轻重的地位,它通过已标记的数据集学习输入与输出之间的映射关系,进而对未知数据进行预测。`scikit-learn`(简称sklearn)作为Python中最受欢迎的机器学习库之一,提供了丰富的监督学习算法。本篇文章将带您深入探索sklearn中的监督学习世界,从简单的线性回归到复杂的支撑向量机(SVM),并通过实战代码示例,让您对这些算法有更直观的理解。
93 8
|
6月前
|
机器学习/深度学习 数据可视化
Sklearn中逻辑回归建模
分类模型评估通常涉及准确率、召回率和F1值。准确率是正确分类样本的比例,但在类别不平衡时可能误导,例如一个模型总是预测多数类,即使误分类少数类也能有高准确率。召回率关注的是真正类被正确识别的比例,而精确率则衡量预测为正类的样本中真正为正类的比例。F1值是精确率和召回率的调和平均数,提供了两者之间的平衡。在sklearn中,可以使用`recall_score`, `precision_score` 和 `f1_score` 函数来计算这些指标。在类别重要性不同时,需根据业务需求选择合适的评估标准。
|
5月前
|
机器学习/深度学习 数据挖掘 vr&ar
时间序列预测利器:Sklearn中的ARIMA与状态空间模型
【7月更文第24天】时间序列预测是数据分析和机器学习领域的一个重要分支,它致力于从历史数据中挖掘规律,预测未来的发展趋势。在Python的Scikit-learn库中,虽然直接提供的时间序列预测模型不如专门的时间序列分析库如Statsmodels或Prophet那样丰富,但Scikit-learn的强大之处在于其模型的灵活性和集成能力,尤其是状态空间模型的实现,为自定义复杂时间序列模型提供了坚实的基础。本文将介绍如何使用Scikit-learn进行时间序列预测,重点聚焦在ARIMA模型(通过Statsmodels间接实现)和状态空间模型的使用上,并通过代码示例深入解析。
222 0
|
7月前
|
机器学习/深度学习 算法 数据挖掘
数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
7月前
|
机器学习/深度学习 数据可视化 计算机视觉
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC(上)
数据分享|R语言逻辑回归、线性判别分析LDA、GAM、MARS、KNN、QDA、决策树、随机森林、SVM分类葡萄酒交叉验证ROC
|
7月前
|
机器学习/深度学习 算法
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病-2
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
7月前
|
机器学习/深度学习 算法 数据挖掘
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病-1
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
|
7月前
|
机器学习/深度学习 算法 数据挖掘
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病