def test_run(self):
        # part 1
        imputer = MeanImputation(hyperparams=hp)

        imputer.set_training_data(inputs=X)
        imputer.fit(timeout=self.enough_time)
        # print(imputer.get_params())
        self.assertEqual(imputer._has_finished, True)
        self.assertEqual(imputer._iterations_done, True)

        result = imputer.produce(inputs=X, timeout=self.enough_time).value
        self.helper_impute_result_check(X, result)

        # part2: test set_params()
        imputer2 = MeanImputation(hyperparams=hp)

        imputer2.set_params(params=imputer.get_params())
        self.assertEqual(imputer2._has_finished, True)
        self.assertEqual(imputer2._iterations_done, True)

        result2 = imputer2.produce(inputs=X, timeout=self.enough_time).value
        self.assertEqual(result2.equals(result),
                         True)  # two imputers' results should be same
        self.assertEqual(imputer2._has_finished, True)
        self.assertEqual(imputer2._iterations_done, True)
Exemplo n.º 2
0
enc = Encoder(hyperparams=hp)
enc.set_training_data(inputs=trainData)
enc.fit()
encodedData = enc.produce(inputs=trainData).value
encodedTestData = enc.produce(inputs=testData).value

# Initialize the DSBox imputer
hp = MeanHyperparameter.sample()
imputer = MeanImputation(hyperparams=hp)
imputer.set_training_data(inputs=encodedData)  # unsupervised
imputer.fit(timeout=100)  # give 100 seconds to fit
print("\nParams:")
print(imputer.get_params())

imputer2 = MeanImputation(hyperparams=hp)
imputer2.set_params(params=imputer.get_params())

imputedData = imputer2.produce(inputs=encodedData, timeout=100).value

model = BaggingClassifier()
trainedModel = model.fit(imputedData, np.asarray(trainTargets['Class']))

predictedTargets = trainedModel.predict(
    imputer.produce(inputs=encodedTestData).value)

# Append the d3mindex column to the predicted targets
predictedTargets = pd.DataFrame({
    'd3mIndex': d3mIndex['d3mIndex'],
    'Class': predictedTargets
})
print(predictedTargets.head())
Exemplo n.º 3
0
print(trainData.head())
print(trainTargets.head())
print(np.asarray(trainTargets['Class']))
print(testData.head())

enc = Encoder()
enc.set_training_data(inputs=trainData)
enc.set_params(params=Params(n_limit=10, text2int=True))
enc.fit()
encodedData = enc.produce(inputs=trainData)
encodedTestData = enc.produce(inputs=testData)

# Initialize the DSBox imputer
imputer = MeanImputation()
imputer.set_params(verbose=0)
imputer.set_training_data(inputs=encodedData)  # unsupervised
imputer.fit(timeout=10)  # give 10 seconds to fit
print(imputer.get_call_metadata())  # to see wether fit worked
imputedData = imputer.produce(inputs=encodedData, timeout=10)
print(imputer.get_call_metadata())  # to see wether produce worked

model = BaggingClassifier()
trainedModel = model.fit(imputedData, np.asarray(trainTargets['Class']))

predictedTargets = trainedModel.predict(
    imputer.produce(inputs=encodedTestData))
print(predictedTargets)

# Outputs the predicted targets in the location specified in the JSON configuration file
with open(jsonCall['output_file'], 'w') as outputFile: