精华内容
下载资源
问答
  • 本文比较了用于数据准备的几种方法,它们分别是提取-变换-加载批处理(ETL)、流式获取和数据整理。本文还讨论了数据准备如何与可视化分析相关联,以及不同用户角色(如数据科学家或业务分析人员)应如何共同构建...

    原创 2017-04-27 Kai Wähner
    翻译|谢旭
    审校|张卫滨
    本文比较了用于数据准备的几种方法,它们分别是提取-变换-加载批处理(ETL)、流式获取和数据整理。本文还讨论了数据准备如何与可视化分析相关联,以及不同用户角色(如数据科学家或业务分析人员)应如何共同构建分析模型的最佳实践。
    要点
    ● 在常见的机器学习/深度学习项目里,数据准备占去整个分析管道的60%到80%。
    ● 市场上有各种用于数据清洗和特征工程的编程语言、框架和工具。它们之间的功能有重叠,也各有权衡。
    ● 数据整理是数据预处理的重要扩展。它最适合在可视化分析工具中使用,这能够避免分析流程被打断。
    ● 可视化分析工具与开源数据科学组件之间,如R、Python、KNIME、RapidMiner互为补充。
    ● 避免过多地使用组件能够加速数据科学项目。因此,在数据准备步骤中利用流式获取框架或流式分析产品会是一个不错的选择。
    机器学习和深度学习项目在大多数企业中变得越来越重要。一个完整的项目流程包括数据准备(data preparation)、构建分析模型以及部署至生产环境。该流程是一个洞察-行动-循环(insights-action-loop),此循环能不断地改进分析模型。Forrester把这个完整的流程和其背后的平台称为洞察平台(Insights Platform)。
    当你打算使用机器学习或深度学习技术来构建分析模型时,一个重要的任务是集成并通过各种数据源来准备数据集,这些数据源包括比如文件、数据库、大数据存储、传感器或社交网络等等。此步骤可占整个分析项目的80%。
    本文比较了用于数据准备的几种方法,它们分别是提取-变换-加载(extract-transform-load,ETL)批处理、流式获取(streaming ingestion)和数据整理(data wrangling)。同时借助于先进的分析技术和开源框架(如R、Apache Spark、KNIME、RapidMiner),讨论了各种不同的选择及其折中。本文还讨论了数据准备如何与可视化分析相关联,以及不同用户角色(如数据科学家或业务分析人员)应如何共同构建分析模型的最佳实践。

    数据准备=数据清洗(Data Cleansing)+特征工程(Feature Engineering)

    数据准备是数据科学的核心。它包括数据清洗和特征工程。另外领域知识(domain knowledge)也非常重要,它有助于获得好的结果。数据准备不能完全自动化,至少在初始阶段不能。通常,数据准备占去整个分析管道(流程)的60%到80%。但是,为了使机器学习算法在数据集上获得最优的精确性,数据准备必不可少。
    数据清洗可使数据获得用于分析的正确形状(shape)和质量(quality)。它包括了许多不同的功能,例如:
    ● 基本功能(选择、过滤、去重、…)
    ● 采样(平衡(balanced)、分层(stratified)、…)
    ● 数据分配(创建训练+验证+测试数据集、…)
    ● 变换(归一化、标准化、缩放、pivoting、…)
    ● 分箱(Binning)(基于计数、将缺失值作为其自己的组处理、…)
    ● 数据替换(剪切(cutting)、分割(splitting)、合并、…))
    ● 加权与选择(属性加权、自动优化、…)
    ● 属性生成(ID生成、…)
    ● 数据填补(imputation)(使用统计算法替换缺失的观察值)
    特征工程会为分析选取正确的属性。我们需要借助数据的领域知识来选取或创建属性,这些属性能使机器学习算法正确地工作。特征工程过程包括:
    ● 头脑风暴或特征测试
    ● 特征选择
    ● 验证这些特征如何与模型配合使用
    ● 如果需要,改进特征
    ● 回到头脑风暴/创建更多的特征,直到工作完成
    请注意,特征工程已是建模(构建分析模型)步骤里的一部分,但它也利用数据准备这一功能(例如提取字符串的某些部分)。
    数据清洗和特征工程是数据准备的一部分,也是机器学习和深度学习应用的基础。这二者并不是那么容易,都需要花费功夫。
    数据准备会出现在分析项目的不同阶段:
    ● 数据预处理:从数据源获取数据之后直接处理数据。通常由开发人员或数据科学家实现,它包括初始转换、聚合(aggregation)和数据清洗。此步骤在数据的交互式分析开始之前完成。它只执行一次。
    ● 数据整理:在交互式数据分析和建模期间准备数据。通常由数据科学家或业务分析师完成,以便更改数据集和特征工程的视图。此步骤会迭代更改数据集的形状,直到它能很好地查找洞察或构建良好的分析模型
    不可或缺的数据预处理和数据整理
    让我们看一看典型的用于模型构建的分析流程:
    1. 数据访问
    2. 数据预处理
    3. 探索性数据分析(Exploratory Data Analysis)(EDA)
    4. 模型构建
    5. 模型验证
    6. 模型执行
    7. 部署
    步骤2的重点是在构建分析模型之前进行的数据预处理,而数据整理则用于步骤3和步骤4(在分析数据和构建模型时,数据整理允许交互式调整数据集)。注意,这三个步骤(2、3、4)都可以包括数据清洗和特征工程。
    以下截图是“数据准备”、“数据预处理”和“数据整理”这几个术语的Google搜索趋势。可以看出,数据整理受到了越来越多的关注:
    这里写图片描述
    图1:“数据准备”、“数据预处理”和“数据整理”的Google搜索趋势
    “inline数据整理”(inline data wrangling)是“数据整理”的一种特殊形式。在inline数据整理里,你可以利用可视化分析工具。这些工具不仅能用于可视化和模型构建,而且还能用于直接交互式整理。inline数据整理有巨大的优势,如下图所示:
    这里写图片描述
    图2:解耦数据预处理(decoupled data preprocessing)与inline数据整理的比较
    分析管道中的数据预处理和数据整理步骤通常由不同类型的用户完成。以下是参与分析项目的各种用户角色:
    ● 业务分析师:具有特定领域知识的商业/行业专家
    ● 数据科学家:数学、统计与编程(数据科学/脚本编写)专家;能够编写底层代码或使用更上层的工具
    ● 平民数据科学家(Citizen Data Scientist):类似于数据科学家,但处于更上层;需要使用更上层的工具而非编写代码;取决于工具的易用性,相关工作甚至可以由业务分析师来完成
    ● 开发者:软件开发专家(企业应用程序)
    这些用户必须密切合作,以便在数据科学项目中取得成功(另见“如何避免分析中的反模式:机器学习的三个要点”,这篇文章能帮你更好地了解这些用户角色)。
    虽然本文重点是介绍数据准备,但一图胜千言,并且人类只能解释直观可见的东西而非那些复杂的非结构化数据集,因此了解数据准备与可视化分析的关系也非常重要。有关更多细节,请参阅文章为什么应该使用可视化分析来做出更好的决策。目前主要的可视化分析工具有Qlik、Tableau和TIBCO Spotfire。
    那么可视化分析是如何与数据整理相关联的呢?RITO研究公司的首席分析师说,“让分析师停下他们手里正在进行的工作,而去切换到另一个工具是令人发狂的。这破坏了他们的工作流程。 他们不得不返回重拾思路,重新开始。这严重影响了他们的生产力和创造力”。
    Kaggle的Titanic数据集
    以下章节给出了数据准备的几种备选方案。我们将用非常著名的Titanic数据集(来自于Kaggle)来演示一些实用的例子。Titanic数据集被分为训练集和测试集,它将用于构建分析模型,这些模型用来预测哪个乘客可能会存活或死亡:
    这里写图片描述
    图3:Kaggle Titanic数据集的元数据
    这里写图片描述
    图4:Kaggle Titanic数据集的数据行示例
    原始数据集不能直接用于构建分析模型。它含有重复、缺失值以及包含各种不同信息的单元格。因此,在应用机器学习算法时,需要先将原始数据集处理好,以便获得最佳结果。以下是一些数据清洗和特征工程的例子:
    ● 通过特征提取(feature extraction)创建新列:获取每位乘客的姓名前缀,从而推断出其性别,例如,先生、夫人、小姐、大师
    ● 通过聚合创建新列,以查看每位乘客的旅行团中有多少人:“家庭大小= 1 + SibSp + Parch”
    ● 通过提取第一个字符来创建新列,以便排序和分析舱室:提取“舱室”列的第一个字符
    ● 删除数据集中的重复项,例如,乘客既在训练集中又在测试集中
    ● 通过填补将数据添加到空单元格,以便能够处理数据缺失的行,例如,年龄:将“不可用”替换为所有乘客的平均年龄或将其离散到对应的箱(bin)中;舱室:用“U”(未知)替换空值;或应用高级填补方法,例如,通过链式方程的多重填补(multiple imputation by chained equations)(MICE)
    ● 利用数据科学功能,例如,缩放、归一化、主成分分析(PCA)或Box-Cox,使所有数据处于“相似形状”,以便能够进行合理的分析
    以下章节阐述了各种编程语言、框架和数据准备工具。请注意,没有哪种方案适用于所有问题。此外,这些方案之间也有很多重叠(overlapping)。因此,根据用户角色和用例,许多问题可以使用不同的方案来解决。
    数据科学的数据预处理
    一些编程语言是专为数据科学项目而设计,或者是对它有非常好的支持,特别是R和Python。它们包含了机器学习算法的各种实现,诸如过滤或提取的预处理功能,以及诸如缩放、归一化或混洗(shuffle)的数据科学功能。数据科学家需要编写相对底层的代码来进行探索性数据分析与准备。与使用Java或C#的传统编程相反,使用R或Python进行数据预处理时,你不需要编写太多的代码;它更多地是让你了解统计概念以及算法的数据和经验,这些数据和经验可用于数据预处理和模型构建。
    这些编程语言是为数据科学家准备数据和构建分析模型而建立,它们并不适用于企业部署(将分析模型部署到具有高规模和高可靠性的新数据中)。因此,市场上提供了商业的enterprise runtime帮助你实现企业部署。通常,它们支持相同的源代码,因此你不需要为企业部署重写任何东西。对于R,你可以使用开源的Microsoft R Open(之前的Revolution R),或TIBCO Enterprise Runtime for R。后者具有不受GPL开源许可证限制的优势,因此你可以使用在任何嵌入式或外部环境里。
    下面的代码摘录于一个不错的R教程,它演示了如何使用基本的R语言来预处理和分析Titanic数据集:
    使用基本的R语言进行数据预处理: 存活是“是/否”
    =>类型转换:没有numeric值和对应的数据处理/分析
    data.combined Survived<as.factor(data.combined Survived)
    从全称里解析出姓和头衔
    data.combined[1:25, “Name”]
    name.splits <- str_split(data.combined Name,,)name.splits[1]last.names<sapply(name.splits,[,1)last.names[1:10]/+/+1temp.SibSp<c(train SibSp, test SibSp)temp.Parch<c(train Parch, test Parch)data.combined FamilySize <- as.factor(temp.SibSp + temp.Parch + 1)
    除了对预处理的基本支持外,这些编程语言还提供了许多额外的数据科学软件包。例如,许多数据科学家利用R中非常强大的caret包来简化数据准备和减少代码量。该软件包简化了复杂回归和分类问题的模型准备与训练过程。它为数百个现有的R模型实现(在底层使用了各种各样的API)提供了一个通用接口。以下代码段使用了caret的通用API对Titanic数据集进行预处理:
    使用R caret包进行数据预处理:
    利用caret的preProcess函数对数据做归一化
    preproc.data.combined <- data.combined[, c(“ticket.party.size”, “avg.fare”)]
    preProc <- preProcess(preproc.data.combined, method = c(“center”, “scale”))
    你看到的是相对值而非绝对值(即彼此之间的关系):
    postproc.data.combined <- predict(preProc, preproc.data.combined)
    另一个用于数据预处理的R包是dplyr包。它不像caret包那样强大,并且只专注于操作、清洗和汇总(summarize)非结构化数据。 Dplyr旨在为数据操作的每个基本动作都提供一个函数:
    filter()(和slice())
    arrange()
    select()(和rename())
    distinct()
    mutate()(和transmute())
    summarise()
    sample_n (和sample_frac())
    因此,学习和理解许多数据操作任务变得容易。对于data.table包也是这样。

    数据科学家或开发者的大数据集预处理

    正如你所见的,在R语言里你有许多方法来预处理数据集。
    诸如R或Python这样的编程语言可用于处理小数据集。但是,它们并不是为处理真正的大数据集而创建;与此同时,我们经常需要分析几个GB、TB甚至PB级别的数据。类似于Apache Hadoop或Apache Spark的大数据框架则是为处于边缘的(即数据所在位置)弹性扩展(elastic scalability)和数据预处理而创建。
    这些大数据框架侧重于“底层”编码,并且配置起来比R或Python环境要复杂得多。商业软件,如Hortonworks、Cloudera、MapR或Databricks可以帮助解决此问题。通常,数据科学家与开发人员相互合作来完成大数据项目。后者负责集群配置、部署和监控,而数据科学家则利用R或Python API编写用于数据预处理和构建分析模型的代码。
    源代码通常看起来与仅使用R或Python的代码非常相似,但数据预处理是在整个集群上并行完成的。下面的示例演示了如何使用Spark的Scala API对Titanic数据集进行预处理和特征工程:
    使用Scala和Apache Spark API进行数据预处理:
    特征工程:创建家庭大小特征
    (兄弟姐妹/配偶+父母/孩子+1)
    val familySize: ((Int, Int) => Int) = (sibSp: Int, parCh: Int) => sibSp + parCh + 1
    val familySizeUDF = udf(familySize)
    val dfWithFamilySize = df.withColumn(“FamilySize”, familySizeUDF(col(“SibSp”), col(“Parch”)))
    // 为年龄列填充空值
    val avgAge = trainDF.select(“Age”).union(testDF.select(“Age”))
    .agg(avg(“Age”))
    .collect() match {
    case Array(Row(avg: Double)) => avg
    case _ => 0
    }
    当然,你可以使用Spark的Java或Python API做同样的事情。

    平民数据科学家的数据预处理

    通常,你想要敏捷并且快速得到结果。这常常需要在准备和分析数据集时大量地试错。你可以利用现存的各种快捷易用的数据科学工具。这些工具提供了:
    ● 开发环境和运行/执行服务器
    ● 使用拖放与代码生成的可视化“编码”
    ● 集成各种数据科学框架,如R、Python或更强大的(诸如Apache Hadoop、Apache Spark或底层的H2O.ai)大数据框架
    数据科学家可以使用这些工具来加速数据预处理和模型建立。此外,该类工具还帮助解决了数据预处理和机器学习算法的实现,因此没有太多项目经验的平民数据科学家也可以使用它们。一些工具甚至能够提出建议,这些建议有助于用户预处理、显示和分析数据集。这些工具在底层人工智能的驱动下变得越来越智能。
    下面的例子展示了如何使用两个开源数据科学工具KNIME和RapidMiner来预处理Titanic数据集:
    这里写图片描述
    图:使用KNIME来预处理Titanic数据集
    这里写图片描述
    图:使用RapidMiner来预处理Titanic数据集
    你可以使用可视化IDE来配置预处理,而非如前所述的用R或Scala编写源代码。对大多数用户来说,这使得数据准备和分析变得更容易,并且数据的维护和移交也变得更容易。

    业务分析师或平民数据科学家的数据整理

    数据整理(有时也称为data munging)是一种使用图形工具的数据准备方法,该方法简单直观。这些工具侧重于易用性和敏捷的数据准备。因此,它不一定由开发人员或数据科学家完成,而是所有的用户都可以(包括业务分析师或平民数据科学家)。DataWrangler和Trifacta Wrangler是数据整理的两个示例。
    这里写图片描述
    图:用于数据整理的Trifacta
    请注意,这些工具没有数据预处理框架那么强大,因此它们经常用于数据准备的最后一公里。它们不会替换其它的集成选项,如ETL(提取-变换-加载)工具,或使用R、Python、KNIME、RapidMiner等进行的数据预处理。
    如引言中所讨论,因为数据整理与实际数据分析相互解耦,所以数据整理自身的工具可能会存在一些不足之处。可视化分析工具中的数据整理允许在数据的探索性分析期间进行inline数据整理。单个的用户使用单一的工具就能够完成它。例如,请参阅TIBCO Spotfire示例,它结合了可视化分析与inline数据整理(以及其它的数据科学功能来构建分析模型):
    这里写图片描述
    图:可视化分析工具TIBCO Spotfire中的inline数据整理
    数据整理工具和带有inline数据整理的可视化分析工具可以被每种用户角色使用:业务分析师、(平民)数据科学家或开发人员,这些工具能够加速数据准备和数据分析。
    本文重点介绍了用于建立机器学习模型的数据准备。你可以使用编程语言(如R或Python)、数据科学工具(如KNIME或RapidMiner)、数据整理(使用DataWrangler或Trificata)或inline数据整理(通过TIBCO Spotfire)。通常,在开始这一切之前,你需要能够访问你拥有的所有数据,这些数据存储于各种或多或少整理过的数据源中(如关系数据库、数据仓库、大数据集群)。因此,在以下两部分,我们将简要介绍用于数据获取(data ingestion)的ETL和流式分析工具,通常数据获取还包括数据准备的某些部分,特别是数据聚合和数据清洗。

    开发者的ETL(提取-变换-加载)和DQ(数据质量,Data Quality)

    ETL工具是为开发者集成各种数据源而设计的,它包括了许多遗留和专有(proprietary)接口(如Mainframe或EDIFACT接口),这些接口具有十分复杂的数据结构。它还包括了数据清洗(在上下文中通常被称为“数据质量”工具),并将重点放在易用性和使用可视化编码的企业部署上(类似于如KNIME或RapidMiner的数据科学工具,但是专注于ETL和数据质量)。它们还支持大数据框架,如Apache Hadoop和Apache Spark。此外,它们还为质量改进提供了开箱即用(out-of-the-box )的支持,例如,地址验证。ETL和DQ通常在长时间运行的批处理进程中实现,因此如果你需要使用实时数据构建模型,那么这有时可能会产生负面影响。
    ETL和DQ工具的例子是一些开源工具,如Pentaho或Talend,或专有供应商Informatica。市场正在向更简单易用的Web用户界面转移,这些简单易用的界面能够让其他用户角色也执行一些基本的任务。

    开发者的数据获取与流式分析

    数据获取与流式分析工具可用于在流(stream)中添加和预处理数据。这些框架允许批量地或实时地预处理数据。下图展示了一个典型的流式分析流程,它包括数据获取、预处理、分析、处理和输出:
    这里写图片描述
    图:流式分析流程的步骤
    目前市场上有各种各样的框架和工具。它们都以这种或那种方式支持类似Hadoop或Spark的大数据框架。举几个例子:
    ● 数据获取开源框架(仅关注数据获取和预处理步骤):Apache NiFi、StreamSets、Cask Hydrator
    ● 流式处理开源框架(完整的流式分析流程):Apache Storm、Apache Flink、Apache Apex
    ● 流式处理商业软件(完整的流式分析流程):Software AG Apama、IBM Streams、TIBCO StreamBase
    使用这些工具(包括ETL)的巨大优势是,你可以使用同一套工具或框架(对历史数据)进行数据预处理,以及(对新数据)进行实时处理(以便在变化的数据里使用分析模型)。这将会是一个不错的选择,用户不仅可以保持小而精的工具集,而且还能通过一套工具同时获得ETL/获取和实时处理。下图是一个使用TIBCO StreamBase对Titanic数据集进行预处理的例子:
    这里写图片描述
    图:Titanic数据集的流式预处理
    对于数据获取和ETL工具,流式分析的市场正在转向更简单的Web用户界面,这些简单的用户界面让其他用户角色也能执行一些基本的任务。但这不会取代现有的工具在更高级别用例里的使用,而是为分析师或数据科学家提供了新的选择。在没有开发人员的帮助下,他们能够更容易和更直接地部署一些规则、关联或分析模型。

    数据准备是机器学习项目成功的关键

    使用机器学习或深度学习技术构建分析模型并不容易。数据准备占去整个分析管道的60%到80%。市场上有各种用于数据清洗和特征工程的编程语言、框架和工具。它们之间的功能有重叠,也各有权衡。
    数据整理是数据预处理的重要扩展(add-on)。它最适合在可视化分析工具中使用,这能够避免分析流程被打断。可视化分析工具与开源数据科学组件(component)之间,如R、Python、KNIME、RapidMiner互为补充。
    避免过多地使用组件能够加速数据科学项目。因此,在数据准备步骤中利用流式获取框架或流式分析产品会是一个不错的选择。我们只需要编写一次预处理的步骤,然后将其用于历史数据的批处理中,从而进行分析模型的构建,同时,还可以将其用于实时处理,这样就能将我们构建的分析模型用到新的事件中。
    作者介绍
    Kai Wähner,TIBCO软件的技术传播者和社区管理者,TIBCO软件是市场上领先的集成和分析中间件提供商。他主要的专业领域包括大数据、高级分析、机器学习、集成、SOA、微服务、BPM、云、物联网和编程语言(如Java EE、Groovy或Golang)。他经常在其博客网站上撰写关于新技术的博客、文章和会议演讲。

    展开全文
  • TCGA临床数据整理

    千次阅读 2019-12-10 14:49:30
    TCGA临床数据整理是一个基本的操作 我们选择临床数据在Data category 中选择clinical 最重要的在Data format 中一定要选择XML的]格式 选择自己研究的TCGA肿瘤类型,添加到cart里面下载数据 点击download 下载 ...

    TCGA临床数据的整理是一个基本的操作 TCGA的官网

    在这里插入图片描述我们选择临床数据在Data category 中选择clinical 最重要的在Data format 中一定要选择XML的]格式在这里插入图片描述
    选择自己研究的TCGA肿瘤类型,添加到cart里面下载数据
    在这里插入图片描述
    点击download 下载 cart的内容 保存你们自己喜欢的位置。下面一步是个小技巧 ,使用Windows 的小伙伴在这里插入图片描述
    在右侧工具栏搜索XML格式 会把每个文件夹内的XML文件显示出来,最后复制的一个文件夹内最后整理完之后我们导入到RStudio

    library("XML")
    library("methods")
    setwd("H:/gdc-client_v1.4.0_Windows_x64/1")##设置工作路径
    dir="H:/gdc-client_v1.4.0_Windows_x64/1"      
    all_fiels=list.files(path = dir ,pattern='*.xml$',recursive=T)##导入文件
    cl = lapply(all_fiels, function(x){
                 result <- xmlParse(file = file.path(dir,x)) 
                  rootnode <- xmlRoot(result)  
                  xmldataframe <- xmlToDataFrame( rootnode[2] ) 
                  return(t(xmldataframe)) })
    clinical <- t(do.call(cbind,cl))
    write.table(clinical,file="clinical.txt",sep="\t",quote=F,row.names = F)  
    
    展开全文
  • 基于Stata reshape命令的面板数据整理

    千次阅读 2021-05-21 11:07:28
    这几天写论文,需要用到面板数据,从统计局导出的数据一般是长下面这样的 如果要手动处理成面板数据的格式会非常麻烦,网上有用Excel数据透视表的办法,但我不会(好像是某个功能一直弹不出来),所以Excel five...
    • 这几天写论文,需要用到面板数据,从统计局导出的数据一般是长下面这样的
      在这里插入图片描述

    • 如果要手动处理成面板数据的格式会非常麻烦,网上有用Excel数据透视表的办法,但我不会(好像是某个功能一直弹不出来),所以Excel five选择了Stata,我用的版本是Stata.15

    • 首先把数据复制到Stata中(不包括行名)
      在这里插入图片描述

    • 输入如下代码

    rename var1 id #重命名,id是个体变量
    drop var2 #这里因为2020年数据是空的,所以需要把第二列删掉
    rename var3 y2019 
    #重命名,y2019,字母+数字,其中字母代表我们收集的变量,数字是年份
    #划重点,一定要命名为字母+数字
    rename var4 y2018
    rename var5 y2017
    rename var6 y2016
    rename var7 y2015
    rename var8 y2014
    rename var9 y2013 
    rename var10 y2012 
    rename var11 y2011
    #使用reshape命令,这里是宽变长命令,还有长变宽命令朋友们有兴趣可以自己看一下
    #y是我们收集的变量,如果朋友们在重命名时使用的是别的,比如haha2021,那么这里命令改为reshape long haha,i(id) j(year) 
    reshape long y,i(id) j(year) 
    
    • 运行,数据就转化成了面板数据的形式
      在这里插入图片描述
    • 时间有限,写的很乱,有些术语不懂如何形容,一通暴力操作,望多多包涵
    展开全文
  • 用Python进行数据整理

    千次阅读 2018-01-14 13:39:24
    数据整理数据整理是在分析,可视化和在使用机器学习建立预测模型之前,进行数据收集,数据评估和数据整理的过程 【数据收集】 方法:1、从网上直接下载数据源;2、用编程方法下载数据源;3、使用手头的文件 ...

    【数据整理】
    数据整理是在分析,可视化和在使用机器学习建立预测模型之前,进行数据收集,数据评估和数据整理的过程
    【数据收集】
    方法:1、从网上直接下载数据源;2、用编程方法下载数据源;3、使用手头的文件
    【数据评估】
    评估我们的数据,已确定哪些是干净的数据,以及一旦丢失哪些数据,我们还需要收集哪些数据。确保我们的数据形式,能让后续分析更轻松一点,更注重这方便一些。


    数据评估主要是评估数据的质量和完整度。
    数据质量问题:1、数据丢失;2、数据无效;3、数据不准确;4、数据不一致,单位不同
    数据整洁度标准:1、每个变量构成一列;2、每个观察结果构成一行;3、每种类型的观察单位构成一个表格。


    评估的方法:目测评估(小样本)、编程评估
    使用.head显示DataFrame前5行
    使用.tail显示DataFrame最后5行
    显示.info显示DataFrame基本摘要
    使用.value_counts显示年份一栏的输入数
    df.Year.value_counts(),value_counts是用于series,不能用于dataframe.
    【数据清洗】
    编程数据清理过程分为3步:定义,代码,练习
    定义:指以书面形式定义数据清洗计划,其中我们需将评估转变为定义的清洗任务。这个计划也可作为一个知道清单,所以其他人(或我们自己将来)也可以回顾和重现自己的工作。
    编码:指将这些定义转换为代码并执行该代码。
    练习:指练习我们的数据集,通常使用代码,以确保有效完成我们的清洗工作。


    • 在清洗之前先准备副本
    df_clean = df.copy()
    • 重命名列标题
    df_clean = df_clean.rename(columns = {'oldname1':'newname1',
                                          'oldname2':'newname2'})
    • 内容不一致问题
    df_clean = pandas.series.replace(to_replace=None,value=None,inplace=False,limit=None,regex=False,method='pad',axis=None)
        * 用"value"或第二个参数替换“to_replace”中给出的值-即第一个参数
        * inplace的默认值为假,我们要将它转换成True.inplace真值是指我们只能在这里写这行代码,并执行这行代码,它所产生的变化将反应在df_clean中,如果这里没有inplace真值,我们就必须将次函数的结果重新赋给Startdate
    展开全文
  • 数据整理——大数据治理的关键技术 作者:杜小勇,陈跃国,范举,卢卫(中国人民大学信息学院) 期刊:大数据 时间:2019.05.15 引用格式:杜小勇,陈跃国,范举,卢卫.数据整理——大数据治理的关键技术[J].大数据,...
  • excel数据整理 我们在日常工作中经常会碰到excel自带公式无法解决的问题,在面对大量数据需要整理计算的时候会消耗大量的时间,如果你了解vba的一些技巧,就可以减少很多工作量。本篇文章将会带你进入一个简单、易懂...
  • 用R进行数据整理

    千次阅读 2018-04-03 21:14:40
    数据加工或数据整理占用数据科学家或数据分析员大量的时间,而 tidyr 和 dplyr 两种 R 包可使 R 中的这些任务更加简单。 tidyr - 用于重塑数据布局的包 dplyr - 用于帮助转换整洁的表格数据的包 查看 R 语言内的...
  • 数据分析之Power BI Desktop数据整理

    万次阅读 2018-10-31 20:30:02
    数据导入Power BI Power BI中的模型关系 新建度量值及调整度量值 新建列 输入数据 新表(链接回表) SUMMARIZE函数 把其他表的字段调取&汇整到新表引用 公式:SUMMARIZE(表,Gro...
  • 省市区县三级数据 json 格式数据,mysql 导入数据下载 element 级联菜单地理数据 下载 iview 级联菜单 地理位置数据下载
  • 整理过的全国省市区乡村五级联动数据整理表,xls格式,各位无需再整理,直接导入数据库就可以了,总共有11个文件,693337条数据。
  • 数据分析-数据清洗与整理

    千次阅读 2019-09-11 16:06:25
    1.数据清洗 第一步:对异常值进行处理 首先,查看原数据库是否一样; 然后,查询是否信息录入时出现错误; 最后,看看是不是顾客随意填写的信息 第二步:对离群值进行处理 首先,查询是否与原数据库一致; 然后,...
  • 深度学习中大数据整理问题

    千次阅读 热门讨论 2016-06-14 20:46:39
    这段时间一直在整理数据用于训练,但是从网上找到的数据集往往很凌乱,不能满足使用要求。这些数据集少则几万,多则几十万几百万。如果手动去整理这些数据集无疑是一个繁重的工作,甚至无法去做! 这个时候则需要...
  • 数据科学 IPython 笔记本 7.2 数据整理

    万次阅读 2019-01-13 21:50:34
    7.2 数据整理 原文:Data Wrangling 译者:飞龙 协议:CC BY-NC-SA 4.0(原文协议:Apache License 2.0) 数据流 直接从 GitHub 挖掘数据,Viz由 GitHub API 提供支持,并利用以下内容: 通过 Python 使用github...
  • 数据分析|数据整理&展示

    千次阅读 2019-10-31 18:25:23
    展示基本都是理论~目录数据预处理品质数据整理与展示数值型数据整理与展示数据展示数据预处理数据审核:(检查数据中的错误)原始数据(完整性审核,准确性审核)二手数据(适用性审核,时效性审核,确认是否必要....
  • Excel教程:如何快速整理数据

    千次阅读 2019-07-02 14:53:59
    不知道大家平时整理数据是使用什么样的方法,我经常需要整理一些网络数据,网络数据整理一直是个难题,导出的网络数据要不是单列的,要不就是有一些特殊符号,都需要整理后才能使用,这不,领导让小红把后套导出的...
  • 行人数据集二、数据整理1. 统一格式2. 错误数据清除3. 相似图去重4. 数据预处理5. 数据标注三、数据增强1. 数据增强定义2. 有监督的数据增强(1)单样本数据增强(2)多样本数据增强(以插值、混淆的方式)3. 无...
  • 南方数据整理加工引擎SME

    千次阅读 2012-11-29 21:18:03
    南方数据整理加工引擎SME ... SME是南方数据整理加工引擎的简称,是一款由广东南方数码科技有限公司设计研发的,具体独立自主知识产权的信息化测绘软件。本软件为广大测绘行业用户提供数据质量检查和整
  • 公开数据集网站整理

    千次阅读 2020-11-10 15:12:45
    1.格物钛https://www.graviti.cn/open-datasets
  • UCI数据集大全,上学期间整理

    热门讨论 2012-12-01 13:21:11
    很全的UCI数据集,希望能帮到您,欢迎下载。上学期间整理的,用于做分类聚类等。欢迎您的下载与使用,时间很久了,谢谢网友的评论
  • 统计学原理 品质数据整理与展示

    千次阅读 2020-05-08 18:51:47
    数据整理与显示(基本问题) 要弄清所面对的数据类型 不同类型的数据,采取不同的处理方式和方法 对分类数据和顺序数据主要是作分类整理 对数值型数据则主要是作分组整理 适合于低层次数据整理和显示方法也适合...
  • 【python数据分析】-数据清洗与整理

    千次阅读 多人点赞 2019-03-04 15:00:24
    python数据分析-数据清洗与整理 又开始我的好好学习之旅,这周学习数据分析,居老师日常动力! 今天要学pandas数据清洗、合并、重塑以及字符串处理 1.数据清洗 处理缺失值 第一步:找出缺失值 主要通过 **is...
  • 这些数据分布在很多的Excel表格中。![图片](https://img-ask.csdn.net/upload/201604/30/1462018292_154317.jpg)
  • 用VBA整理EXCEL数据

    千次阅读 2015-10-11 16:59:13
    数据补全后,需要以表二的数据整理一下再导回到销售系统里。通过手工复制粘贴做了好长一段时间,觉得太麻烦了。通长都会有上百家店铺的数据需要补全,这个工作量也不小了。后来想了想通过VBA来完成这个简单却又枯燥...
  • 数值型数据整理与展示数据分组1. 组距分组 (要点)2. 组距分组 (步骤)3. 组距分组 (几个概念)数值型数据的图示1. 分组数据—直方图 (histogram)2. 未分组数据—茎叶图和箱线图3. 时间序列数据—线图 (line plot)4....
  • 1.2019新型冠状病毒疫情时间序列数据仓库https://lab.isaaclin.cn/nCoV/ https://github.com/NCP-VIS/DXY-2019-nCoV-Data 2.冠状病毒的地图,数据和时间表(2019-nCoV)https://the2019ncov.com ...
  • 新冠数据整理和简单分析(三)—— 使用Anylogic进行仿真实验简单介绍模型介绍SIRSEAIR-C 简单介绍 在上一篇文章中我试图使用Optuna的超参数拟合技术来求更复杂的SIR模型变种,但是遇到了数据无法观测的问题(潜伏期...
  • 脑电EEG各种数据整理

    千次阅读 2020-12-10 21:24:48
    ADHD多动症 听不同声音脑电数据 手部运动 还有癫痫等数据
  • Python数据分析实战-Pandas

    千人学习 2019-12-02 10:54:20
    本课程通过讲解Pandas基础知识、DataFrame核心分析方法,以一系列实操案例使你快速掌握数据获取,数据清洗与整理数据分析         pandas是在python最直接最流行的数据处理框架。可以这么说,...
  • TCGA数据下载及矩阵整理

    万次阅读 多人点赞 2019-12-24 16:43:36
    首先看一下文件类型,悬着数据处理方式及工作流程 看一下例子里面各种类型,有组织是什么,癌症项目。 点击进入购物车 下载所有文件点击cart 所有压缩文件合并到一个文件内 ###将所有压缩包移到一个名为files的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 778,667
精华内容 311,466
关键字:

数据整理