import pandas as pd
import numpy as np
from sklearn.preprocessing import Imputer#导入数据预处理模块处理原始数据
from sklearn.model_selection import train_test_split#导入自动生成训练集和测试集的模块
from sklearn.metrics import classification_report#导入预测结果评估模块
from sklearn.neighbors import KNeighborsClassifier#knn近邻算法
from sklearn.tree import DecisionTreeClassifier#决策树算法模块
from sklearn.naive_bayes import GaussianNB#贝叶斯算法模块
#数据导入模块
def loadDataSet(feature_paths,label_paths):
#创建空数组
feature=np.ndarray(shape=(0,41))
label=np.ndarray(shape=(0,1))
#处理数据
for file in feature_paths:
#逗号分隔符读取特征数据,问号替换为缺失值,不读取表头。
df = pd.read_table(file, delimiter=',', na_values='?', header=None)
#补全函数:指明丢失数据为缺失值,采用平均值补全缺失值。
imp = Imputer(missing_values='NaN', strategy='mean', axis=0)
#函数方法调用接头
imp.fit(df)
df=imp.transform(df)#transform会将一个函数应用到各个分组。
#将新的数据合并到特征集合中
feature = np.concatenate((feature, df))
for fil