2022高教社杯全国大学生数学建模竞赛C题 问题二(1) Python代码

news2024/11/15 19:40:22

目录

    • 问题 2
      • 2.1 依据附件数据分析高钾玻璃、铅钡玻璃的分类规律
        • 数据类别编码
        • 不平衡数据处理
        • 分类模型
          • 决策树分类
          • 随机森林分类
          • XGBoost分类
          • LightGBM分类
          • Catboost分类
          • 基于直方图的梯度提升Histogram-Based Gradient Boosting
          • 梯度提升树Gradient Boosting Tree
          • 逻辑回归Logistic
          • 朴素贝叶斯Naive Bayes
          • 支持向量机SVM
          • 神经网络Neural network

问题 2

2.1 依据附件数据分析高钾玻璃、铅钡玻璃的分类规律

在这里插入图片描述

数据类别编码
d12 = d12.drop('rowSum', axis=1)
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import LabelEncoder

# data encode
# Check for and handle categorical variables
label_encoder = LabelEncoder()
x_categorical = d12.select_dtypes(include=['object']).apply(label_encoder.fit_transform)
x_numerical = d12.select_dtypes(exclude=['object']).values

df_encode = pd.concat([pd.DataFrame(x_numerical), x_categorical], axis=1)
# rename columns
colnames = list(d12.columns[i] for i in ([0] + list(range(6,20)))) + list(df_encode.columns[i] for i in list(range(15,21)))
df_encode.columns = colnames
df_encode.head()
文物编号 二氧化硅(SiO2) 氧化钠(Na2O) 氧化钾(K2O) 氧化钙(CaO) 氧化镁(MgO) 氧化铝(Al2O3) 氧化铁(Fe2O3) 氧化铜(CuO) 氧化铅(PbO) ... 五氧化二磷(P2O5) 氧化锶(SrO) 氧化锡(SnO2) 二氧化硫(SO2) 纹饰 类型 颜色 表面风化 文物采样点 风化标记
0 1.0 69.33 0.0 9.99 6.32 0.87 3.93 1.74 3.87 0.00 ... 1.17 0.00 0.0 0.39 2 1 6 0 0 1
1 2.0 36.28 0.0 1.05 2.34 1.18 5.73 1.86 0.26 47.43 ... 3.57 0.19 0.0 0.00 0 0 1 1 1 1
2 3.0 87.05 0.0 5.19 2.01 0.00 4.06 0.00 0.78 0.25 ... 0.66 0.00 0.0 0.00 0 1 6 0 2 1
3 3.0 61.71 0.0 12.37 5.87 1.11 5.50 2.16 5.09 1.41 ... 0.70 0.10 0.0 0.00 0 1 6 0 3 1
4 4.0 65.88 0.0 9.67 7.12 1.56 6.44 2.06 2.18 0.00 ... 0.79 0.00 0.0 0.36 0 1 6 0 4 1

5 rows × 21 columns

from sklearn.model_selection import train_test_split
X = df_encode.drop('类型', axis=1)
y = df_encode['类型']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1) 
不平衡数据处理
d12['类型'].value_counts()
类型
铅钡    49
高钾    18
Name: count, dtype: int64
df_encode['类型'].value_counts()
类型
0    49
1    18
Name: count, dtype: int64
from imblearn.over_sampling import SMOTE

oversample = SMOTE()
X_train_smote, y_train_smote = oversample.fit_resample(X_train, y_train)
y_train_smote.value_counts()
类型
0    37
1    37
Name: count, dtype: int64
分类模型
决策树分类

模型评估:https://www.statology.org/sklearn-classification-report/

# Load libraries
import pandas as pd
from sklearn.tree import DecisionTreeClassifier # Import Decision Tree Classifier
from sklearn.model_selection import train_test_split # Import train_test_split function
from sklearn import metrics 
from sklearn.metrics import classification_report

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2142557.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第409题最长回文串

题目: 题解: class Solution:def longestPalindrome(self, s: str) -> int:ans 0count collections.Counter(s)for v in count.values():ans v // 2 * 2if ans % 2 0 and v % 2 1:ans 1return ans

【快速入门】UMLS使用手册官方-超全翻译(包括图与表翻译)

目录 第 1 章 UMLS 简介 第 2-4 章。元同义词库 第 5 章 语义网络 第 6 章 专业词汇和词汇工具 第 7 章 UMLS 术语服务 第 8 章 MetamorphoSys 1 UMLS 简介 1.1. UMLS 的目的 1.2. UMLS 的使用条件 1.3. UMLS 知识源和相关工具 1.3.1. 元同义词库 1.3.2. 语义网络 …

【网络安全 | PHP代码审计】熊海cms

原创文章,禁止转载。 文章目录 环境搭建代码审计文件包含漏洞SQL注入漏洞1SQL注入漏洞2SQL注入漏洞3SQL注入漏洞4SQL注入漏洞5SQL注入漏洞6XSS漏洞1XSS漏洞2垂直越权CSRF1CSRF2逻辑漏洞环境搭建 https://down.chinaz.com/soft/36930.htm解压并重命名: 修改配置(php版本需…

【Git】将本地项目上传到git | 在IDEA的提交记录中更改 提交的用户名

一:将本地项目上传到git 1:在​gitee​上创建以自己项目名称命名的空项目【注意项目名称与本地项目的文件夹名称一致】 2:进入想上传的项目的文件夹,然后右键点击 3:查看用户名及邮箱 $ git config user.name $ git config user.email4: 配置你的用户名及邮箱【如果有…

