当前位置: 首页 > news >正文

查分网站制作更换网站服务商 重新制作了网站

查分网站制作,更换网站服务商 重新制作了网站,宝安西乡网站建设,新加坡网络公司排名目录 矿物数据项目介绍#xff1a; 数据问题与处理方案#xff1a; 数据填充策略讨论#xff1a; 模型选择与任务类型#xff1a; 模型训练计划#xff1a; 一.数据集填充 1.读取数据 2.把标签转化为数值 3.把异常数据转化为nan 4.数据Z标准化 5.划分训练集测试…目录 矿物数据项目介绍 数据问题与处理方案 数据填充策略讨论 模型选择与任务类型 模型训练计划 一.数据集填充 1.读取数据 2.把标签转化为数值 3.把异常数据转化为nan 4.数据Z标准化 5.划分训练集测试集 6.创建一个新的fill_data.py文件用来存放填充训练数据和填充测试数据的方法 方法①删除有缺失值的行 方法②平均值填充处理测试集用训练集对应的平均值来填充 方法③中位数填充处理测试集用训练集对应的中位数来填充 方法④众数填充处理测试集用训练集对应的众数来填充 7.调用填充方法生成各自方法填充后的数据并保存到各自的excel文件中 矿物数据项目介绍 数据类型每行记录矿物微量元素氯、钠、镁等及类别A/B/C/D/E注意:发现类别 E 仅有一条数据无法用于模型训练所以我们应该删除该数据 任务目标构建分类模型通过微量元素自动识别矿物类型A/B/C/D 数据问题与处理方案 异常值如“7.97”应为7.97、“41.12”应为41.12等输入错误需手动修正。 缺失值填充 方法A按类别分组填充如A类用A类均值/众数/中位数。 方法B智能填充如逻辑回归、随机森林等算法预测缺失值。 特征工程特征数量较少约10个无需降维。 发现数据中存在隐藏空格如“思”列导致NaN检测失败需手动清理空格干扰。 其他问题斜杠如PH值列、单一类别数据列如“异”列需删除或特殊处理。 数据填充策略讨论 优先填充缺失值最少的列如F列仅缺3个值以增加完整数据量便于后续预测其他列如K列。 填充顺序从缺失少的列到缺失多的列以提高填充准确性。 强调利用已有数据包括部分缺失的数据进行训练而非仅依赖完全完整的数据。 模型选择与任务类型 确定当前任务为回归问题因预测目标Y为连续型数据。 可用回归模型包括SVRSVM变体、KNN、随机森林、线性回归等。 模型训练计划 多模型对比尝试逻辑回归、随机森林、支持向量机、XGBoost等调参后评估效果准确率、召回率等。 步骤 数据预处理清洗、填充缺失值。 分模型训练与调参交叉验证。 生成对比表格选择最优模型。 下面我们先用四种方法来填充数据分别是删除空白数据行处理平均值填充处理中位数填充处理众数填充处理 一.数据集填充 部分数据如下 1.读取数据 删除仅有一行数据的‘E’类数据并删除无关列‘序号’ import pandas as pd datapd.read_excel(矿物数据.xlsx) datadata[data[矿物类型]!E] datadata.drop(序号,axis1) x_wholedata.iloc[:,:-1] y_wholedata.iloc[:,-1] 2.把标签转化为数值 把矿物类型ABCD类转化成机器可读的数字1234 labels_dict{A:1,B:2,C:3,D:4} en_labels[labels_dict[label] for label in data[矿物类型]] y_wholepd.Series(en_labels,name矿物类型) 3.把异常数据转化为nan 用pandas库将可以转化为数字类型的数据转化为数字不能转化的数据写为nan # 异常数据转化为nan for column_name in x_whole.columns:x_whole[column_name]pd.to_numeric(x_whole[column_name],errorscoerce) 4.数据Z标准化 #对数据Z标准化 from sklearn.preprocessing import StandardScaler scalerStandardScaler() X_whole_Zscaler.fit_transform(x_whole) X_whole_Zpd.DataFrame(X_whole_Z,columnsx_whole.columns) 5.划分训练集测试集 from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_testtrain_test_split(X_whole_Z,y_whole) 6.创建一个新的fill_data.py文件用来存放填充训练数据和填充测试数据的方法 方法①删除有缺失值的行 import pandas as pd #只保留完整数据集 def cca_train_fill(x_train,y_train):datapd.concat([x_train,y_train],axis1)datadata.reset_index(dropTrue)datadata.dropna()return data.iloc[:,:-1],data.iloc[:,-1] def cca_test_fill(x_test,y_test):datapd.concat([x_test,y_test],axis1)datadata.reset_index(dropTrue)datadata.dropna()return data.iloc[:,:-1],data.iloc[:,-1] 方法②平均值填充处理测试集用训练集对应的平均值来填充 由于每一类的平均值都要分开处理所以我们先将每一类分别提取出来 def mean_train_fill(x_train,y_train):datapd.concat([x_train,y_train],axis1)datadata.reset_index(dropTrue)Adata[data[矿物类型]1]Bdata[data[矿物类型]2]Cdata[data[矿物类型]3]Ddata[data[矿物类型]4]Amean_method_train(A)Bmean_method_train(B)Cmean_method_train(C)Dmean_method_train(D)datapd.concat([A,B,C,D])return data.drop(矿物类型,axis1),data[矿物类型] def mean_test_fill(x_train,y_train,x_test,y_test):data_train pd.concat([x_train, y_train], axis1)data_train data_train.reset_index(dropTrue)A_train data_train[data_train[矿物类型] 1]B_train data_train[data_train[矿物类型] 2]C_train data_train[data_train[矿物类型] 3]D_train data_train[data_train[矿物类型] 4]data_test pd.concat([x_test, y_test], axis1)data_test data_test.reset_index(dropTrue)A_test data_test[data_test[矿物类型] 1]B_test data_test[data_test[矿物类型] 2]C_test data_test[data_test[矿物类型] 3]D_test data_test[data_test[矿物类型] 4]A_testmean_method_test(A_train,A_test)B_test mean_method_test(B_train, B_test)C_test mean_method_test(C_train,C_test)D_test mean_method_test(D_train, D_test)data pd.concat([A_test, B_test, C_test, D_test])return data.drop(矿物类型, axis1), data[矿物类型]def mean_method_train(data):fill_valuesdata.mean()datadata.fillna(fill_values)return data def mean_method_test(train_data,test_data):fill_valuestrain_data.mean()test_datatest_data.fillna(fill_values)return test_data 方法③中位数填充处理测试集用训练集对应的中位数来填充 def median_train_fill(x_train,y_train):data pd.concat([x_train, y_train], axis1)data data.reset_index(dropTrue)A data[data[矿物类型] 1]B data[data[矿物类型] 2]C data[data[矿物类型] 3]D data[data[矿物类型] 4]A median_method_train(A)B median_method_train(B)C median_method_train(C)D median_method_train(D)data pd.concat([A, B, C, D])return data.drop(矿物类型, axis1), data[矿物类型] def median_test_fill(x_train,y_train,x_test,y_test):data_train pd.concat([x_train, y_train], axis1)data_train data_train.reset_index(dropTrue)A_train data_train[data_train[矿物类型] 1]B_train data_train[data_train[矿物类型] 2]C_train data_train[data_train[矿物类型] 3]D_train data_train[data_train[矿物类型] 4]data_test pd.concat([x_test, y_test], axis1)data_test data_test.reset_index(dropTrue)A_test data_test[data_test[矿物类型] 1]B_test data_test[data_test[矿物类型] 2]C_test data_test[data_test[矿物类型] 3]D_test data_test[data_test[矿物类型] 4]A_testmedian_method_test(A_train,A_test)B_test median_method_test(B_train, B_test)C_test median_method_test(C_train,C_test)D_test median_method_test(D_train, D_test)data pd.concat([A_test, B_test, C_test, D_test])return data.drop(矿物类型, axis1), data[矿物类型] def median_method_train(data):fill_values data.median()data data.fillna(fill_values)return data def median_method_test(train_data,test_data):fill_valuestrain_data.median()test_datatest_data.fillna(fill_values)return test_data 方法④众数填充处理测试集用训练集对应的众数来填充 def mode_train_fill(x_train,y_train): data pd.concat([x_train, y_train], axis1)data data.reset_index(dropTrue)A data[data[矿物类型] 1]B data[data[矿物类型] 2]C data[data[矿物类型] 3]D data[data[矿物类型] 4]A mode_method_train(A)B mode_method_train(B)C mode_method_train(C)D mode_method_train(D)data pd.concat([A, B, C, D])return data.drop(矿物类型, axis1), data[矿物类型] def mode_test_fill(x_train,y_train,x_test,y_test):data_train pd.concat([x_train, y_train], axis1)data_train data_train.reset_index(dropTrue)A_train data_train[data_train[矿物类型] 1]B_train data_train[data_train[矿物类型] 2]C_train data_train[data_train[矿物类型] 3]D_train data_train[data_train[矿物类型] 4]data_test pd.concat([x_test, y_test], axis1)data_test data_test.reset_index(dropTrue)A_test data_test[data_test[矿物类型] 1]B_test data_test[data_test[矿物类型] 2]C_test data_test[data_test[矿物类型] 3]D_test data_test[data_test[矿物类型] 4]A_testmode_method_test(A_train,A_test)B_test mode_method_test(B_train, B_test)C_test mode_method_test(C_train,C_test)D_test mode_method_test(D_train, D_test)data pd.concat([A_test, B_test, C_test, D_test])return data.drop(矿物类型, axis1), data[矿物类型] def mode_method_train(data):fill_values data.apply(lambda x: x.mode().iloc[0] if len(x.mode())0 else None)data data.fillna(fill_values)return data def mode_method_test(train_data,test_data):fill_valuestrain_data.apply(lambda x: x.mode().iloc[0] if len(x.mode())0 else None)test_datatest_data.fillna(fill_values)return test_data7.调用填充方法生成各自方法填充后的数据并保存到各自的excel文件中 由于训练集样本不平衡我们采用smote过采样来平衡数据 import fill_data #1.删除空白数据行处理 # x_train_fill,y_train_fillfill_data.cca_train_fill(x_train,y_train) # x_test_fill,y_test_fillfill_data.cca_train_fill(x_test,y_test) #2.平均值填充处理 # x_train_fill,y_train_fillfill_data.mean_train_fill(x_train,y_train) # x_test_fill,y_test_fillfill_data.mean_test_fill(x_train_fill,y_train_fill,x_test,y_test) #中位数填充处理 # x_train_fill,y_train_fillfill_data.median_train_fill(x_train,y_train) # x_test_fill,y_test_fillfill_data.median_test_fill(x_train_fill,y_train_fill,x_test,y_test) # 众数填充处理 x_train_fill,y_train_fillfill_data.mode_train_fill(x_train,y_train) x_test_fill,y_test_fillfill_data.mode_test_fill(x_train_fill,y_train_fill,x_test,y_test) #smote拟合数据 from imblearn.over_sampling import SMOTE oversampleSMOTE(k_neighbors1,random_state42)#保证数据拟合效果随机种子 x_train_fill,y_train_filloversample.fit_resample(x_train_fill,y_train_fill)#数据存入excel train_datapd.concat([y_train_fill,x_train_fill],axis1) train_data.to_excel(训练集[众数填充].xlsx,indexFalse) test_datapd.concat([y_test_fill,x_test_fill],axis1)
http://www.pierceye.com/news/572446/

