金堂做网站的公司个人网页模板网站

张小明 2026/1/19 19:34:01
金堂做网站的公司,个人网页模板网站,找网站建设的企业,wordpress插件mip一、多分类策略 逻辑回归处理多分类主要有三种策略#xff1a; OvR#xff08;One-vs-Rest#xff09; 为每个类别训练一个二分类器 预测时选择概率最高的类别 Scikit-learn默认使用此方法 OvO#xff08;One-vs-One#xff09; 为每对类别训练一个分类器 适合类别较少但样…一、多分类策略逻辑回归处理多分类主要有三种策略OvROne-vs-Rest为每个类别训练一个二分类器预测时选择概率最高的类别Scikit-learn默认使用此方法OvOOne-vs-One为每对类别训练一个分类器适合类别较少但样本均衡的情况Softmax回归Multinomial直接输出多个类别的概率分布使用交叉熵损失函数二、完整实战代码示例importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsfromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_split,cross_val_score,GridSearchCVfromsklearn.preprocessingimportStandardScalerfromsklearn.linear_modelimportLogisticRegressionfromsklearn.metricsimport(classification_report,confusion_matrix,accuracy_score,roc_curve,auc,roc_auc_score)fromsklearn.multiclassimportOneVsRestClassifierimportwarnings warnings.filterwarnings(ignore)# 设置中文显示plt.rcParams[font.sans-serif][SimHei]plt.rcParams[axes.unicode_minus]False步骤1加载和准备数据# 加载鸢尾花数据集3个类别irisdatasets.load_iris()Xiris.data yiris.target feature_namesiris.feature_names target_namesiris.target_namesprint(f特征形状:{X.shape})print(f标签形状:{y.shape})print(f类别:{target_names})print(f特征名:{feature_names})# 查看数据分布print(\n类别分布:)fori,nameinenumerate(target_names):print(f{name}:{np.sum(yi)}个样本)# 划分训练集和测试集X_train,X_test,y_train,y_testtrain_test_split(X,y,test_size0.3,random_state42,stratifyy)# 标准化特征scalerStandardScaler()X_train_scaledscaler.fit_transform(X_train)X_test_scaledscaler.transform(X_test)步骤2模型训练与评估方法1使用默认的OvR策略# 创建逻辑回归模型默认使用OvRmodel_ovrLogisticRegression(multi_classovr,# One-vs-Restsolverlbfgs,# 适用于小数据集max_iter1000,random_state42,C1.0# 正则化强度越小正则化越强)# 训练模型model_ovr.fit(X_train_scaled,y_train)# 预测y_pred_ovrmodel_ovr.predict(X_test_scaled)y_pred_proba_ovrmodel_ovr.predict_proba(X_test_scaled)# 评估print( OvR策略评估 )print(f准确率:{accuracy_score(y_test,y_pred_ovr):.4f})print(\n分类报告:)print(classification_report(y_test,y_pred_ovr,target_namestarget_names))方法2使用Softmax回归# 创建Softmax回归模型model_softmaxLogisticRegression(multi_classmultinomial,# Softmax回归solverlbfgs,max_iter1000,random_state42,C1.0)# 训练模型model_softmax.fit(X_train_scaled,y_train)# 预测y_pred_softmaxmodel_softmax.predict(X_test_scaled)# 评估print(\n Softmax回归评估 )print(f准确率:{accuracy_score(y_test,y_pred_softmax):.4f})print(\n分类报告:)print(classification_report(y_test,y_pred_softmax,target_namestarget_names))方法3使用OneVsRestClassifier包装器# 使用包装器实现OvRmodel_ovr_wrapperOneVsRestClassifier(LogisticRegression(solverlbfgs,max_iter1000,random_state42))model_ovr_wrapper.fit(X_train_scaled,y_train)y_pred_ovr_wrappermodel_ovr_wrapper.predict(X_test_scaled)print(\n OvR包装器评估 )print(f准确率:{accuracy_score(y_test,y_pred_ovr_wrapper):.4f})步骤3可视化分析defplot_confusion_matrix(y_true,y_pred,class_names,title):绘制混淆矩阵cmconfusion_matrix(y_true,y_pred)plt.figure(figsize(8,6))sns.heatmap(cm,annotTrue,fmtd,cmapBlues,xticklabelsclass_names,yticklabelsclass_names)plt.title(f混淆矩阵 -{title},fontsize14)plt.ylabel(真实标签)plt.xlabel(预测标签)plt.tight_layout()plt.show()# 绘制混淆矩阵plot_confusion_matrix(y_test,y_pred_ovr,target_names,OvR策略)# 绘制特征重要性defplot_feature_importance(model,feature_names,target_names):绘制特征重要性权重ifhasattr(model,coef_):weightsmodel.coef_ fig,axesplt.subplots(1,len(target_names),figsize(15,5))fori,(ax,class_name)inenumerate(zip(axes,target_names)):ax.barh(feature_names,weights[i])ax.set_title(f类别:{class_name})ax.set_xlabel(权重)plt.suptitle(逻辑回归特征权重每个类别的决策边界,fontsize14)plt.tight_layout()plt.show()plot_feature_importance(model_ovr,feature_names,target_names)步骤4概率可视化# 绘制预测概率分布defplot_probability_distribution(y_pred_proba,y_true,target_names):绘制预测概率分布fig,axesplt.subplots(1,3,figsize(15,5))fori,(ax,class_name)inenumerate(zip(axes,target_names)):# 获取属于当前类别的样本的概率true_class_mask(y_truei)prob_for_classy_pred_proba[true_class_mask,i]ax.hist(prob_for_class,bins20,alpha0.7,colorskyblue,edgecolorblack)ax.set_title(f{class_name}的预测概率分布)ax.set_xlabel(预测概率)ax.set_ylabel(样本数)ax.grid(True,alpha0.3)plt.suptitle(各类别预测概率分布,fontsize14)plt.tight_layout()plt.show()plot_probability_distribution(y_pred_proba_ovr,y_test,target_names)步骤5模型调优# 使用网格搜索寻找最佳参数param_grid{C:[0.001,0.01,0.1,1,10,100],# 正则化强度solver:[lbfgs,liblinear,saga],max_iter:[100,500,1000]}# 创建网格搜索grid_searchGridSearchCV(LogisticRegression(multi_classovr,random_state42),param_grid,cv5,scoringaccuracy,n_jobs-1,verbose1)# 执行网格搜索grid_search.fit(X_train_scaled,y_train)print(\n 网格搜索结果 )print(f最佳参数:{grid_search.best_params_})print(f最佳交叉验证准确率:{grid_search.best_score_:.4f})print(f测试集准确率:{grid_search.score(X_test_scaled,y_test):.4f})# 使用最佳模型best_modelgrid_search.best_estimator_ y_pred_bestbest_model.predict(X_test_scaled)print(\n 最佳模型评估 )print(classification_report(y_test,y_pred_best,target_namestarget_names))步骤6交叉验证评估# 交叉验证评估模型稳定性cv_scorescross_val_score(best_model,X_train_scaled,y_train,cv5,scoringaccuracy)print(\n 交叉验证结果 )print(f交叉验证准确率:{cv_scores.mean():.4f}(/-{cv_scores.std()*2:.4f}))print(f各折准确率:{cv_scores})# 绘制交叉验证结果plt.figure(figsize(10,6))plt.plot(range(1,6),cv_scores,markero,linewidth2,markersize8)plt.axhline(ycv_scores.mean(),colorr,linestyle--,labelf均值:{cv_scores.mean():.4f})plt.fill_between(range(1,6),cv_scores.mean()-cv_scores.std(),cv_scores.mean()cv_scores.std(),alpha0.2,colorgray)plt.title(5折交叉验证准确率,fontsize14)plt.xlabel(折数)plt.ylabel(准确率)plt.legend()plt.grid(True,alpha0.3)plt.ylim([0.8,1.0])plt.show()三、关键要点总结1.策略选择类别较少且均衡考虑OvO类别较多使用OvR或SoftmaxSoftmax通常更直接但需要计算所有类别的概率2.特征工程逻辑回归对特征缩放敏感务必标准化特征间的多重共线性会影响结果3.正则化参数C控制正则化强度C越小正则化越强防止过拟合的重要工具4.模型评估多分类使用准确率、混淆矩阵、分类报告考虑使用宏平均和微平均5.注意事项逻辑回归假设特征与log odds线性相关对于非线性问题需要特征工程或使用核方法类别不平衡时需要调整class_weight参数
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设没有业务怎么办网站建设福

