構成

注意: 一部のmethodやattributeはまだ実装されていないため、ドキュメント記載通りに動作しない場合があります。

WideLearnerClientのパラメータ

  • preproc (str or tuple[str, …] or dict[str, str or tuple[str, …]], default=('qscale', 'onehot')):
    • 適用する前処理方法。

各前処理方法は、数値またはカテゴリです。数値メソッドは数値入力列でのみ機能し、カテゴリメソッドは数値以外の入力列でのみ機能します。

単一の文字列が指定された場合、別の型のカラムのメソッドはデフォルト値'qscale'または'onehot'で補完されます。たとえば、'ecut5'は('ecut5'、'onehot')と指定するのと同じであり、'onecold'は('qscale'、'onecold')と指定するのと同じです。

メソッドがタプルでリストされている場合、各カラムは、それを処理できるすべてのメソッドを使用して処理されます。どのメソッドでも処理できない列は無視されます。

列からメソッドへのマッピングの辞書が指定されている場合、列固有の変換が実行され、辞書内の列は対応するメソッドを使用して処理され、残りは無視されます。複数の方法が示されている場合は、入力列を複数の方法で変換できます。この形式では、数値列に対しても質的メソッドが強制的に適用されます。数値以外の列に数値メソッドを使用しようとすると、エラーが発生します。

  • 数値メソッド:

  • 'scale' – 値を0~1の実数にリニアにスケールします。2つの列が生成されます。'↗'は元の値との正の相関を表し、'↘'は負の相関を表します。

  • 'qscale' – 0から1までの一様分布に従う実数に値をスケールします。2つの列が生成されます。'Π'は元の値との正の相関を表し、'À'は負の相関を表します。

  • 'bin2', 'bin3', … – 0から1までの一様分布に従う実数に値をスケールします。2つの列が生成されます。'⇧'は元の値との正の相関を表し、'⇩'は負の相関を表します。

  • 'cut2', 'cut3', … – 範囲を、ほぼ同じ幅を含むk個の区間 (ビン) に分割します。カットポイントごとに2つのバイナリ列'<'と'≥'が生成されます。

  • 'qbin2', 'qbin3', … – 範囲を、ほぼ同数のサンプルを含むk個の区間 (ビン) に分割します。ビンごとに1つのバイナリ列が生成されます。

  • 'qcut2', 'qcut3', … – 範囲を、ほぼ同数のサンプルを含むk個の区間 (ビン) に分割します。カットポイントごとに2つのバイナリ列'<'と'≥'が生成されます。

  • 'ebin2', 'ebin3', … – greedyアルゴリズムで範囲をk区間 (ビン) に分割し、エントロピーを最小化する。ビンごとに1つのバイナリ列が生成されます。

  • 'ecut2', 'ecut3', … – greedyアルゴリズムで範囲をk区間 (ビン) に分割し、エントロピーを最小化する。カットポイントごとに2つのバイナリ列'<'と'≥'が生成されます。

  • 'pass' – 変換なし。

  • 'flip' – 値xを1-xに変換します。

  • カテゴリカルメソッド:

  • 'onehot' – ワンホットバイナリエンコーディング。列は、その値に対応する複数のバイナリ列に変換されます。値1は、元の列にその値があることを示します。

  • 'onecold' – ワンコールドバイナリエンコーディング。 列は、その値に対応する複数のバイナリ列に変換されます。値1は、元の列にその値がないことを示します。

