Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用sklearn绘制回归器的三维图形_Python_Matplotlib_Scikit Learn_3d - Fatal编程技术网

Python 用sklearn绘制回归器的三维图形

Python 用sklearn绘制回归器的三维图形,python,matplotlib,scikit-learn,3d,Python,Matplotlib,Scikit Learn,3d,我一直在用它来学习决策树学习,现在正试图了解它是如何处理高维数据集的 目前,我的回归器预测传递给它的(x,y)对的Z值 import numpy as np import matplotlib.pyplot as plt from sklearn.tree import DecisionTreeRegressor from mpl_toolkits import mplot3d dataset = np.array( [['Asset Flip', 100,100, 1000], ['

我一直在用它来学习决策树学习,现在正试图了解它是如何处理高维数据集的

目前,我的回归器预测传递给它的(x,y)对的Z值

import numpy as np 
import matplotlib.pyplot as plt 
from sklearn.tree import DecisionTreeRegressor 
from mpl_toolkits import mplot3d
dataset = np.array( 
[['Asset Flip', 100,100, 1000], 
['Text Based', 500,300, 3000], 
['Visual Novel', 1500,500, 5000], 
['2D Pixel Art', 3500,300, 8000], 
['2D Vector Art', 5000,900, 6500], 
['Strategy', 6000,600, 7000], 
['First Person Shooter', 8000,500, 15000], 
['Simulator', 9500,400, 20000], 
['Racing', 12000,300, 21000], 
['RPG', 14000,150, 25000], 
['Sandbox', 15500,200, 27000], 
['Open-World', 16500,500, 30000], 
['MMOFPS', 25000,600, 52000], 
['MMORPG', 30000,700, 80000] 
]) 
X = dataset[:, 1:3].astype(int) 
y = dataset[:, 3].astype(int) 
regressor = DecisionTreeRegressor(random_state = 0) 
regressor.fit(X, y) 

我想用一个3d图形来可视化它,但我一直在努力解决Regressionor.predict()期望其输入的方式与matplotlib线框等程序期望其输入的方式之间的矛盾。因此,我无法让它们一起工作。

试试这个,我没有安装所有的软件包,所以我在google colab上测试了这个。让我知道这是否是你所期望的

来自mpl_toolkits.mplot3d导入Axes3D
图=plt.图()
ax=图添加_子图(111,投影='3d')
#只需查看数据的预测结果
#ax.scatter(X[:,0],X[:,1],regressor.predict(regressor.predict(X)),c='g')
样本=10
xx,yy=np.meshgrid(np.linspace(min(X[:,0])、max(X[:,0])、samples)、np.linspace(min(X[:,1])、max(X[:,1])、samples))
#查看决策边界(我认为,这不是决策树回归器的正确说法)
ax.plot_线框(xx,yy,回归器预测(np.hstack((xx.整形(-1,1),yy.整形(-1,1)))。整形(xx.整形))
ax.set_xlabel('x轴')
ax.set_ylabel('y轴')
ax.set_zlabel(‘z轴(预测)’)