def _test_exploration_to_CSV(self): io.exploration_to_CSV(self.dataSet, _tests_path) csvDataSet = io.float_columns_from_CSV( io.LATEST_EXPLORATION_CSV_FILE_NAME, ('avgX', 'avgY', 'avgZ'), _tests_path) self.assertAlmostEqual(csvDataSet['avgX'][0], -0.5) self.assertAlmostEqual(csvDataSet['avgY'][4], -0.555555555556)
def _test_exploration_from_CSV(self): csvDataSet = io.float_columns_from_CSV( self.testExplorationCSVFileName, ('avgX', 'avgY', 'avgZ', 'stdZ'), _tests_path) self.assertEqual(len(csvDataSet.keys()), 4) self.assertEqual(len(csvDataSet['avgX']), 1250) self.assertAlmostEqual(csvDataSet['avgX'][0], 542.290000) self.assertAlmostEqual(csvDataSet['avgX'][3], 503.140000) self.assertAlmostEqual(csvDataSet['avgY'][23], 404.050000) self.assertAlmostEqual(csvDataSet['avgZ'][253], 555.210000)
def test_fit_parameters(self): dataSet = io.float_columns_from_CSV(csvFileName="FongTests.csv", path=io._test_path) x, y, z = dataSet['avgX'], dataSet['avgY'], dataSet['avgZ'] measures = utils.build_measures_matrix(x, y, z) misalignmentsAndScales, biases = fong_accelero.fit(measures) testing.assert_almost_equal(misalignmentsAndScales, self.misalignmentsAndScales) testing.assert_almost_equal(biases, self.biases)
def fit_accelero_parameters_fong(): dataSet = io.float_columns_from_CSV(columnsMask=('longitude', 'latitude', 'avgX', 'avgY', 'avgZ')) measures = utils.build_measures_matrix(dataSet['avgX'], dataSet['avgY'], dataSet['avgZ']) misalignmentsAndScales, biases = fong_accelero.fit(measures) longitudes, latitudes = dataSet["longitude"], dataSet["latitude"] correctedMesaures = utils.correct_measures(misalignmentsAndScales, biases, measures) residuals = fong_accelero.residuals( utils.concatenate(misalignmentsAndScales, biases), measures) return misalignmentsAndScales, biases, residuals, correctedMesaures, longitudes, latitudes
def accelerometer_dataset(): calibration, modelListener = buildCalibration() modelListener.start() longitudes = statistics.frange(-90.0, 45.0, 25) latitudes = statistics.frange(-180.0, 180.0, 50) # longitudes = statistics.frange(-5.0, 5.0, 5) # latitudes = statistics.frange(-10.0, 10.0, 5) dataSet = calibration.exploreUnitSphere(longitudes, latitudes) io.serialize_exploration(dataSet) dataSet = io.deserialize_exploration() print io.exploration_to_CSV(dataSet) return io.float_columns_from_CSV()
def fit_gyro_parameters_fong(): acceleroDataSet = io.float_columns_from_CSV(columnsMask=('longitude', 'latitude', 'avgX', 'avgY', 'avgZ')) measures = utils.build_measures_matrix(acceleroDataSet['avgX'], acceleroDataSet['avgY'], acceleroDataSet['avgZ']) acceleroMisalignmentsAndScales, acceleroBiases = fong_accelero.fit( measures) gyroDataSet = prepareGyroDatatSet() misalignmentsAndScales = fong_gyro.fit(gyroDataSet, acceleroMisalignmentsAndScales, acceleroBiases) # io.serialize_results(misalignmentsAndScales, io._pkl_path, "gyro_params_%s.pkl") plotGyroFits(gyroDataSet, misalignmentsAndScales)
def fit_accelero_parameters_regression(): dataSet = io.float_columns_from_CSV(columnsMask=('longitude', 'latitude', 'avgX', 'avgY', 'avgZ')) measures = utils.build_measures_matrix(dataSet['avgX'], dataSet['avgY'], dataSet['avgZ']) longitudes, latitudes = dataSet["longitude"], dataSet["latitude"] targets = utils.build_targets_matrix(longitudes, latitudes) misalignmentsAndScales, biases = regression_accelero.fit(targets, measures) io.serialize_results((misalignmentsAndScales, biases), io._pkl_path, "accelero_params_%s.pkl") correctedMesaures = utils.correct_measures(misalignmentsAndScales, biases, measures) residuals = regression_accelero.residuals( utils.concatenate(misalignmentsAndScales, biases), targets, measures) # plots.plot_residuals(residuals, longitudes, latitudes) plots.plot_fit(correctedMesaures, longitudes, latitudes) plots.show_figures()