In this work, we have introduced an optimal data-driven control algorithm to solve the lane changing problem of Autonomous Vehicles (AVs), where the input-state data of the AV is utilized to generate a near-optimal lane-changing controller by approximate/adaptive dynamic programming (ADP) technique. The dynamics of the AV is assumed to be a parameter varying linear system, which induces two challenges for the lane-changing controller design: parameter varying and unknown dynamics. With the help of both gain scheduling and ADP techniques, a data-driven control algorithm is proposed which can generate a near-optimal lane-changing controller in the absence of the accurate model of the AV. Then, a data-driven lane-changing decision-making algorithm is used that can make the AV perform a lane abortion if safety conditions are violated during a lane change. Finally, the data-driven gain scheduling controller and lane-change decision-making algorithm are validated by SUMO and MATLAB simulations.