input: Write a python function to perform linear interpolation on a given dataset using numpy.
  assert linear_interpolation([1,2,3], [2,4,6]) == [(1, 2), (2, 4), (3, 6), (1, 2.0), (2, 4.0)]
  assert linear_interpolation([0, 1, 2], [0, 3, 6]) == [(0, 0), (1, 3), (2, 6), (1, 3.0)]
  assert linear_interpolation([1, 3, 4], [2, 6, 8]) == [(1, 2), (3, 6), (4, 8), (1, 2.0), (2, 4.0), (3, 6.0)]
output: def linear_interpolation(x, y):
      import numpy as np
      x = np.array(x)
      y = np.array(y)
      interpolated = [(xi, yi) for xi, yi in zip(x, y)]
      for i in range(len(x) - 1):
          interpolated.append((x[i], float(np.interp(x[i], x, y))))
          interpolated.append((x[i + 1], float(np.interp(x[i + 1], x, y))))
      return interpolated