python sklearn中的fit方法
我问自己关于sklearn中的fit方法的各种问题。
问题1:当我这样做时:
from sklearn.decomposition import TruncatedSVDmodel = TruncatedSVD()
svd_1 = model.fit(X1)
svd_2 = model.fit(X2)
在此过程中,变量模型的内容是否发生任何变化?
问题2:当我这样做时:
from sklearn.decomposition import TruncatedSVDmodel = TruncatedSVD()
svd_1 = model.fit(X1)
svd_2 = svd_1.fit(X2)
svd_1怎么了?换句话说,svd_1已经安装好了,我又重新安装了它,那么它的组件正在发生什么?
回答:
问题1:在此过程中,变量模型的内容是否发生任何变化?
是。该fit方法修改对象。并且它返回对该对象的引用。因此,保重!在第一个例子中的所有三个变量model,vd_1
和svd_2
实际上指的是同一个对象。
from sklearn.decomposition import TruncatedSVDmodel = TruncatedSVD()
svd_1 = model.fit(X1)
svd_2 = model.fit(X2)
print(model is svd_1 is svd_2) # prints True
问题2: svd_1发生了什么?
model并svd_1指向同一对象,因此第一个示例和第二个示例之间绝对没有区别。
结束语: 在这两个示例中,都发生了如David Maust的回答所指出的结果fit(X1)被覆盖的情况。如果要使两个不同的模型适合两个不同的数据集,则需要执行以下操作:fit(X2)
svd_1 = TruncatedSVD().fit(X1)svd_2 = TruncatedSVD().fit(X2)
以上是 python sklearn中的fit方法 的全部内容, 来源链接: utcz.com/qa/409791.html