🎯 痛点分析:传统抢票为何屡战屡败? 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 在热门演出票务市场中&#…

张小明 2026/1/17 13:33:05 网站建设

凡科网站制作教程网站推广排名优化多少钱

ChatData是一个基于RAG(检索增强生成)技术的智能对话系统,让你能够与600万在线百科页面和200万arXiv论文进行自然对话。无论你是数据分析师、研究人员还是技术爱好者,这个项目都能帮你快速构建强大的知识问答应用。 【免费下载链接…

张小明 2026/1/17 21:14:11 网站建设

wap网站建设公司盐城手机网站建设

Git 补丁操作全解析 1. git format-patch 命令解析 git format-patch 命令用于生成当前分支中存在,但指定分支中不存在的补丁集合。换句话说,它能生成一组补丁,使指定分支与当前分支同步。 例如,当你切换到 master 分支后: $ git branchalt * master指定 alt 分…

张小明 2026/1/17 3:45:23 网站建设

网站被黑怎么恢复18款免费软件app下载

LangChain从"五行代码"简化AI开发起步,面对原型到生产环境的"最后一公里"挑战,推出LangGraph提供精确控制和生产级运行时。最新1.0版本通过create_agent抽象和中间件系统,在保持简洁性的同时赋予生产级可靠性&#xff0c…

张小明 2026/1/17 15:45:28 网站建设

苏州网站建设方案外包seo排名优化软件有用

文本到视频生成引擎 Wan2.2-T2V-5B 实战指南 在短视频内容爆炸式增长的今天,从创意构思到可视化呈现的时间窗口正被不断压缩。无论是社交媒体运营、产品原型设计,还是教育内容制作,快速生成高质量动态视觉素材的能力已成为关键竞争力。而 Wan…

张小明 2026/1/17 15:49:47 网站建设

做网站 南京新手建设什么网站好

Driver Store Explorer终极指南:快速清理Windows驱动冗余 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 还在为Windows系统越来越慢而烦恼吗?驱动冗余问…

张小明 2026/1/17 18:36:53 网站建设