2016-08-02 52 views
3

我尝试使用逻辑回归来获得我的多类分类器的准确性。是否有任何方法可以通过内置函数获得准确性,还是必须自己编写函数?如何获得h2o模型的准确性/精度?

下面到目前为止我的代码:

multinomial_fit = H2OGeneralizedLinearEstimator(family="multinomial",max_iterations=100) 

multinomial_fit.train(x=train_h2o_cro.columns[1:],y=train_h2o_cro.columns[0],training_frame=train_h2o) 

prediction_glm_h2o = multinomial_fit.predict(test_h2o) 

multinomial_fit.model_performance(test_h2o) 

随着代码的最后一行,我只得到了MSE,别无其他。

在此先感谢。

回答

0

可以使用multinomial_fit.logloss(),这里是一个使用虹膜数据集的例子:

import h2o 
from h2o.estimators.glm import H2OGeneralizedLinearEstimator 
h2o.init() 
iris_df = h2o.import_file("https://s3.amazonaws.com/h2o-public-test-data/smalldata/iris/iris.csv") 
predictors = iris_df.columns[0:4] 
response_col = "C5" 
train,valid,test = iris_df.split_frame([.7,.15], seed =1234) 
glm_model = H2OGeneralizedLinearEstimator(family="multinomial") 
glm_model.train(predictors, response_col, training_frame = train, validation_frame = valid) 
print(glm_model.logloss(train = True)) 
print(glm_model.logloss(valid = True)) 
+0

'.logloss()'是否真的返回模型的准确性或精度?因为当我查看文档时,我只能得到它自己的logloss。我是否必须做更多的事情比印刷印刷的价值? – sedioben

2

这是目前还没有实现,但它是有道理添加此。这里是您可以跟踪进度的JIRA ticket