小编nav*_*nav的帖子

TransformedTargetRegressor 不继承 feature_importances_ 属性

我正在使用TransformedTargetRegressor将我的目标转换为日志空间。它是这样做的

from sklearn.ensemble import GradientBoostingRegressor
from sklearn.compose import TransformedTargetRegressor
clf = TransformedTargetRegressor(regressor=GradientBoostingRegressor(**params),
       func=np.log1p, inverse_func=np.expm1)
Run Code Online (Sandbox Code Playgroud)

但是当我后来打电话时

feature_importance = clf.feature_importances_
Run Code Online (Sandbox Code Playgroud)

我得到

AttributeError: 'TransformedTargetRegressor' 对象没有属性 'feature_importances_'

我会认为原始类的所有属性都会被继承。如何解决这个问题?

有关更多上下文,这里是一个官方示例。用我的替换初始化行会导致崩溃。

python regression transform linear-regression scikit-learn

3
推荐指数
1
解决办法
654
查看次数

如何在不暴露类详细信息的情况下传递Function指针

我正在创建一个需要允许用户设置回调函数的库.该库的界面如下:

// Viewer Class Interface Exposed to user
/////////////////////////////
#include "dataType_1.h"
#include "dataType_2.h"

class Viewer
{
    void SetCallbackFuntion( dataType_1* (Func) (dataType_2* ) );
  private:
    dataType_1* (*CallbackFunction) (dataType_2* );
}
Run Code Online (Sandbox Code Playgroud)

在典型的用法中,用户需要在回调中访问dataType_3的对象.但是,这个对象只有他的程序才知道,如下所示.

// User usage
#include "Viewer.h"
#include "dataType_3.h"

// Global Declaration needed
dataType_3* objectDataType3;

dataType_1* aFunction( dataType_2* a)
{
    // An operation on object of type dataType_3
    objectDataType3->DoSomething();
}

main()
{
    Viewer* myViewer;
    myViewer->SetCallbackFunction( &aFunction ); 
}
Run Code Online (Sandbox Code Playgroud)

我的问题如下:如何避免对objectDataType3使用丑陋的全局变量?(objectDataType3是libraryFoo的一部分,所有其他对象dataType_1,dataType_2和Viewer都是libraryFooBar的一部分)因此我希望它们尽可能保持独立.

c++

0
推荐指数
2
解决办法
359
查看次数