自定义评价函数
from sklearn.metrics import make_scorer
def customize_score(true_value, predict):
return 0.5
my_scorer = make_scorer(customize_score, greater_is_better=True)
如何使用
直接使用
from sklearn.linear_model import LinearRegression
liner_model = LinearRegression()
my_scorer(liner_model, features_test, target_test)
score = my_scorer(liner_model, x_test_std, y_test)
print(score)
交差验证中
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_validate
liner_model = LinearRegression()
scoring = {
'customize_score': my_scorer
}
kfold = KFold(n_splits=10, random_state=0)
cv_cross = cross_validate(liner_model, x_train_std, y_train, cv=kfold, scoring=scoring)
print(cv_cross['test_customize_score'].mean())
print(cv_cross['test_customize_score'].std())
网格搜索中
GridSearchCV(scoring=scoring)