Git:Git管理

目录 Git 文件管理检测文件状态 status跟踪新文件 add提交更新 commit撤销提交 Commit Git 校验和历史查看 log版本回退 resetgit 忽略文件 Git 分支管理Git 提交对象Git master分支Git 分支管理本地分支管理远程分支管理分支hotfix处理 Git 工作流常见分支冲突处理分支合并冲突…

形象化展示numpy.stack

https://numpy.org/doc/stable/reference/generated/numpy.stack.html#numpy.stack 1. 一维数组 import numpy as npa np.arange(4) b np.arange(4) c np.stack([a,b]) d np.stack([a,b], axis1) print(a -->, a.shape,:\n, a) print(b -->, b.shape,:\n, b) print…

ICM20948 DMP代码详解(25)

接前一篇文章:ICM20948 DMP代码详解(24) 上一回讲到了inv_icm20948_load_firmware函数,对于大体功能进行了介绍,本回深入其具体实现代码细节。为了便于理解和回顾,再次贴出相关代码: //Setup Iv…

【个人博客hexo版】hexo安装时会出现的一些问题

项目场景: 项目场景:在完成了GitHub仓库和git的连接之后,就要新建一个文件夹(例如hexo blog)进行下一步hexo的使用 问题描述 例如:如图所示 原因分析: 这些error不用看它到底是什么&#xf…

Chrome谷歌浏览器登录账号next无反应

文章目录 问题描述 我们的Chrome浏览器在更新之后,会出现登录谷歌账号的时候,当你输入你的谷歌邮箱之后,点击 n e x t next next,也就是下一步的时候,页面没有反应,也就是没有跳转到输入密码的页面。 分析 根据logs里…

CLIP模型也能处理点云信息(论文复现)

CLIP模型也能处理点云信息(论文复现) 本文所涉及所有资源均在传知代码平台可获取 文章目录 CLIP模型也能处理点云信息(论文复现)概述模型结构模型总览图点云的投影视图间适配器 演示效果零样本投影少样本投影 核心逻辑使用方式部署…

Mamba环境配置教程【自用】

1. 新建一个Conda虚拟环境 conda create -n mamba python3.102. 进入该环境 conda activate mamba3. 安装torch(建议2.3.1版本)以及相应的 torchvison、torchaudio 直接进入pytorch离线包下载网址,在里面寻找对应的pytorch以及torchvison、…

VTD激光雷达(5)——05_OptiX_GPU

文章目录 前言一、总结 前言 一、 1 2 3 总结

随着访问范围的扩大 OpenAI o1-mini 现已向免费用户开放

上周,OpenAI 展示了其最新的大型语言模型(LLM)–OpenAI o1及其小兄弟 OpenAI o1-mini。该公司在公告中称,Plus 和 Team 用户可在公告发布之日起访问该模型。企业和教育用户将在本周获得该模型,而免费用户最终将获得 o1…

线性代数之QR分解和SVD分解

文章目录 1.QR分解Schmidt正交化Householder变换QR分解的应用 2. 求矩阵特征值、特征向量的基本方法3.SVD分解SVD分解的应用 参考文献 1.QR分解 矩阵的正交分解又称为QR分解,是将矩阵分解为一个正交矩阵Q和一个上三角矩阵R的乘积的形式。 任意实数方阵A&#xff0c…

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码

目录 问题 11.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析数据探索 -- 单个分类变量的绘图树形图条形图扇形图雷达图Cramer’s V 相关分析统计检验列联表分析卡方检验Fisher检验绘图堆积条形图分组条形图分类模型Logistic回归随机森林import matplotlib…

SpaceX实现人类首次商业太空行走:航天历史新篇章

导语 2023年9月,SpaceX成功完成了人类历史上首次商业太空行走,这不仅是航天领域的重要突破,也是商业航天的一次重大胜利。这一事件标志着普通人离太空更近了一步,为未来的太空探索和火星移民奠定了基础。 一、背景介绍&#xff1a…

【MySQL】数据类型【mysql当中各自经典的数据类型的学习和使用】

目录 数据类型1数据类型分类2.数值类型2.1tinyint类型2.2bit类型2.3小数类型2.3.1float2.3.2decimal 3.字符串类型3.1char3.2varchar3.3char和varchar的对比 4.日期和时间类型5.enum和set5.1对enum和set进行插入5.2对enum和set进行查询 数据类型 数据类型本身就是mysql当中天然…

YOLOv8 的安装与训练

YOLOv8 是 YOLO 系列实时目标检测器中的较新迭代版本,在准确性和速度方面提供了前沿性能。基于之前 YOLO 版本的进步,YOLOv8 引入了新的特性和优化,使其成为各种应用中各种目标检测任务的理想选择。 一、安装显卡驱动与CUDA: 这个…

成都院干翻华东院成第一水电设计院!

注:文章来源于百度。版权归原作者所有。。 昨天中国电建发布了2024年中报,一般中报我是不怎么研究的,除非利益相关。 但今年电建的中报亮点很多,其中最显眼的就要数电建成都院在上半年干翻了传统龙头老大——华东院。 在净利润…

【C++】一次rustdesk-server编译记录

RustDesk Server 是一个开源的远程桌面解决方案,允许用户自托管自己的远程桌面服务器。该项目是免费且开源的,支持多种平台和环境。RustDesk Server 提供了 ID/Rendezvous 服务器和 Relay 服务器,以及一些 CLI 工具,方便用户进行远…