任务3之磨刀霍霍向猪羊

任务3 调参大杀器

利用网格搜索打发+k折交叉验证来调参,一般模型调参基本上都这样用,但是查阅了一下资料,还有很多神仙操作,特此声明,本文仅仅用到了最简答的方法。。。捂脸。
上代码

#调包侠de日常
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn import metrics
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import GradientBoostingClassifier
from xgboost import XGBClassifier
from lightgbm import  LGBMClassifier

#数据预处理
data_all = pd.read_csv('data_all.csv')
print('数据的行列',data_all.shape)
X = data_all.drop(['status'],axis=1)
y = data_all['status']
x_train,x_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=2018)
from sklearn import preprocessing
x_scaled = preprocessing.scale(x_train)
x_scaled_test = preprocessing.scale(x_test)

#录入模型
lr = LogisticRegression()
svc = SVC()
clfclf = DecisionTreeClassifier()
rfc = RandomForestClassifier()
gbc = GradientBoostingClassifier()
xgb = XGBClassifier(probability=True)
lgb = LGBMClassifier(probability=True)
#导入本次最终的包
from sklearn.model_selection import GridSearchCV
#开始表演
#lr回归
param_grid = {'C':[0.1,1,2,3],'penalty':['l1','l2']} 
grid=GridSearchCV(estimator=lr,param_grid=param_grid,cv=5,scoring='accuracy')
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型

#svm
param_grid = {'C':[1,10,100],'kernel':['linear','sigmoid','rbf']}
grid=GridSearchCV(estimator=svc,param_grid=parameters,cv=5)
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型

#Desicion Tree
param_grid =  {'criterion': ['gini', 'entropy'], 'max_depth': [1,2,3,4,5,6], 'splitter': ['best', 'random'],
            'max_features': ['log2', 'sqrt', 'auto']}
grid=GridSearchCV(estimator=clf,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型

#Random Forest
param_grid = {'n_estimators': range(1,200), 'max_features': ['log2', 'sqrt', 'auto']}
grid=GridSearchCV(estimator=rfc,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型

#GBDT
param_grid = {'n_estimators': range(1,100,10),'learning_rate': np.arange(0.1, 1, 0.1)}
grid=GridSearchCV(estimator=gbc,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型

#XGB
param_grid = {'eta': np.arange(0.1, 1, 0.1), 'max_depth': range(1,6,1), 'min_child_weight': range(1,6,1)}
grid=GridSearchCV(estimator=xgb,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型

#LGBM
param_grid = {'learning_rate': np.arange(0.1,0.5,0.1), 'max_depth': range(1,6,1), 'n_estimators':range(30,50,5)}
grid=GridSearchCV(estimator=lgb,param_grid=param_grid,cv=5)
grid.fit(x_scaled,y_train)
print('网格搜索-最佳度量值:',grid.best_score_)  # 获取最佳度量值,
print('网格搜索-最佳参数:',grid.best_params_)  # 获取最佳度量值时的代定参数的值。是一个字典
print('网格搜索-最佳模型:',grid.best_estimator_)  # 获取最佳度量时的分类器模型
内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值