0
我在其中一个大数据分析应用程序中使用带有Hadoop的Spark Mllib。 我有41个功能和一个标签的功能集。现在,在进行培训时,我想将我的功能与功能工程师混合匹配,并为我的场景找到最适合的最小功能集。使用具有许多功能的JavaRDD中的选择性功能
为此,我想在训练时选择在训练和测试模型准确性时使用哪些特征。
我这样做
JavaRDD<LabeledPoint>[] splits = data.randomSplit(new double[] { 0.5, 0.5 });
JavaRDD<LabeledPoint> trainingData = splits[0];
JavaRDD<LabeledPoint> testData = splits[1];
,然后再使用这些数据训练不同的模型。
modelLR = new LogisticRegressionWithLBFGS().setNumClasses(numClasses).run(trainingData.rdd());
modelRF = RandomForest.trainClassifier(trainingData, numClasses, categoricalFeaturesInfo, numTrees, featureSubsetStrategy, impurity, maxDepth, maxBins, seed);
modelNB = NaiveBayes.train(trainingData.rdd(), 1.0);
modelGBT = GradientBoostedTrees.train(trainingData, boostingStrategy);
modelDT = DecisionTree.trainClassifier(trainingData, numClasses, categoricalFeaturesInfo, impurity, maxDepth, maxBins);
现在,在使用数据集训练模型之前,我希望筛选我想要使用的选择性特征的数据。有人可以建议我使用JavaRDD<LabeledPoint>
吗?
如果需要更多的细节,请随时询问。