ホームページ > 記事 > テクノロジー周辺機器 > Scikit-Learn を使用して機械学習の予測方法をすばやくマスターする
この記事では、予測関数の違いとその使用法について説明します。
機械学習では、predict メソッドと、predict_proba、predict_log_proba、および Decision_function メソッドはすべて、トレーニングされたモデルに基づいて予測を行うために使用されます。
predict メソッドを使用して、二項分類または多変量分類を予測し、予測ラベルを出力します。たとえば、顧客が製品を購入するかどうかを予測するロジスティック回帰モデルをトレーニングした場合、predict メソッドを使用して、新しい顧客が製品を購入するかどうかを予測できます。
scikit-learn の乳がんデータセットを使用します。このデータセットには、腫瘍の観察結果と、腫瘍が悪性か良性かを示す対応するラベルが含まれています。
import numpy as npfrom sklearn.svm import SVCfrom sklearn.preprocessing import StandardScalerfrom sklearn.pipeline import make_pipelineimport matplotlib.pyplot as pltfrom sklearn.datasets import load_breast_cancer# 加载数据集dataset = load_breast_cancer(as_frame=True)# 创建特征和目标X = dataset['data']y = dataset['target']# 将数据集分割成训练集和测试集from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y , test_size=0.25, random_state=0)# 我们创建一个简单的管道来规范数据并使用`SVC`分类器训练模型svc_clf = make_pipeline(StandardScaler(),SVC(max_iter=1000, probability=True))svc_clf.fit(X_train, y_train)
# 我们正在预测X_test的第一个条目print(svc_clf.predict(X_test[:1]))
# 预测X_test的第一个条目属于哪一类[0]
predict_proba 関数を使用して、各カテゴリの確率予測を行い、各カテゴリ ラベルの可能な確率推定値を返します。二値または多変量の分類問題では、このアプローチは、考えられるそれぞれの結果の確率を決定するために一般的に使用されます。たとえば、動物の画像を猫、犬、馬に分類するモデルをトレーニングした場合、predict_proba メソッドを使用して各カテゴリ ラベルの確率推定値を取得できます。
print(svc_clf.predict_proba(X_test[:1]))
[[0.99848307 0.00151693]]
predict_log_proba メソッドは、predict_proba に似ていますが、生の確率ではなく、確率推定の対数を返します。これは、数値のアンダーフローやオーバーフローの問題を回避できるため、非常に小さいまたは非常に大きい確率値を扱う場合に非常に役立ちます。
print(svc_clf.predict_log_proba(X_test[:1]))rrree
線形二項分類モデルは、decion_function メソッドを利用できます。各入力データ ポイントのスコアを生成し、対応するクラス ラベルを推測するために使用できます。データポイントを正または負に分類するしきい値は、アプリケーションまたはドメインの知識に基づいて設定できます。
[[-1.51808474e-03 -6.49106473e+00]]
print(svc_clf.decision_function(X_test[:1]))
注: 一部の分類子の予測メソッドは不完全であるか、関数にアクセスするために追加のパラメーターが必要な場合があります。例: 確率予測を使用するには、SVC が確率パラメーターを True に設定する必要があります。
以上がScikit-Learn を使用して機械学習の予測方法をすばやくマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。