本文整理汇总了Python中sklearn.tree.DecisionTreeClassifier.decision_function方法的典型用法代码示例。如果您正苦于以下问题:Python DecisionTreeClassifier.decision_function方法的具体用法?Python DecisionTreeClassifier.decision_function怎么用?Python DecisionTreeClassifier.decision_function使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.tree.DecisionTreeClassifier
的用法示例。
在下文中一共展示了DecisionTreeClassifier.decision_function方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_thresholded_scorers_multilabel_indicator_data
# 需要导入模块: from sklearn.tree import DecisionTreeClassifier [as 别名]
# 或者: from sklearn.tree.DecisionTreeClassifier import decision_function [as 别名]
def test_thresholded_scorers_multilabel_indicator_data():
"""Test that the scorer work with multilabel-indicator format
for multilabel and multi-output multi-class classifier
"""
X, y = make_multilabel_classification(return_indicator=True,
allow_unlabeled=False,
random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
# Multi-output multi-class predict_proba
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
y_proba = clf.predict_proba(X_test)
score1 = SCORERS['roc_auc'](clf, X_test, y_test)
score2 = roc_auc_score(y_test, np.vstack(p[:, -1] for p in y_proba).T)
assert_almost_equal(score1, score2)
# Multi-output multi-class decision_function
# TODO Is there any yet?
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
clf._predict_proba = clf.predict_proba
clf.predict_proba = None
clf.decision_function = lambda X: [p[:, 1] for p in clf._predict_proba(X)]
y_proba = clf.decision_function(X_test)
score1 = SCORERS['roc_auc'](clf, X_test, y_test)
score2 = roc_auc_score(y_test, np.vstack(p for p in y_proba).T)
assert_almost_equal(score1, score2)
# Multilabel predict_proba
clf = OneVsRestClassifier(DecisionTreeClassifier())
clf.fit(X_train, y_train)
score1 = SCORERS['roc_auc'](clf, X_test, y_test)
score2 = roc_auc_score(y_test, clf.predict_proba(X_test))
assert_almost_equal(score1, score2)
# Multilabel decision function
clf = OneVsRestClassifier(LinearSVC(random_state=0))
clf.fit(X_train, y_train)
score1 = SCORERS['roc_auc'](clf, X_test, y_test)
score2 = roc_auc_score(y_test, clf.decision_function(X_test))
assert_almost_equal(score1, score2)
示例2: __init__
# 需要导入模块: from sklearn.tree import DecisionTreeClassifier [as 别名]
# 或者: from sklearn.tree.DecisionTreeClassifier import decision_function [as 别名]
class Model:
model = None
vectorizer = None
def __init__(self, model_type=None, model_params=""):
if (model_type == None):
self.model = None
self.vectorizer = None
return
if (model_type == "baseline"):
self.model = baseline.Baseline()
elif (model_type == "svm"):
self.model = eval("SVC(" + model_params + ")")
#self.model = SVC(kernel="linear")
elif (model_type == "knn"):
self.model = eval("KNeighborsClassifier(" + model_params + ")")
#self.model = KNeighborsClassifier(n_neighbors=3)
elif (model_type == "naive_bayes"):
self.model = MultinomialNB()
elif (model_type == "decision_trees"):
self.model = DecisionTreeClassifier(random_state=0)
elif (model_type == "log_regression"):
self.model = eval("LogisticRegression(" + model_params + ")")
elif (model_type == "perceptron"):
self.model = eval("Perceptron(" + model_params + ")")
else:
print >> sys.stderr, "Model of type " + model_type + " is not supported."
self.vectorizer = DictVectorizer(sparse=True)
def fit(self, X, y):
X = self.vectorizer.fit_transform(X)
self.model.fit(X, y)
def predict(self, x):
x = self.vectorizer.transform(x)
return self.model.predict(x)
def predict_proba(self, x):
x = self.vectorizer.transform(x)
return self.model.predict_proba(x)
def predict_loss(self, X):
if self.model.__class__.__name__ == "Perceptron":
X = self.vectorizer.transform(X)
return -self.model.decision_function(X)
probs = self.predict_proba(X)
return probs[:,0]
def score(self, X, y):
X = self.vectorizer.transform(X)
return self.model.score(X, y)
def save(self, file_path):
f = open(file_path, "w")
cPickle.dump((self.model, self.vectorizer), f)
f.close()
def load(self, file_path):
f = open(file_path, "r")
(self.model, self.vectorizer) = cPickle.load(f)
f.close()
def print_params(self, file_path):
f = open(file_path, "w")
if (self.model.__class__.__name__ == "DecisionTreeClassifier"):
f = tree.export_graphviz(self.model, out_file=f)
f.close()