经过特征选择后的特征分类,knn分类器,svm分类器,NB分类器

代码记录

经过特征选择之后选出的特征,x矩阵是一个二进制矩阵,值为1表示选中该特征,值为0表示未选中。

将选择的特征提取出来之后,通过训练集和测试集对所选特征进行一个评估(所用分类器knn、svm、NB)。

#验证集预测值
def get_Pre(x):   # x 为m*n的一个二进制矩阵数据,行为样本,列为特征
    d_1 = sum(x == 1)
    #print("选择特征数:",d_1)
    # 从特征向量x中提取出相应的特征
    Feature = np.zeros(d_1)  # 数组Feature用来存 x选择的是哪d个特征
    k = 0
    for i in range(M):
        if x[i] == 1:
            Feature[k] = i  # 选中的索引值
            k += 1
    #训练数据
    select_feature_train = np.zeros((train_num, 1))  #train_num为训练集中样本个数
    for i in range(d_1):
        p = Feature[i]
        p = p.astype(int)
        q = X_train[:, p]  # 取出所有样本的第p列(也就是选出那个特征列)
        q = q.reshape(train_num, 1)
        select_feature_train = np.append(select_feature_train, q, axis=1)
    select_feature_train = np.delete(select_feature_train, 0, axis=1)  # 删除第0列
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值