Attitude filtering is a critical technology with applications in diverse domains such as aerospace engineering, robotics, computer vision, and augmented reality. Although attitude filtering is a particular case of the state estimation problem, attitude filtering is uniquely challenging due to the special geometric structure of the attitude parameterization. This paper presents a novel data-driven attitude filter, called the retrospective cost attitude filter (RCAF), for the SO(3) attitude representation. Like the multiplicative extended Kalman filter, RCAF uses a multiplicative correction signal, but instead of computing correction gains using Jacobians, RCAF computes the corrective signal using retrospective cost optimization and measured data. The RCAF filter is validated numerically in a scenario with noisy attitude measurements and noisy and biased rate-gyro measurements.