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

news2024/11/15 19:58:11

目录

    • 1.3 根据风化点检测数据,预测其风化前的化学成分含量
      • 数据重塑
      • 数据可视化
      • 回归
        • 随机森林回归
        • XGboost回归
        • Gradient Boosting回归
        • LightGBM回归
        • CatBoost回归
        • 决策树回归
        • MLP回归
      • 预测
      • 数据复原

1.3 根据风化点检测数据,预测其风化前的化学成分含量

在这里插入图片描述

数据重塑

import numpy as np

df= pd.DataFrame(columns=['文物编号','风化标记', '化学成分含量', '化学成分标签',
                         '纹饰','类型','颜色','表面风化'], 
                 index=range(d12.shape[0]*14))
df['文物编号'] = list(d12['文物编号']) * 14
df['风化标记'] = list(d12['风化标记']) * 14
df['纹饰'] = list(d12['纹饰']) * 14
df['类型'] = list(d12['类型']) * 14
df['颜色'] = list(d12['颜色']) * 14
df['表面风化'] = list(d12['表面风化']) * 14
df['化学成分标签'] = list(np.repeat(list(d12.columns[6:20]), d12.shape[0]))

a = list(d12.iloc[:,6])
for i in range(7,20):
    a.extend(d12.iloc[:,i])
df['化学成分含量'] = a
df.head()
文物编号 风化标记 化学成分含量 化学成分标签 纹饰 类型 颜色 表面风化
0 1 其它 69.33 二氧化硅(SiO2) C 高钾 蓝绿 无风化
1 2 其它 36.28 二氧化硅(SiO2) A 铅钡 浅蓝 风化
2 3 其它 87.05 二氧化硅(SiO2) A 高钾 蓝绿 无风化
3 3 其它 61.71 二氧化硅(SiO2) A 高钾 蓝绿 无风化
4 4 其它 65.88 二氧化硅(SiO2) A 高钾 蓝绿 无风化

数据可视化

import plotly.express as px
fig = px.box(df, x="化学成分标签", y="化学成分含量", color="风化标记")
# remove background color
fig.update_layout({
   'plot_bgcolor': 'rgba(0, 0, 0, 0)',})
fig.show()

在这里插入图片描述

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import sklearn
import warnings
 
from sklearn.preprocessing import LabelEncoder
from sklearn.impute import KNNImputer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import f1_score
from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import cross_val_score
 
warnings.filterwarnings('ignore')
# 颜色 rows with na
# 由于在风化及未风化的玻璃中,均是‘浅蓝’颜色的玻璃频数最高,这里选择使用众数进行缺失值填补
index = pd.isna(df['颜色'])
index = np.where(index)[0]
df.iloc[index,6] = '浅蓝'
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 938 entries, 0 to 937
Data columns (total 8 columns):
 #   Column  Non-Null Count  Dtype  
---  ------  --------------  -----  
 0   文物编号    938 non-null    int64  
 1   风化标记    938 non-null    object 
 2   化学成分含量  938 non-null    float64
 3   化学成分标签  938 non-null    object 
 4   纹饰      938 non-null    object 
 5   类型      938 non-null    object 
 6   颜色      938 non-null    object 
 7   表面风化    938 non-null    object 
dtypes: float64(1), int64(1), object(6)
memory usage: 58.8+ KB
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import LabelEncoder