相关文章:

  • 住房和建设厅网站首页网站源码怎么写
  • 宁波新亚建设公司网站简单网站建设
  • 做网站没赚到钱网站后台地址忘记了
  • 备案网站公共查询安阳县
  • wordpress 超级管理员seo优化网络公司
  • 商务推广网站宝塔做网站
  • 我想建一个网站怎么建python做的大型网站
  • 为网站设计手机版wordpress怎样比较安全
  • 网站优化方式重庆建设网站哪家专业
  • php做网站基本流程旅游网站论文
  • 网站前期准备网页制作需要学多久
  • 广园路建设公司网站建app网站要多少钱
  • 网站域名是什么东西wordpress农历插件
  • 专业网站建设公司首选公司wordpress fruitful
  • 微博wap版登录入口seo 网站标题长度
  • 网站面包屑导航设计即位置导航局域网安装wordpress
  • 泰安网站建设xtempire国家开放大学网站界面设计
  • 绘制网站结构图建站公司售后服务
  • 漂亮的博客网站模板装修公司网站开发
  • 厦门网站注册与网页设计公司wordpress找不到php的拓展
  • 常熟网站建设icp备案自己怎样创建网站
  • 移动互联网站建设seo流量排名门户
  • 做腰椎核磁证网站是 收 七设计网络品牌营销方案思路
  • 外贸网站建站系统基于php网站开发
  • 可以做代销的网站都有哪些神马网站快速排名案例
  • 个人能申请网站吗百度站长提交网址
  • 给素材网站做签约设计不想做了网络规划设计师教程第2版pdf
  • 新做的网站怎样推广html代码加密
  • 织梦淘宝客网站嘉兴网站开发公司
  • 宁波网站推广营销网上购物软件哪个好