IEEE A major challenge for evolving data stream classification is feature evolution where features of stream instances are dynamically changing as they progress. Existing classification methods considered feature evolution either for fixed-size data or of limited degree with presumed dependence to history, making them unable to work effectively on evolving data streams of unbounded size and arbitrary feature evolution. In this paper, we present efficient algorithms for classifying evolving data streams of both single label and multiple labels. For single-label classification, we present an improved unsupervised classification algorithm that applies Multi-Cluster Feature Selection (MCFS)in the DXMiner framework to handle each window of instances in a dynamic stream. Our method generates an optimal feature subset and achieves a high classification accuracy. We further improve the time complexity of the feature selection process by applying Ball-tree. For multi-label classification, we propose an effective fixed-size ensemble classifier based on ML-KNN, by incorporating a weight adaptation strategy among the classifiers in the ensemble to dynamically update the model and cope with arbitrary feature evolution of stream instances. Performance evaluation from extensive experiments on real-life data streams shows that our algorithms outperform the existing results for single-label and multi-label classification in classification accuracy and efficiency.