精华内容
下载资源
问答
  • 几种常见的转换数据类型的方法

    千次阅读 2018-08-15 12:19:01
    后台各种数据强转: Convert. 前台数据转int : parseInt()

    后台各种数据强转: Convert.

    前台数据转int : parseInt()

    展开全文
  • 常用的5种数据分析方法有哪些?

    千次阅读 2021-01-06 08:07:43
    常用数据分析方法有5。 1.对比分析法 对比分析法指通过指标的对比来反映事物数量上的变化,属于统计分析中常用的方法。常见的对比有横向对比和纵向对比。 横向对比指的是不同事物在固定时间上的对比...

    常用的数据分析方法有5种。

    常用的5种数据分析方法有哪些?

     

    1.对比分析法

    常用的5种数据分析方法有哪些?

     

    对比分析法指通过指标的对比来反映事物数量上的变化,属于统计分析中常用的方法。常见的对比有横向对比和纵向对比。

    横向对比指的是不同事物在固定时间上的对比,例如,不同等级的用户在同一时间购买商品的价格对比,不同商品在同一时间的销量、利润率等的对比。

    纵向对比指的是同一事物在时间维度上的变化,例如,环比、同比和定基比,也就是本月销售额与上月销售额的对比,本年度1月份销售额与上一年度1月份销售额的对比,本年度每月销售额分别与上一年度平均销售额的对比等。

    利用对比分析法可以对数据规模大小、水平高低、速度快慢等做出有效的判断和评价。
     

    2.分组分析法

    分组分析法是指根据数据的性质、特征,按照一定的指标,将数据总体划分为不同的部分,分析其内部结构和相互关系,从而了解事物的发展规律。根据指标的性质,分组分析法分为属性指标分组和数量指标分组。所谓属性指标代表的是事物的性质、特征等,如姓名、性别、文化程度等,这些指标无法进行运算;而数据指标代表的数据能够进行运算,如人的年龄、工资收入等。分组分析法一般都和对比分析法结合使用。
     

    3.预测分析法

    预测分析法主要基于当前的数据,对未来的数据变化趋势进行判断和预测。预测分析一般分为两种:一种是基于时间序列的预测,例如,依据以往的销售业绩,预测未来3个月的销售额;另一种是回归类预测,即根据指标之间相互影响的因果关系进行预测,例如,根据用户网页浏览行为,预测用户可能购买的商品。
     

    4.漏斗分析法

    漏斗分析法也叫流程分析法,它的主要目的是专注于某个事件在重要环节上的转化率,在互联网行业的应用较普遍。比如,对于信用卡申请的流程,用户从浏览卡片信息,到填写信用卡资料、提交申请、银行审核与批卡,最后用户激活并使用信用卡,中间有很多重要的环节,每个环节的用户量都是越来越少的,从而形成一个漏斗。使用漏斗分析法,能使业务方关注各个环节的转化率,并加以监控和管理,当某个环节的转换率发生异常时,可以有针对性地优化流程,采取适当的措施来提升业务指标。
     

    5.AB测试分析法

    AB 测试分析法其实是一种对比分析法,但它侧重于对比A、B两组结构相似的样本,并基于样本指标值来分析各自的差异。例如,对于某个App的同一功能,设计了不同的样式风格和页面布局,将两种风格的页面随机分配给使用者,最后根据用户在该页面的浏览转化率来评估不同样式的优劣,了解用户的喜好,从而进一步优化产品。

    除此之外,要想做好数据分析,读者还需掌握一定的数学基础,例如,基本统计量的概念(均值、方差、众数、中位数等),分散性和变异性的度量指标(极差、四分位数、四分位距、百分位数等),数据分布(几何分布、二项分布等),以及概率论基础、统计抽样、置信区间和假设检验等内容,通过相关指标和概念的应用,让数据分析结果更具专业性。

    本文摘自《机器学习测试入门与实践》

    常用的5种数据分析方法有哪些?

     

    本书全面且系统地介绍了机器学习测试技术与质量体系建设,分为5部分,共15章。第一部分(第1~4章)涵盖了机器学习、Python编程、数据分析的基础知识;第二部分(第5~7章)介绍了大数据基础、大数据测试指南及相关工具实践;第三部分(第8~10章)讲解了机器学习测试基础、特征专项测试及模型算法评估测试;第四部分(第11~13章)介绍了模型评估平台实践、机器学习工程技术及机器学习的持续交付流程;第五部分(第14章和第15章)探讨了AI(Artificial Intelligence)在测试领域的实践及AI时代测试工程师的未来。

    本书能够帮助读者了解机器学习是如何工作的,了解机器学习的质量保障是如何进行的。工程开发人员和测试工程师通过阅读本书,可以系统化地了解大数据测试、特征测试及模型评估等知识;算法工程师通过阅读本书,可以学习模型评测的方法和拓宽模型工程实践的思路;技术专家和技术管理者通过阅读本书,可以了解机器学习质量保障与工程效能的建设方案。

    展开全文
  • 本文比较了用于数据准备的几种方法,它们分别是提取-变换-加载批处理(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)。他经常在其博客网站上撰写关于新技术的博客、文章和会议演讲。

    展开全文
  • C#的几种数据类型之间的转换方法的整理 fool me once, shame on you ; fool me twice,shame on me; 1、(int)变量名[强制类型转换] 该转换方式多用于数字类型的转换从int转到long、duoble、float、decimal的转换...

    C#的几种数据类型之间的转换方法的整理

    fool me once, shame on you ; fool me twice,shame on me;

    1、(int)变量名[强制类型转换]

    该转换方式多用于数字类型的转换从int转到long、duoble、float、decimal的转换可以使用隐

    式转换,而从long转换到int就需要使用显示转换了,也就是该类型的转换方式。该类型的转换方式对于

    浮点数会无条件的舍去,失去精度。

    最后切忌的一点,千万不要用来处理char类型到int类型的转换,否则传回的的值是ASCII代码,

    而并不是你想要的值。

    2、int.Parse(string类型变量名)

    我们常见的用法:public static int.Parse(string).

    如果这里的string 为空的话,则系统将会抛出空指针的异常(ArgumentNullException);

    如果这里的string格式不正确,系统也会在这里抛出异常(FormatException);

    使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围 之内。

    3、 int.TryParse(string s, out int result)

      该方式也是将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出
    

    现异常。如果转换成功返回 true,如果转换失败返回 false。很明显,最后一个参数为输出值,如果转换

    失败,输出值为 0;如果转换成功,则输出相应的值。

    4 Convert.ToInt32

    该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或

    string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,

    在转型成int时,仍会造成程序错误。 该方式对于浮点数会做四舍五入。

    该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。

    展开全文
  • 浅谈《软件工程》常用几种软件开发方法

    千次阅读 热门讨论 2020-10-06 21:27:12
    目前常用的开发方法有,分别是结构化方法、原型法和面向对象方法。接下来我们会一一叙述这些软件开发方法的实现过程和其中的特点以及优缺点。 结构化方法 结构化方法:结构化方法是应用最为广泛的一开发...
  • java 中几种常用数据结构

    千次阅读 2017-10-17 09:25:13
    中)java中有几种常用数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。其主要的关系(继承关系): (----详细...
  • RestTemplate几种常用方法说明(转)

    万次阅读 2018-06-17 22:48:49
    主要从以下四个方面来看RestTemplate的使用: GET请求 POST请求 PUT请求 DELETE请求 ...getForEntity方法的返回值是一个ResponseEntity&lt;T&gt;,ResponseEntity&lt;T&gt;是Spring...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    从图1中可以看到,笔者系统中可以使用的Shellbash(缺省)、csh、sh、tcsh四。 exit 1.作用 exit命令的作用是退出系统,它的使用权限是所有用户。 2.格式 exit 3.参数 exit命令没有参数,运行后退出系统...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言哪些...Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java哪些数据类型switc...
  • 常用数据清洗方法大盘点

    万次阅读 多人点赞 2018-08-22 17:03:30
    所谓的数据清洗,也就是ETL处理,包含抽取Extract、转换Transform、加载load这三大法宝。在大数据挖掘过程中,面对的至少是G级别的数据量,包括用户基本数据、行为数据、交易数据、资金流数据以及第三方的数据等等。...
  • 数据预处理的几种方法

    千次阅读 2020-02-08 08:30:00
    3.2 数值型转换成类别 3.3 数值的二值化 4、类别型 4.1独热编码(one-hot encoding) 4.2哑编码(dummy encoding) 4.3Histogram映射 5、时间型 6、文本型 6.1 词袋 6.2 把词袋中的词扩充到n-gra...
  • java的基本数据类型 mysql 的blob类型转换string HashMap<String,Object> map = list.get(i); if(map.get("content") !=null && map.get("content") !=""){ byte[] _byte = (b...
  • 数据集成

    万次阅读 2018-05-13 21:16:32
    透明的方式是指用户无需关心如何实现对异构数据数据的访问,只关心以何方式访问何种数据数据集成难点: ( 1 ) 异构性: 被集成的数据源通常是独立开发的, 数据模型异构, 给集成带来很大困难。这些异构性主要...
  • 在学习ICA算法的过程中,了解到常常需要对数据进行降维,如PCA,FA等,以达到数据预处理的效果,因此查阅相关资料,在这里对数据降维的几种常见方法进行归纳、梳理。 数据降维就是降低数据的维度,达到增加样本密度...
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 什么区别? JDK:Java ...
  • 语音识别是完成语音到文字的转换。自然语言理解是完成文字到语义的转换。语音合成是用语音方式输出用户想要的信息,用语音实现人与计算机之间的交互,主要包括语音识别、自然语言理解和语音合成。 相对于机器翻译,...
  • Python爬虫常用几种数据提取方式

    千次阅读 2018-06-25 12:30:48
    python爬虫的几种数据提取方式:正则 ,bs4,pyquery,xpath,cssselector。一,正则提取数据步骤:创建正则对象--&gt;匹配查找--&gt;提取数据保存&lt;html&gt; &lt;div&gt;&lt;a href=...
  • 几种电平转换电路

    千次阅读 多人点赞 2021-03-11 00:57:51
    在电路设计时,有时会遇到电压域不匹配的问题,如芯片为1.8V供电,而MCU为3.3V供电。这时候就需要进行电平转换才能通讯。今天就来介绍几种常用的电平转换电路。二/三极管单向电平转换一些通...
  • 常用数据校验方法

    千次阅读 2018-06-11 16:26:57
    1.什么是数据校验&nbsp; 通俗的说,就是为保证数据的完整性,用一指定的算法对原始数据计算出的一个...实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准...
  • JavaScript哪些数据类型和常用方法

    千次阅读 2019-01-19 22:58:42
    这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见...【 JavaScript哪些数据类型和常用方法】 1.背景介绍: JavaScript:是脚本语言。是一轻量级的编程语言。它是可插入HTML页面的编程代...
  • 种方法实现图像数据集降维

    万次阅读 多人点赞 2021-04-15 22:52:28
    本项目将依托于MNIST数据集,手把手实现图像数据集降维。
  • 几种常用的特征选择方法

    万次阅读 2018-06-26 15:55:50
    特征选择主要两个功能:减少特征数量、降维,使模型泛化能力更强,减少过拟合增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我们经常不管三七二十一,选择...
  • ⑴神经网络方法   神经网络由于本身良好的鲁棒性、自组织自适应性、并行处理、分布存储和高度容错等特性非常适合解决数据挖掘的问题,因此近年来越来越受到人们的关注。典型的神经网络模型主要分3大类:以感知机、...
  • 数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据...以下是两种常用的归一化方法:一、min-max标准化(Min-Max Normalization)也称为离差标...
  • C语言中的数据类型及其转换详解

    千次阅读 2018-09-15 18:49:18
    1. C语言中的数据类型  C语言中的类型按其组成可以分为简单类型和构造类型,按是否预定义了类型名字和值集可以分为基本类型和非基本类型,按是否加了类型限定符可以分为限定类型和非限定类型。  ANS
  • Java中几种常用数据类型之间转换方法: 1. short-->int 转换 exp: short shortvar=0; int intvar=0; shortvar= (short) intvar 2. int-->short 转换 exp: short shortvar=0; int intvar...
  • 2020最新Java常见面试题及答案

    万次阅读 多人点赞 2019-10-26 15:53:35
    线程池中 submit()和 execute()方法有什么区别? 47.在 java 程序中怎么保证多线程的运行安全? 48.多线程锁的升级原理是什么? 49.什么是死锁? 50.怎么防止死锁? 51.ThreadLocal 是什么?有哪些使用场景? 52.说...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 396,024
精华内容 158,409
关键字:

常用数据转换方法有哪几种