先亮代码

from sklearn.feature_selection import RFECV
import pandas as pd
from sklearn.model_selection import StratifiedKFold
from sklearn.svm import SVC
from sklearn.metrics import *
from sklearn.multiclass import OneVsRestClassifier# 加载数据部分
data = pd.read_csv("./data/sensoringData_feature_prepared_20_19.0_2.csv",header=0)
test_data = pd.read_csv('./data/feature_df_list_400_total_fil_w50_ella_js_june24_july9_new_july20.csv')
del test_data['Unnamed: 0']
test_data = test_data.rename(columns={'type': 'activity'})
data = data[test_data.columns.tolist()]
train_X = data.iloc[:,:-1]
train_y = data.iloc[:,-1]
train_y.replace('Walking','0',inplace=True)
train_y.replace('Inactive','1',inplace=True)
train_y.replace('Active','2',inplace=True)
train_y.replace('Driving','3',inplace=True)
test_X = test_data.iloc[:,:-1]
test_y = test_data.iloc[:,-1]# 特征缩放
scaler = StandardScaler()
train_X = scaler.fit_transform(train_x)
test_X = scaler.transform(test_x)# svc估算器,再包装成一个多分类器
svc = OneVsRestClassifier(SVC(kernel="linear",max_iter=10000,C=10000,gamma=0.01))# >>>>>>>>>>本篇博客重点<<<<<<<<<<<,自定义评分函数返回一个可调用scorer对象
my_scorer = make_scorer(precision_score, average='weighted')
# average: string, [None, ‘binary’ (default), ‘micro’, ‘macro’, ‘samples’, ‘weighted’]"""scoring: string, callable or None, optional, (default=None)A string (see model evaluation documentation) or a scorer callable object / function with signature scorer(estimator, X, y).
"""
# StratifiedKFold: 基于分层抽样的K折交叉验证,参数为折数
# RFECV: 特征排序与递归特征消除和交叉验证选择最佳数量的特征。cv:cross_validation
rfecv = RFECV(estimator=svc, step=1, cv=StratifiedKFold(10),scoring=my_scorer)  # scoring参数传递自定义可调用的scorer对象
rfecv.fit(train_X, train_y)

RFECV函数的属性

Attributes
n_features_: int
The number of selected features with cross-validation.
support_: array of shape [n_features]
The mask of selected features.
ranking_: array of shape [n_features]
The feature ranking, such that ranking_[i] corresponds to the ranking position of the i-th feature. Selected (i.e., estimated best) features are assigned rank 1.
grid_scores_: array of shape [n_subsets_of_features]
The cross-validation scores such that grid_scores_[i] corresponds to the CV score of the i-th subset of features.
estimator_: object
The external estimator fit on the reduced dataset.

多分类问题中sklearn的RFECV指定scoring函数相关推荐

  1. python找不到指定模块sklearn怎么办_python中sklearn找不到指定模块怎么办

    python中sklearn找不到指定模块怎么办 发布时间:2020-07-11 15:12:30 来源:亿速云 阅读:94 作者:清晨 这篇文章将为大家详细讲解有关python中sklearn找不到 ...

  2. python sklearn svm多分类_sklearn中SVM一对一多分类参数的研究

    1.引言 最近在学习sklearn库中SVM算法中C-SVC多分类的相关应用,但是在sklearn中关于如何提取训练后的参数,并脱离原有的sklearn库,甚至脱离原有的python开发环境,在新的平 ...

  3. CV:基于Keras利用CNN主流架构之mini_XCEPTION训练情感分类模型hdf5并保存到指定文件夹下

    CV:基于Keras利用CNN主流架构之mini_XCEPTION训练情感分类模型hdf5并保存到指定文件夹下 目录 图示过程 核心代码 图示过程 核心代码 def mini_XCEPTION(inp ...

  4. python遥感影像分类代码_python,sklearn,svm,遥感数据分类,代码实例

    python,sklearn,svm,遥感数据分类,代码实例,数据,函数,精度,遥感,路径 python,sklearn,svm,遥感数据分类,代码实例 易采站长站,站长之家为您整理了python,s ...

  5. python pipline_python中sklearn的pipeline模块实例详解

    最近在看<深度学习:基于Keras的Python实践(魏贞原)>这本书,书中8.3创建了一个Scikit-Learn的Pipeline,首先标准化数据集,然后创建和评估基线神经网络模型,代 ...

  6. Python机器学习:评价分类结果008多分类问题中的混淆矩阵

    多分类问题中的混淆矩阵 #十分类问题 import matplotlib.pyplot as plt import numpy as np 数据 from sklearn import dataset ...

  7. python中sklearn实现决策树及模型评估_sklearn实现决策树

    sklearn是一个功能非常强大的工具,可以用几行代码实现丰富的机器学习算法. 本文介绍使用sklearn实现决策树 决策树是经典的机器学习算法,很多复杂的机器学习算法都是由决策时演变而来.它是一种使 ...

  8. 常用的分类问题中的损失函数

    原文地址:https://redstonewill.com/1584/ (转自红色石头) 前言 在监督式机器学习中,无论是回归问题还是分类问题,都少不了使用损失函数(Loss Function).** ...

  9. Matlab机器学习(分类问题)中多个ROC曲线的绘制

    该教程适用于2017版本以后的matlab,老版本可能会有差异. step1打开机器学习分类工具箱,导入数据选择"全部模型"进行训练:训练结果如图所示: step2 寻找准确度较高 ...

最新文章

  1. MySQL面试题 | 附答案解析(十二)
  2. stylus之其余参数(Rest Params)
  3. .NET Framework各版本比较
  4. FFMPEG基于内存的转码实例
  5. SQL语句性能分析常用命令
  6. [设计模式-行为型]访问者模式(Vistor)
  7. install-newton部署安装--------计算节点部署安装
  8. [POJ3580]SuperMemo
  9. 路由器与交换机怎么插线_网络设备:中继器、集线器、网桥、交换机、路由器、网关的超全总结!...
  10. fence_ilo can't connect by ssl, since CentOS 5.8 lack pyOpenSSL
  11. 车载主机企业对Android平台趋之若骛
  12. 使用Java和eclipse进行XML文件解析20180812_韩信之
  13. UCGUI动态内存分析
  14. OpenCms for MySql安装
  15. Tbase 源码 (五)
  16. 我的vscode插件和setting设置(解决vscode保存出现提示运行“XXX“的保存参与者: 快速修复“的问题;二来修复“明明开启的是去分号和单引号,自动保存又自动添加了分号和双引号)
  17. extern int a 和int a的区别
  18. 水星怎么设置网速最快_wifi怎样设置网速最快
  19. 深入剖解路由器的“心脏”技术
  20. 吴恩达deeplearning之CNN—卷积神经网络入门

热门文章

  1. 三周Java学习总结
  2. 北科大协同中心计算机,2021考研调剂:北科大钢铁共性技术协同创新中心公告
  3. 数字电路74161(MN)
  4. WorldView卫星家族简介
  5. KNN算法和Kernel KNN算法的区别
  6. 准双向口、推挽输出、开漏输出、高阻输入的区别
  7. 嵌入式数据库架构特点
  8. 根据电路建立微分方程
  9. Arduino 播放音乐教程
  10. GetKeyState和GetAsyncKeyState的区别