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

网站建设的步骤过程如何用dw制作网页文字链接

网站建设的步骤过程,如何用dw制作网页文字链接,c 还可以做网站,高端网站设计合肥网站建设文章目录 引言特征工程1.特征类型1.1 结构化 vs 非结构化数据1.2 定量 vs 定性数据 2.数据清洗2.1 数据对齐2.2 缺失值处理 原文链接#xff1a;https://www.showmeai.tech/article-detail/208 作者#xff1a;showmeAI 引言 上图为大家熟悉的机器学习建模流程图#xff0c;… 文章目录 引言特征工程1.特征类型1.1 结构化 vs 非结构化数据1.2 定量 vs 定性数据 2.数据清洗2.1 数据对齐2.2 缺失值处理 原文链接https://www.showmeai.tech/article-detail/208 作者showmeAI 引言 上图为大家熟悉的机器学习建模流程图ShowMeAI在前序机器学习实战文章 Python机器学习算法应用实践中和大家讲到了整个建模流程非常重要的一步是对于数据的预处理和特征工程它很大程度决定了最后建模效果的好坏在本篇内容汇总我们给大家展开对数据预处理和特征工程的实战应用细节做一个全面的解读。 特征工程 首先我们来了解一下「特征工程」事实上大家在ShowMeAI的实战系列文章 Python机器学习综合项目-电商销量预估 和 Python机器学习综合项目-电商销量预估进阶 中已经看到了我们做了特征工程的处理。 如果我们对特征工程(feature engineering)做一个定义那它指的是利用领域知识和现有数据创造出新的特征用于机器学习算法可以手动(manual)或自动(automated)。 特征数据中抽取出来的对结果预测有用的信息。特征工程使用专业背景知识和技巧处理数据使得特征能在机器学习算法上发挥更好的作用的过程。 在业界有一个很流行的说法 数据与特征工程决定了模型的上限改进算法只不过是逼近这个上限而已。 这是因为在数据建模上「理想状态」和「真实场景」是有差别的很多时候原始数据并不是规矩干净含义明确充分的形态 而特征工程处理相当于对数据做一个梳理结合业务提取有意义的信息以干净整齐地形态进行组织 特征工程有着非常重要的意义 特征越好灵活性越强。只要特征选得好即使是一般的模型或算法也能获得很好的性能好特征的灵活性在于它允许你选择不复杂的模型同时运行速度也更快也更容易理解和维护。特征越好构建的模型越简单。有了好的特征即便你的参数不是最优的你的模型性能也能仍然会表现的很好所以你就不需要花太多的时间去寻找最优参数这大大的降低了模型的复杂度使模型趋于简单。特征越好模型的性能越出色。显然这一点是毫无争议的我们进行特征工程的最终目的就是提升模型的性能。 本篇内容ShowMeAI带大家一起来系统学习一下特征工程包括「特征类型」「数据清洗」「特征构建」「特征变换」「特征选择」等板块内容。 我们这里用最简单和常用的Titanic数据集给大家讲解。 Titanic数据集是非常适合数据科学和机器学习新手入门练习的数据集数据集为1912年泰坦尼克号沉船事件中一些船员的个人信息以及存活状况。我们可以根据数据集训练出合适的模型并预测新数据(测试集)中的存活状况。 Titanic数据集可以通过 seaborn 工具库直接加载如下代码所示 import pandas as pd import numpy as np import seaborn as snsdf_titanic sns.load_dataset(titanic)其中数据集的数据字段描述如下图所示 1.特征类型 在具体演示Titanic的数据预处理与特征工程之前ShowMeAI再给大家构建一些关于数据的基础知识。 1.1 结构化 vs 非结构化数据 数据可以分为「结构化数据」和「非结构化数据」比如在互联网领域大部分存储在数据库内的表格态业务数据都是结构化数据而文本、语音、图像视频等就属于非结构化数据。 1.2 定量 vs 定性数据 对于我们记录到的数据我们通常又可以以「定量数据」和「定性数据」对齐进行区分其中 定量数据指的是一些数值用于衡量数量与大小。 例如高度长度体积面积湿度温度等测量值。定性数据指的是一些类别用于描述物品性质。 例如纹理味道气味颜色等。 如下图是两类数据示例以及它们常见的处理分析方法的总结 2.数据清洗 实际数据挖掘或者建模之前我们会有「数据预处理」环节对原始态的数据进行数据清洗等操作处理。因为现实世界中数据大体上都是不完整、不一致的「脏数据」无法直接进行数据挖掘或者挖掘结果差强人意。 「脏数据」产生的主要成因包括 篡改数据数据不完整数据不一致数据重复异常数据 数据清洗过程包括数据对齐、缺失值处理、异常值处理、数据转化等数据处理方法如下图所示 下面我们注意对上述提到的处理方法做一个讲解。 2.1 数据对齐 采集到的原始数据格式形态不一我们会对时间、字段以及相关量纲等进行数据对齐处理数据对齐和规整化之后的数据整齐一致更加适合建模。如下图为一些处理示例 (1) 时间 日期格式不一致【2022-02-20、20220220、2022/02/20、20/02/2022】。时间戳单位不一致有的用秒表示有的用毫秒表示。使用无效时间表示时间戳使用0表示结束时间戳使用FFFF表示。 (2) 字段姓名写了性别身份证号写了手机号等。 (3) 量纲数值类型统一【如1、2.0、3.21E3、四】。单位统一【如180cm、1.80m】。 2.2 缺失值处理 数据缺失是真实数据中常见的问题因为种种原因我们采集到的数据并不一定是完整的我们有一些缺失值的常见处理方式 不处理(部分模型如XGBoost/LightGBM等可以处理缺失值)。删除缺失数据(按照样本维度或者字段维度)。采用均值、中位数、众数、同类均值或预估值填充。 具体的处理方式可以展开成下图 下面回到我们的Titanic数据集我们演示一下各种方法 我们先对数据集的缺失值情况做一个了解(汇总分布) df_titanic.isnull().sum()survived 0 pclass 0 sex 0 age 177 sibsp 0 parch 0 fare 0 embarked 2 class 0 who 0 adult_male 0 deck 688 embark_town 2 alive 0 alone 0(1) 删除 最直接粗暴的处理是剔除缺失值即将存在遗漏信息属性值的对象 (字段样本/记录) 删除从而得到一个完备的信息表。优缺点如下 优点简单易行在对象有多个属性缺失值、被删除的含缺失值的对象与初始数据集的数据量相比非常小的情况下有效不足当缺失数据所占比例较大特别当遗漏数据非随机分布时这种方法可能导致数据发生偏离从而引出错误的结论。 在我们当前Titanic的案例中embark_town字段有 2 个空值考虑删除缺失处理下。 df_titanic[df_titanic[embark_town].isnull()] df_titanic.dropna(axis0,howany,subset[embark_town],inplaceTrue)(2) 数据填充 第2大类是我们可以通过一些方法去填充缺失值。比如基于统计方法、模型方法、结合业务的方法等进行填充。 ① 手动填充 根据业务知识来进行人工手动填充。 ② 特殊值填充 将空值作为一种特殊的属性值来处理它不同于其他的任何属性值。如所有的空值都用unknown填充。一般作为临时填充或中间过程。 代码实现 df_titanic[embark_town].fillna(unknown, inplaceTrue)③ 统计量填充 若缺失率较低可以根据数据分布的情况进行填充。常用填充统计量如下 中位数对于数据存在倾斜分布的情况采用中位数填补缺失值。众数离散特征可使用众数进行填充缺失值。平均值对于数据符合均匀分布用该变量的均值填补缺失值。 中位数填充——fare缺失值较多使用中位数填充 df_titanic[fare].fillna(df_titanic[fare].median(), inplaceTrue)众数填充——embarked只有两个缺失值使用众数填充 df_titanic[embarked].isnull().sum() #执行结果2 df_titanic[embarked].fillna(df_titanic[embarked].mode(), inplaceTrue) df_titanic[embarked].value_counts() #执行结果 #S 64同类均值填充 age根据 sex、pclass 和 who 分组如果落在相同的组别里就用这个组别的均值或中位数填充。 df_titanic.groupby([sex, pclass, who])[age].mean()age_group_mean df_titanic.groupby([sex, pclass, who])[age].mean().reset_index()def select_group_age_median(row):condition ((row[sex] age_group_mean[sex]) (row[pclass] age_group_mean[pclass]) (row[who] age_group_mean[who]))return age_group_mean[condition][age].values[0] df_titanic[age] df_titanic.apply(lambda x: select_group_age_median(x) if np.isnan(x[age]) else x[age],axis1)④ 模型预测填充 如果其他无缺失字段丰富我们也可以借助于模型进行建模预测填充将待填充字段作为Label没有缺失的数据作为训练数据建立分类/回归模型对待填充的缺失字段进行预测并进行填充。 最近距离邻法(KNN) 先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的 公式 个样本将这 公式 个值加权平均/投票来估计该样本的缺失数据。 回归(Regression) 基于完整的数据集建立回归方程。对于包含空值的对象将已知属性值代入方程来估计未知属性值以此估计值来进行填充。当变量不是线性相关时会导致有偏差的估计常用线性回归。 我们以 Titanic 案例中的 age 字段为例讲解一下 age 缺失量较大这里我们用 sex、pclass、who、fare、parch、sibsp 六个特征构建随机森林模型填充年龄缺失值。df_titanic_age df_titanic[[age, pclass, sex, who,fare, parch, sibsp]] df_titanic_age pd.get_dummies(df_titanic_age) df_titanic_age.head()# 乘客分成已知年龄和未知年龄两部分 known_age df_titanic_age[df_titanic_age.age.notnull()] unknown_age df_titanic_age[df_titanic_age.age.isnull()] # y 即目标年龄 y_for_age known_age[age] # X 即特征属性值 X_train_for_age known_age.drop([age], axis1) X_test_for_age unknown_age.drop([age], axis1) from sklearn.ensemble import RandomForestRegressor rfr RandomForestRegressor(random_state0, n_estimators2000, n_jobs-1) rfr.fit(X_train_for_age, y_for_age) # 用得到的模型进行未知年龄结果预测 y_pred_age rfr.predict(X_test_for_age) # 用得到的预测结果填补原缺失数据 df_titanic.loc[df_titanic.age.isnull(), age] y_pred_agesns.distplot(df_titanic.age)
http://www.hkea.cn/news/14258393/

