私はnumpy行列X(rows = observations & columns = features)のデータを持つ分類問題について、xgboostを使ってPythonを実行しようとしています。 numpy配列y。 私のデータがまばらなので、私はそれをXのスパースなバージョンを使用して実行させたいと思いますが、エラーが発生したときに何かが見当たりません。ここでXGBoostと疎行列
は、私が何をすべきかです:分類器に合うようにしようとしたとき
# Library import
import numpy as np
import xgboost as xgb
from xgboost.sklearn import XGBClassifier
from scipy.sparse import csr_matrix
# Converting to sparse data and running xgboost
X_csr = csr_matrix(X)
xgb1 = XGBClassifier()
xgtrain = xgb.DMatrix(X_csr, label = y) #to work with the xgb format
xgtest = xgb.DMatrix(Xtest_csr)
xgb1.fit(xgtrain, y, eval_metric='auc')
dtrain_predictions = xgb1.predict(xgtest)
等...
今、私はエラーを取得する:
今File ".../xgboost/python-package/xgboost/sklearn.py", line 432, in fit
self._features_count = X.shape[1]
AttributeError: 'DMatrix' object has no attribute 'shape'
、私はAを探しましたそれはどこから来ることができるのか、それは私が使用したい疎フォーマットと関係していると信じています。しかし、それは何で、どのように私はそれを修正することができます、私はヒントを持っていません。
私はどんなヘルプやコメントも歓迎します! ありがとうございました
は 'X'でこの作業を行うだけで
が動作するはずの行を削除しますか? 'xgb'はスパース行列の使用について何を表していますか?彼らはしばしば置き換えられない。 – hpaulj