列の一意の値が3つ未満の場合は、'pass'と'flip'を除くすべてのメソッドが'onehot'と同じ方法で列を変換することに注意してください。

  • miner ({'chunky', 'copula', 'fair', 'closed', 'auto'}, default='auto'):

    • 使用するナレッジチャンクマイニングエンジン。ChunkyMinerの'chunky'、CopulaMinerの'copula'、FairMinerの'fair'、ClosedPatternMinerの'closed'。'chunky'は最速ですが、sample_weightのないバイナリデータセットのみをサポートします。'fair'または'closed'を選択して、公平性関連の制約を使用します。'closed'は他とは異なるマイニング戦略を持ち、max_lenをサポートしません。'auto'の場合、適切なものが選択されます。
  • chunk_mode ({'all', 'minimal', 'supp', 'conf', 'chi2', 'nmi', 'auto'}, default='conf'):

    • 制約条件を満たすすべてのチャンクのうち、出力チャンクを選択するための基準です。
  • 'all' – すべてのチャンク。

  • 'minimal' or 'supp' – ほかのチャンクを含まないチャンク。

  • 'conf' – 信頼度が同じまたは高いチャンクを含まないチャンク。

  • 'chi2' – カイ2乗値が同じかそれ以上のチャンクを含まないチャンク。

  • 'nmi' – 相互情報量が同じまたは上位のチャンクを含まないチャンク。

  • 'auto' – chunk_scoreの順位が同じまたは上位のチャンクを含まないチャンク。

  • 上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。

  • chunk_score ({'supp', 'conf', 'chi2', 'nmi'}, default='nmi'):

    • チャンクをランク付けするための基準。
  • 'supp' – すべての正のサンプルに対する正のヒットサンプルの比率。

  • 'conf' – すべてのヒットサンプルに対する正のヒットサンプルの比率。

  • 'chi2' – カイ二乗値。

  • 'nmi' – 相互情報。

