无法创建XGBoost DMatrix

时间:2016-12-25 05:03:19

标签: python scikit-learn xgboost

我的理解是DMatrix接受numpy.ndarray作为输入。 我现在已多次尝试过这种情况并且不让我创建DMatrix。

Error Screenshot

我尝试过使用Xgboost.DMatrix和Xgboost.sklearn.DMatrix。 任何帮助都会很高兴。

1 个答案:

答案 0 :(得分:2)

看起来你的y_train是一个带有非数字元素的numpy数组。您应该将y_train元素转换为数字类型。

你可以这样做:

recyclerView =(RecyclerView) findViewById(R.id.recyclerviewcard);
    layoutManager=new LinearLayoutManager(DetailsActivity.this,LinearLayoutManager.HORIZONTAL,false);
    recyclerView.setLayoutManager(layoutManager);
    recyclerView.setHasFixedSize(true);
    recyclerView.scrollToPosition(pos);
    adapter=new AzkaarAdapter(AzkaarData.getArrayListData(),this);
    recyclerView.setAdapter(adapter);
    SnapHelper snapHelper = new LinearSnapHelper();
    snapHelper.attachToRecyclerView(recyclerView);


    toolbar=(Toolbar)findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

}

@Override
public void onItemClick(int p) {

}

@Override
public void onSecondaryIconClick(int p) {

    AzkarForm azkarForm= list.get(p);
    press=(Button) findViewById(R.id.press);
    int currentNum=Integer.parseInt(press.getText().toString());
    int num=azkarForm.getNumber();

    if(currentNum<num){
        currentNum++;
        onSecondaryIconClick(p);
    }

    press.setText(String.valueOf(currentNum));


}