9
下面是創建兩個數據集的例子:如何複製估算器以便在多個數據集上使用它?
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
# data set 1
X1, y1 = make_classification(n_classes=2, n_features=5, random_state=1)
# data set 2
X2, y2 = make_classification(n_classes=2, n_features=5, random_state=2)
我想用LogisticRegression
估計用相同的參數值,以適應設置每個數據的分類:
lr = LogisticRegression()
clf1 = lr.fit(X1, y1)
clf2 = lr.fit(X2, y2)
print "Classifier for data set 1: "
print " - intercept: ", clf1.intercept_
print " - coef_: ", clf1.coef_
print "Classifier for data set 2: "
print " - intercept: ", clf2.intercept_
print " - coef_: ", clf2.coef_
的問題是這兩個分類是相同的:
Classifier for data set 1:
- intercept: [ 0.05191729]
- coef_: [[ 0.06704494 0.00137751 -0.12453698 -0.05999127 0.05798146]]
Classifier for data set 2:
- intercept: [ 0.05191729]
- coef_: [[ 0.06704494 0.00137751 -0.12453698 -0.05999127 0.05798146]]
對於這個簡單的例子,我可以使用類似:
lr1 = LogisticRegression()
lr2 = LogisticRegression()
clf1 = lr1.fit(X1, y1)
clf2 = lr2.fit(X2, y2)
避免該問題。但是,問題依然存在:如何複製/複製一個估計器,並使其具體參數值一般?
謝謝!我錯過了,因爲sklearn.base沒有記載在參考文獻中:http://scikit-learn.org/dev/modules/classes.html – tjanez
我想那是因爲它們被認爲是內部的。我想克隆應該被記錄,但是... –