上記の単一の値、または{class1:値1, class2:値2,.。}形式の辞書を指定できます。

  • chunk_limit (int, default=10000):

    • チャンク数の上限。与えられた数kに対して、chunk_score内のおよそ上位k個のチャンクが列挙されます。use_exact_limitが設定されていない場合は、この制限を超えて同点スコアのチャンクを列挙できます。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • use_exact_limit (bool or int, default=False):

    • Trueの場合、チャンクの数はchunk_limitによって厳密に制限されます。正の整数が指定された場合は、その数で正確に制限されます。
  • max_len (int or None or list[int|None], default=None):

    • チャンクの長さの上限。リストに複数の値が指定されている場合は、各制限値で複数の実行が実行され、結果がマージされます。推奨される設定の1つは[None, 1]です。これは、長さ1の非常に基本的なチャンクを見逃さないことで、分類器の精度を向上させることを目的としています。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • min_npos (int or None, default=None):

    • チャンクの正のヒット・サンプル数の下限。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • max_nneg (int or None, default=None):

    • チャンクのネガティブ・ヒット・サンプル数の上限。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • min_conf (float or None, default=None):

    • チャンクのすべてのヒット・サンプルに対する正のヒット・サンプルの比率の下限。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • min_chi2 (float or None, default=None):

    • チャンクのカイ2乗値の下限。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • min_nmi (float or None, default=None):

    • チャンクの正規化された相互情報の下限[0, 1]。上記の単一の値、または{class1:値1, class2:値2,...}形式の辞書を指定できます。
  • min_supp (float or None, default=0.001):

    • チャンクのすべての正のサンプルに対する正のヒット・サンプルの比率の下限。min_nposを指定する別の方法です。min_suppの範囲[0, 1]は、min_nposの範囲[0, total_npos]に一次的に対応します。上記の単一の値、または{class1:値1, class2:値2,...}という形式の辞書を指定できます。
  • conf_ratio (float or None, default=None):

    • min_confを指定する別の方法。正のチャンクの場合、conf_ratioの範囲[0, 1]はmin_confの範囲[総npos/ (総npos+総nneg), 1]に線形に対応し、負のチャンクの場合も同様です。上記の単一の値、または{class1:値1, class2:値2,...}という形式の辞書を指定できます。
  • fair_supp (float or None, default=None):

    • すべてのグループに共通する、公平性グループ内のすべてのサンプルに対するヒットサンプルの比率の下限。
  • fair_ratio (float or array-like of shape (n_fairgroups,) or dict[object,float] or None, default=None):

    • 正の規則のp/qおよび負の規則の (1-p) / (1-q) の下限。ここで、pは対応するグループのすべてのサンプルに対するヒットサンプルの比率であり、qは他のグループのすべてのサンプルに対するヒットサンプルの比率です。スカラー値は、すべてのグループに共通の制約を定義します。各グループの制約は、対応する順序のベクトル、またはグループIDをキーとするディクショナリで表すことができます。
  • solver ({'glmnet', 'liblinear', 'saga', None}, default='glmnet'):

    • 最適化問題で使用するアルゴリズム。'glmnet'は、すべてのチャンクがそれぞれのターゲットクラスと一致するように、正または負に重み付けされることを保証します。'liblinear'と'saga'は、cut_point、max_n_weighted、およびn_lambdaパラメーターをサポートしていません。Noneの場合、solverは実行されず、すべての正と負のチャンクがそれぞれ1と-1にウェイト付けされます。
  • class_weight (dict or None or 'balanced', default=None):

    • {class_label:重み}の形式のクラスに関連付けられている重み。Noneの場合、すべてのクラスの重みは1になります。 'balanced'の場合、重みはトレーニングデータのクラス頻度に反比例してn_samples/(n_classes*np.bincount (y))として調整されます。
  • fit_intercept (bool, default=True):

    • モデルに切片項を含めるかどうか。これは、無条件チャンクまたは空のアイテムセットの重み付けに対応します。
  • l1_ratio (float or list[float], default=1.0):

    • 0<=l1_ratio<=1のElastic-Net混合パラメータ。ridgeには0、lassoには1を設定します。複数の値を指定した場合は、クロス検証スコアが最も高い値が選択されます。「liblinear」solverは値0と1のみをサポートします。
  • C (float or list[float] or None, default=None):

    • 正則化強度λの逆数、正のfloatでなければなりません。値が小さいほど、正則化が強くなります。複数の値を指定した場合は、クロス検証スコアが最も高い値が選択されます。Noneの場合、λは完全に自動的に決定されます。
  • n_lambda (int, default=100):

    • C=Noneの場合に計算するλ値の最大数。値を小さくすると、最適化を細かくする代わりにsolverの速度が上がります。「glmnet」solverでのみサポートされています。
  • cv (int or cross-validation generator, default=5):

    • λとl1_ratioの調整に使用するクロス検証ジェネレータ。intの場合は指定したフォールド数のsklearn.model_selection.StratifiedKFoldが使用されます。
  • cv_score (str or callable or None, default='neg_log_loss'):

    • クロス検証されたモデルのパフォーマンスを評価するための戦略。有効なオプションには、'accuracy'、'roc_auc'、'f1'、'precision'、および'recall'が含まれます。Noneの場合は、既定の分類スコアを使用します。scikit-learnユーザーガイドのスコアリングパラメータの説明を参照してください。
  • cut_point (float, default=0):

    • 最適なλを選択するために使用するカットポイント。arg_maxλcv_score (λ) >=cv_score (λ_max) - cut_point*standard_error (λ_max) 。「glmnet」solverでのみサポートされています。
  • max_n_weighted (int, default=None):

    • ゼロ以外の重みを持つチャンクの最大数。「glmnet」ソルバでのみサポートされています。
  • max_iter (int, default=1000000):

    • モデルをフィットさせるときの最大値です。
  • n_jobs (int, default=None):

    • モデルに適合するためにソルバーが使用するCPUコアの最大数。joblib.parallel_backendコンテキストでない限り、Noneは1を意味します。-1の場合、すべてのCPUを使用できます。
  • random_state (int, RandomState instance or None, default=None):

    • CVフォールドの決定に使用される乱数ジェネレータのシードです。
  • use_sparse_matrix (bool, default=True.):

    • 高速計算のためのフィット法で疎行列形式を使用するかどうか。
  • verbose (int, default=0)

    • メッセージの冗長レベル。
  • pbar (bool, default=None):

    • プログレスバーを表示するかどうか。Noneの場合は、実行環境によって自動的に決定されます。
  • n_features_in_ (int):

    • fit () メソッドに渡されるフィーチャの数。
  • feature_names_in_ (ndarray of shape (n_features,)):

    • フィット時に表示されるフィーチャの名前。
  • preproc_ (WidePreprocessor or None):

    • プリプロセッサオブジェクト。
  • features_ (array of shape (n_features,)):

    • 前処理後のフィーチャーの名前。
  • classes_ (array of shape (n_classes,))

    • yで見つかった個別のクラスラベル。
  • class_ratio_ (array of shape (n_classes,)):

    • 各モデルのフィッティングにおけるすべてのサンプルに対するターゲットクラスサンプルの比率。
  • fairgroups_ (array of shape (n_fairgroups,)):

    • 個別の公平性グループID。
  • miner_ ({'chunky', 'copula', 'fair', 'closed'}):

    • 実際に使用されている知識チャンクマイニングエンジン。
  • all_chunks_ (list[tuple[ChunkSet, ChunkSet]] of length n_classes or 1):

    • 各クラスのすべての正のチャンクのセットとすべての負のチャンクのセットのペア。
  • chunks_ (list[tuple[ChunkSet, ChunkSet]] of length n_classes or 1):

    • 各クラスの重み付けされた正のチャンクのセットと重み付けされた負のチャンクのセットのペア。
  • weight_ (list[tuple[array, array]] of length n_classes or 1):

    • 各クラスの正と負の係数ベクトルのペア。
  • chunkset_ (ChunkSet):

    • すべてのクラスの正および負の重み付けされたチャンクのセット。便宜上、最初のクラスのChunkSetオブジェクトにマージされます。空のアイテムセットは含まれず、同じチャンクは複数回表示されません。
  • coef_ (ndarray of shape (1, n_chunks) or (n_classes, n_chunks)):

    • chunkset_の順序に従って順序付けられた、決定関数内のチャンクの係数。
  • intercept_ (ndarray of shape (1,) or (n_classes,)):

    • 決定関数に追加されるインターセプト(別名バイアス)。
  • lambda_ (list[float] of length n_classes or 1):

    • 各クラスの正則化強度パラメータ。
  • l1_ratio_ (list[float] of length n_classes or 1):

    • 各クラスのElastic-Net混合パラメータ。
  • cv_score_ (list[float] of length n_classes or 1) :

    • 各クラスのクロス検証スコア。