相关文章:

  • 网站右键禁止中国苏州网
  • 有建设网站的软件吗wordpress文章标题总有网站名
  • 东莞建设网官方网站长沙做网站开发哪里好
  • 做网站需要招什么渠道网络是什么意思
  • 电商网站建设外包费用网站备案和域名备案一样吗
  • 凡科网站建设如何植入代码加盟培训网站建设
  • 网站建设的功能都需要有哪些方面中国建设银行下载
  • 素材网站排行榜前十名网站的建设过程
  • 网站很卡如何优化wordpress博客文章导出
  • 网站ico图标放在哪里网站制作与app开发哪个要难一点
  • 东莞网站建设都找菲凡网络建站平台那个好
  • 做微网站上海人才市场
  • 做网站宜宾中英文外贸网站模板 生成静态html
  • wordpress使用iisseo分析报告
  • 沧州网站建设多少钱番禺区手机版网站建设
  • 天河做网站设计百度指数查询移动版
  • 简单展示网站模板为餐饮企业做网站推广
  • 从事网站开发学什么专业制作网页需要什么技术
  • 企业如何做网站建站男子替人做网站网站
  • 做网站必要性网站排名查询软件
  • php网站上传做网站活动
  • 仿淘宝网站模板软文推荐
  • 购买网站域名vi 设计
  • 温州做企业网站企业网站的网络营销
  • 建设网站女装名字大全济南建立网站
  • 作词做曲网站企业邮箱怎么申请免费的
  • 茶叶手机网站海纳企业网站管理系统
  • 把网站打包微信小程序京东商城网站建设目的
  • 德江网站建设wordpress手游
  • 网站是怎么做排名的wordpress页面批量生成二维码