numpy.atleast()、RamdonForestClassifier和numpy.hstack函数

numpy.atleast()、RamdonForestClassifier和numpy.hstack函数,numpy,Numpy,我对numpy.atleast()、RamdonForestClassifier和numpy.hstack函数的确切工作方式有疑问 我已经阅读了关于我上面提到的所有这些函数的用途的文档,但仍然不清楚。 谁能帮帮我吗 我正在处理的方法如下: def配合(自、X、Y): 十、 Y=地图(np.至少_2d,(X,Y)) 断言X.shape[0]==Y.shape[0] Ny=Y.形状[1] self.clfs=[] 对于范围内的i(纽约): clf=RandomForestClassifier(*s

我对numpy.atleast()、RamdonForestClassifier和numpy.hstack函数的确切工作方式有疑问

我已经阅读了关于我上面提到的所有这些函数的用途的文档,但仍然不清楚。 谁能帮帮我吗

我正在处理的方法如下:


def配合(自、X、Y):
十、 Y=地图(np.至少_2d,(X,Y))
断言X.shape[0]==Y.shape[0]
Ny=Y.形状[1]
self.clfs=[]
对于范围内的i(纽约):
clf=RandomForestClassifier(*self.args,**self.kwargs,n_jobs=-1)
席=NP.HStAt([x,y[:]:i])
yi=Y[:,i]
self.clfs.append(clf.fit(Xi,yi))

让我一步一步地解释

因此,
np.atleast_2d()
将任何输入转换为二维数组

np.atleast_2d(1)
Out[5]: array([[1]])

np.atleast_2d([1,2])
Out[6]: array([[1, 2]])
因此,正如您所看到的,它正在将它们转换为2D数组,类似地,在您的代码中,
X,Y=map(np.atleast_2d,(X,Y))
,这将函数
np.atleast_2d
映射到这些输入X和Y,以便给定输入X,Y,它将它们转换为二维数组

接下来,关于RandomForestClassifier
clf=RandomForestClassifier(*self.args,**self.kwargs,n_jobs=-1)
line为您初始化模型或分类器

a = np.arange(0,4,1).reshape(2,2)
Y = np.arange(5,9,1).reshape(2,2)
res = np.hstack([a,Y])
res
Out[10]: 
array([[0, 1, 5, 6],
       [2, 3, 7, 8]])
res.shape
Out[11]: (2, 4)
请参见2行4列
np.hstack
只是水平堆叠输入数组。
Xi=np.hstack([X,Y[:,:i]])
,这行基本上将输入X与可能的标签堆叠起来。
clf.fit(Xi,yi)
,此函数将数据适合您的模型。这就像我初始化了一个黑匣子或一个系统,现在我将数据传递到该系统,以训练系统适应该数据。如果您还有更多问题,请随时提问。

我完全不知道您在问什么,简单地说,“适合”方法在做什么。我是机器学习的新手,包括Pandas-Numpy的库,我目前正在学习这些库中不同功能的工作方式。这就是我问你的原因。非常感谢你。很好的解释。只是对于Y[:,:i](hstack函数的第二个参数)我不太清楚。席= NP .HSTAG([X,Y[::i])]为什么那部分是用这种方式写的?欢迎你。所以,我建议大家阅读ML,熟悉numpy库。这很有帮助