メソッド

実装済のメソッド

メソッド 説明
WideLearner.init([preproc, miner, ...])
WideLearner.chunkdata([columns, all, sort]) ナレッジチャンクのテーブルを生成します。
WideLearner.fit(X, y[, sample_weight, ...]) 指定されたトレーニングデータに従ってモデルを適合させます。
WideLearner.predict(X) Xのサンプルのクラスラベルを予測します。
WideLearner.predict_proba(X) 確率の推定値。
WideLearner.transform(X, *[, all]) Xのサンプルをチャンク値のベクトルに変換します。

未実装のメソッド

メソッド 説明
WideLearner.chunkmatrix([all]) チャンクとフィーチャの関係を表すマトリックスを生成します。
WideLearner.chunks([all]) すべてのチャンクのイテレータを取得します。
WideLearner.classifier() チャンク値を入力として受け取るトレーニング済みの線形分類子を取得します。
WideLearner.fit_transform(X[, y]) データに合わせて変換します。
WideLearner.get_params([deep]) この推定のパラメーターを取得します。
WideLearner.n_chunks([all]) チャンクの合計数を取得します。
WideLearner.plot_chunks([plotter, all]) 正および負の支持値の2-D空間に重み付きチャンクをプロットします。
WideLearner.score(X, y[, sample_weight]) 指定したテストデータとラベルの平均精度を返します。
WideLearner.set_output(*[, transform]) 出力コンテナを設定します。
WideLearner.set_params(**params) このエスティメータのパラメータを設定します。