スコアリングコードの使用例¶
本機能の提供について
スコアリングコード機能の有効化については、DataRobotの担当者にお問い合わせください。
リーダーボードでスコアリングコードインジケーターが表示されているモデルは、スコアリングコードのダウンロードをサポートします。 スコアリングコードJARは、リーダーボードまたはデプロイからダウンロードできます。
備考
モデルJARファイルには、Java 8またはそれ以降が必要です。
以下の例を参照してください。
-
バイナリスコアリングコードJARを使用して、コマンドラインでCSVファイルをスコアリングします。
-
Javaプロジェクトでダウンロード済みJARを使用します。
For more information, see the Scoring Code considerations.
コマンドラインインターフェイスの例¶
次の例では、バイナリスコアリングコードJARを使用してCSVファイルをスコアリングします。 完全な構文については、埋め込まれたCLIによるスコアリングを参照してください。
java -Dlog4j2.formatMsgNoLookups=true -jar 5cd071deef881f011a334c2f.jar csv --input=Iris.csv --output=Isis_out.csv
戻り値:
head Iris_out.csv
Iris-setosa,Iris-virginica,Iris-versicolor
0.9996371740832738,1.8977798830979584E-4,1.7304792841625776E-4
0.9996352462865297,1.9170611877686303E-4,1.730475946939417E-4
0.9996373523223016,1.8970270284380858E-4,1.729449748545291E-4
コマンドラインパラメーター、およびJavaヒープメモリーの増加の説明も参照してください。
Java APIの例¶
Java APIと共に使用するには、ダウンロードしたJARファイルをJavaプロジェクトのクラスパスに追加します。 このAPIの出力形式は、連続値プロジェクトおよび分類プロジェクトの出力形式とは異なります。 以下に両方の例を示します。
import com.datarobot.prediction.IClassificationPredictor;
import com.datarobot.prediction.IRegressionPredictor;
import com.datarobot.prediction.Predictors;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Object> row = new HashMap<>();
row.put("a", 1);
row.put("b", "some string feature");
row.put("c", 999);
// below is an example of prediction of a single variable (regression)
// get a regression predictor by model id
IRegressionPredictor regressionPredictor = Predictors.getPredictor("5d2db3e5bad451002ac53318");
double scored_value = regressionPredictor.score(row);
System.out.println("The predicted variable: " + scored_value);
// below is an example of prediction of class probabilities (classification)
// get a regression predictor by model id
IClassificationPredictor predictor = Predictors.getPredictor("5d36ee03962d7429f0a6be72");
Map<String, Double> classProbabilities = predictor.score(row);
for (String class_label : classProbabilities.keySet()) {
System.out.printf("The probability of the row belonging to class %s is %f%n",
class_label, classProbabilities.get(class_label));
}
}
}
別のバージョンのDataRobotによって生成されたモデルを使用する際の下位互換性の例も参照してください。
Java Prediction Explanation examples¶
When you download a Scoring Code JAR from the Leaderboard or from a deployment with Include Prediction Explanations enabled, you can calculate Prediction Explanations in your Java code.
備考
For availability information, see the Prediction Explanations for Scoring Code considerations.
The following examples calculate Prediction Explanations with the default parameters:
IRegressionPredictor predictor = Predictors.getPredictor();
Score<Double> score = predictor.scoreWithExplanations(featureValues);
List<Explanation> explanations = score.getPredictionExplanation();
IClassificationPredictor predictor = Predictors.getPredictor();
Score<Map<String, Double>> score = predictor.scoreWithExplanations(featureValues);
List<Explanation> explanations = score.getPredictionExplanation();
The following examples calculate Prediction Explanations with custom parameters:
IRegressionPredictor predictor = Predictors.getPredictor();
ExplanationParams parameters = predictor.getDefaultPredictionExplanationParams();
parameters = parameters
.withMaxCodes(10)
.withThresholdHigh(0.8)
.withThresholdLow(0.3);
Score<Double> score = predictor.scoreWithExplanations(featureValues, parameters);
List<Explanation> explanations = score.getPredictionExplanation();
IClassificationPredictor predictor = Predictors.getPredictor();
ExplanationParams defaultParameters = predictor.getDefaultPredictionExplanationParams();
defaultParameters = defaultParameters
.withMaxCodes(10)
.withThresholdHigh(0.8)
.withThresholdLow(0.3);
Score<Map<String, Double>> score = predictor.scoreWithExplanations(featureValues, defaultParameters);
List<Explanation> explanations = score.getPredictionExplanation();