# reorder columns
df = df.iloc[:,[0,2,1

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

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

相关文章

『功能项目』第二职业法师的平A【57】

我们打开上一篇56制作提示主角升级面板的项目&#xff0c; 本章要做的事情是制作法师平A的魔法球触碰到Boss后让Boss受到一个无视攻击力与防御力的一个&#xff08;100&#xff09;左右随机的一个伤害值 修改脚本&#xff1a;PlayerCtrl.cs 将法师职业生成的魔法球的标签Tag设…

Java4----String

一、概述 java.lang.String 类代表字符串&#xff0c;Java程序中所有字符串文字都为此类 注意&#xff1a; 字符串内容是不会发生改变的&#xff0c;它的对象在创建后不能被更改 比如&#xff1a; String name "666"; name "8wx"; 这是两个字符串 java程…

通信工程学习:什么是HFC混合光纤同轴电缆

HFC&#xff1a;混合光纤同轴电缆 HFC&#xff08;Hybrid Fiber Coaxial&#xff09;混合光纤同轴电缆是一种结合了光纤与同轴电缆的宽带接入网技术。以下是对HFC混合光纤同轴电缆的详细解释&#xff1a; 一、HFC混合光纤同轴电缆的定义与概述 定义&#xff1a;HFC是一种结合光…

如何设置开机跳过桌面启动自己的应用及如何恢复

开机跳过桌面启动自己的应用 最近研究如何在win10下实现kiosk模式&#xff0c;其实win10本身是有一个展台模式&#xff0c;就是可以把应用设为window启动后进入的一个程序且全屏显示&#xff0c;用户无法切换到桌面或其他应用&#xff0c;但它的前提是只能从UWP的应用里去选择&…

利士策分享,中秋致敬:向坚守一线的劳动者致以最深敬意

利士策分享&#xff0c;中秋致敬&#xff1a;向坚守一线的劳动者致以最深敬意 在这个月华如练的夜晚&#xff0c;当万家灯火与皎洁的明月交相辉映&#xff0c;家家户户围坐一堂&#xff0c;共享中秋团圆的温馨时刻&#xff0c;有那么一群人&#xff0c;他们的身影却依然忙碌在…

Python | python中的特殊方法__str__和__repr__

__str__和__repr__ 无方法有方法__str____repr__同时存在 __str__和__repr__都是更改print的输出形式 无方法 无特殊方法 class Person:def __init__(self,name,age):self.name nameself.age ageprint(Person(aa, 34))<main.Person object at 0x000002231EF78B38> …

uniapp 如何自定义导航栏并自适应机型

如今的移动设备有各种不同的屏幕形状&#xff0c;如刘海屏、水滴屏等。这些异形屏会影响页面的布局&#xff0c;尤其是导航栏和底部栏的显示。通过获取安全区域信息&#xff0c;可以确保页面内容不会被异形屏的特殊区域遮挡。 在设计页面顶部导航栏时&#xff0c;可以根据 saf…

springboot 集成轻量级规则编排引擎 LiteFlow 使用详解

目录 一、前言 二、流程编排概述​​​​​​​ 2.1 什么是流程编排 2.1.1 流程编排主要特征 2.1.2 流程编排应用场景 2.2 流程编排与工作流区别 2.2.1 定义上的差别 2.2.2 应用场景上的差别 2.2.3 技术实现上的差异 三、微服务中流程编排常用的技术 3.3.1 LiteFlow …

车型展示+接驳体验!苏州金龙海格客车闪耀汉诺威商用车展

德国当地时间9月16日&#xff0c;IAA汉诺威商用车展媒体日活动在德国汉诺威展览中心开幕。该展会自1897年首次举办以来&#xff0c;已有超过一个世纪的历史&#xff0c;是全球历史最长、规模最大、最具影响力的专业商用车展之一&#xff0c;更是世界商用车行业技术创新和发展趋…

【Java宝典】——探索数组的奥秘之旅

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” 文章目录 Java数组常见报错①:ArrayIndexOutOfBoundsException(数组索引超出范围)②:NullPointerException(空…

【数字组合】

题目 思路 状态表示&#xff1a; f [ i ] [ j ] f[i][j] f[i][j] 对应考虑1到 i 号数字&#xff0c;和为 j 的方法&#xff0c;表示方法数 目标表示&#xff1a; f [ n ] [ m ] f[n][m] f[n][m] 状态转移&#xff1a; f [ i ] [ j ] f [ i − 1 ] [ j ] f [ i − 1 ] [ j …

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

目录 问题 22.1 依据附件数据分析高钾玻璃、铅钡玻璃的分类规律数据类别编码不平衡数据处理分类模型决策树分类随机森林分类XGBoost分类LightGBM分类Catboost分类基于直方图的梯度提升Histogram-Based Gradient Boosting梯度提升树Gradient Boosting Tree逻辑回归Logistic朴素贝…

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

题目&#xff1a; 题解&#xff1a; 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)

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

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

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