テキスト分析アルゴリズム
テキストデータは、NLPモデルを生成するためにベクトル化された形式でアルゴリズムに供給されます。NLPモデルは、大きく分けて教師あり学習モデルと教師なし学習モデルに分類できます。QuickMLでは、ラベル付きデータを使用して教師あり学習モデルを構築するアルゴリズムを備えています。
アルゴリズムは以下を含みます:
- Naive Bayes
- サポートベクターマシン(SVM)
Naive Bayes
各特徴量のペア間に条件付き独立性があるというナイーブな仮定に基づくベイズ定理に基づいて動作する分類アルゴリズムです。ベイズ定理は確率P(c|x)を計算します。ここでcは可能なターゲットラベルのクラス、xは分類対象の特定の特徴量を表す与えられたインスタンスです。
P(c|x) = P(x|c) * P(c) / P(x)
ハイパーパラメータ:
パラメータ:
-
priors: array-like of shape (n_classes,), default=None クラスの事前確率です。指定された場合、事前確率はデータに応じて調整されません。
-
var_smoothing: float, default=1e-9 計算の安定性のために分散に追加される、すべての特徴量の最大分散の割合です。
属性:
-
class_count_: ndarray of shape (n_classes,) 各クラスで観測されたトレーニングサンプルの数です。
-
class_prior_: ndarray of shape (n_classes,) 各クラスの確率です。
-
classes_: ndarray of shape (n_classes,) 分類器が認識しているクラスラベルです。
-
epsilon_: float 分散への絶対加算値です。
-
n_features_in_: int 適合中に見られた特徴量の数です。
-
feature_names_in_: ndarray of shape (n_features_in_,) 適合中に見られた特徴量の名前です。Xにすべて文字列の特徴量名がある場合にのみ定義されます。
-
var_: ndarray of shape (n_classes, n_features) クラスごとの各特徴量の分散です。
-
theta_: ndarray of shape (n_classes, n_features) クラスごとの各特徴量の平均です。
サポートベクターマシン(SVM)
SVMは、最適な超平面(決定境界)を決定してデータを分類する、もう1つの人気のある分類機械学習アルゴリズムです。
ハイパーパラメータ:
-
C : float, default=1.0
正則化パラメータです。正則化の強さはCに反比例します。厳密に正の値でなければなりません。ペナルティは二乗l2ペナルティです。
-
kernel: {’linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} or callable, default=‘rbf’
アルゴリズムで使用するカーネルタイプを指定します。何も指定されない場合、‘rbf’が使用されます。callableが指定された場合、データ行列からカーネル行列を事前計算するために使用されます。その行列は(n_samples, n_samples)の形状の配列である必要があります。
-
degree: int, default=3
多項式カーネル関数(‘poly’)の次数です。非負でなければなりません。他のすべてのカーネルでは無視されます。
-
gamma: {‘scale’, ‘auto’} or float, default=‘scale’
‘rbf’、‘poly’、‘sigmoid’のカーネル係数です。
- gamma=‘scale’(デフォルト)が渡された場合、gammaの値として1 / (n_features * X.var())を使用します。
- ‘auto’の場合、1 / n_featuresを使用します。
- floatの場合、非負でなければなりません。
-
coef0: float, default=0.0
カーネル関数の独立項です。‘poly’と’sigmoid’でのみ重要です。
-
shrinking: bool, default=True
縮小ヒューリスティックを使用するかどうかです。詳細はユーザーガイドを参照してください。
-
probability: bool, default=False
確率推定を有効にするかどうかです。fitを呼び出す前に有効にする必要があり、内部的に5分割交差検証を使用するためそのメソッドが遅くなります。predict_probaはpredictと矛盾する可能性があります。詳細はユーザーガイドを参照してください。
-
Tolerance: float, default=1e-3
停止基準の許容値です。
-
cache_size: float, default=200
カーネルキャッシュのサイズ(MB単位)を指定します。
-
class_weight: dict or ‘balanced’, default=None
クラスiのパラメータCをclass_weight[i]*Cに設定します(SVCの場合)。指定されない場合、すべてのクラスの重みは1と想定されます。“balanced"モードは、入力データのクラス頻度に反比例してn_samples / (n_classes * np.bincount(y))として自動的に重みを調整するためにyの値を使用します。
-
verbose: bool, default=False
詳細な出力を有効にします。この設定はlibsvmのプロセスごとのランタイム設定を利用するため、有効にするとマルチスレッドコンテキストで正常に動作しない場合があります。
-
max_iter: int, default=-1
ソルバー内のイテレーションのハードリミットです。-1は制限なしを意味します。
-
decision_function_shape: {‘ovo’, ‘ovr’}, default=‘ovr’
他のすべての分類器と同様に(n_samples, n_classes)の形状のone-vs-rest(‘ovr’)決定関数を返すか、(n_samples, n_classes * (n_classes - 1) / 2)の形状のlibsvmのオリジナルのone-vs-one(‘ovo’)決定関数を返すかを指定します。ただし、内部的にはマルチクラス戦略としてone-vs-one(‘ovo’)が常にモデルのトレーニングに使用されます。ovrマトリックスはovoマトリックスから構築されるのみです。このパラメータはバイナリ分類では無視されます。
-
break_ties: bool, default=False
trueの場合、decision_function_shape=‘ovr’かつクラス数が2より大きい場合、predictはdecision_functionの信頼値に従ってタイを解消します。そうでない場合、タイとなったクラスの中で最初のクラスが返されます。タイの解消は単純なpredictと比較して比較的高い計算コストがかかることに注意してください。
-
random_state: int, RandomState instance or None, default=None
確率推定のためのデータシャッフリングの擬似乱数生成を制御します。probabilityがFalseの場合は無視されます。複数の関数呼び出し間で再現可能な出力を得るにはintを渡してください。
最終更新日 2026-03-05 11:43:24 +0530 IST
Yes
No
Send your feedback to us