一、赛题描述
赛题:基于近红外光谱的煤质参数预测挑战赛
主办方:科大讯飞
主页:http://challenge.xfyun.cn/topic/info?type=near-infrared-spectroscopy
背景
煤炭消费量占我国一次能源消费总量的56%,是能源安全稳定供应的“压舱石”。立足煤炭为主的基本国情,煤炭清洁高效利用对如期实现“碳达峰、碳中和”目标至关重要。为充分有效地利用煤炭资源,在开采、加工、利用等各个环节,都需要对其品质进行分析。例如配煤工艺,煤炭品质的快速分析就是其中一个关键环节。传统分析方法,因存在过程繁琐、分析时间长等不足,不能在煤炭加工利用过程中实时反馈质量情况。
为满足绿色开采、综合开发、节能环保等需求,实现煤炭产业、技术及模式的创新,研究高准确度、强鲁棒性的煤质快速分析方法尤为迫切。本次大赛拟利用近红外光谱技术实现煤中水分和灰分的预测,其中水分和灰分分别表示煤中水分和无机物的含量,用质量百分比表示。
任务
本次比赛提供500个煤样的近红外光谱数据作为训练集,100个煤样的近红外光谱数据作为测试集,参赛选手需要完成搭建网络模型,对测试集煤炭中的水分和灰分两个指标进行预测。
二、数据集说明
数据说明
本次比赛为参赛选手提供了粒度大小为0.2mm的600个商品煤的近红外光谱数据,光谱仪距离样本5mm,光谱仪波长范围在908-1676nm之间,共125个波长点,每个波长点对应吸光度值。本次比赛训练集将会开放煤炭的水分和灰分两个标签,测试集无任何标签信息。
训练集包括两个csv表格,其中表格一为500个煤样的近红外光谱数据:第一列为“样品编号”,其余列为每个波长点对应的吸光度值;表格二为500个煤样的水分和灰分真值。
测试集仅提供一个csv表格,为100个煤样的近红外光谱数据,第一列为“样品编号”,其余列为每个波长点对应的吸光度值,不提供对应的水分和灰分真值。
本次比赛使用的煤炭近红外光谱数据均由中国矿业大学智能信息处理团队采集,光谱数据采集与国家标准测量方式同步进行,光谱采集设备为MicroNIR Pro手持式光谱仪。
数据集版权许可协议
CC BY-NC-SA 4.0
https://aistudio.baidu.com/datasetdetail/233139
三、解决方案样例
导入相关系统库
import pandas as pd
from sklearn.linear_model import LinearRegression
【本样例运行环境的关键版本信息】
python 3.12.3
读入数据集
train_data = pd.read_csv('./data/train_data.csv')
train_label = pd.read_csv('./data/train_label.csv')
test_data = pd.read_csv('./data/test_data.csv')
submit = pd.read_csv('./data/submit_sample.csv')
创建并训练 LinearRegression 模型
m = LinearRegression()
m.fit(train_data.iloc[:, 1:], train_label['水分'])
submit['水分'] = m.predict(test_data.iloc[:, 1:])
m = LinearRegression()
m.fit(train_data.iloc[:, 1:], train_label['灰分'])
submit['灰分'] = m.predict(test_data.iloc[:, 1:])
输出预测结果
submit['样品编号'] = test_data['样品编号']
submit.to_csv('submit.csv', index=None)
源码开源协议
GPL-v3
https://zhuanlan.zhihu.com/p/608456168