Clustering Scikit - 将业务数据转换为机器学习输入数据

Posted

技术标签:

【中文标题】Clustering Scikit - 将业务数据转换为机器学习输入数据【英文标题】:Clustering Scikit - Convert Business Data to machine learning input data 【发布时间】:2016-09-02 01:24:47 【问题描述】:

我是数据科学领域的新手,我正在尝试了解有关机器学习结果的概念。我已经开始使用 scikit - clustering 示例。到处都有使用 scikit 库的文档。但是所有的例子都假设有现成的数值数据。

现在数据科学家如何将业务数据转换为机器学习数据。举个例子,这是我准备的客户和销售数据..

第一张图片显示了客户数据,其中一些参数具有整数、字符串和布尔值

第二张图显示了这些客户的历史销售数据。

现在如何将如此真实的业务数据转换为提供给机器学习算法?如何将每个数据转换为算法可以理解的公因子?

谢谢 克

【问题讨论】:

【参考方案1】:

从技术上讲,有很多方法,例如 one-hot 编码、标准化和进入日志空间以获取倾斜属性。

但问题只是技术性质的。

找到一种方法是不够的,但您需要找到一种非常适合解决您的问题的方法。这通常因问题而异。没有“交钥匙解决方案”。

【讨论】:

谢谢@Antony-Mousse。有什么地方可以阅读这些技术吗?可能有一些例子?我知道这是一个复杂的话题,需要一些经验来做到这一点..【参考方案2】:

除了@Anony-Mousse 的评论,您可以将 Won/Lost 列转换为值 1、0(例如,1 代表 Won,0 代表 Lost)。对于Y 列,假设您在该列中有3 个唯一值,您可以将A 转换为[1, 0, 0]B[0, 1, 0]C[0, 0, 1](称为单热编码) .在Z 列上相同,您可以将TRUE 列转换为1FALSE0(或分别为TrueFalse)。

要将 2 个表格或 excel 文件合并在一起,您可以使用名为 pandas 的附加库,它允许您将两个数据框合并在一起,例如df1.merge(df2, on='CustID', how='left')。现在,您可以将您的功能集正确地用于 scikit 学习。

【讨论】:

谢谢!我给出的例子是一个随机的。在一个真实的总线系统中,我有很多这样的特性,在它被输入到 scikit 之前需要翻译成这些特性。有没有我可以学习这些技巧的起点? 我会说它是书籍和代码文档的混合组合。我最喜欢的机器学习书籍是 Bishop 的模式识别和机器学习。阅读后,您将了解一些基本的机器学习术语,现在可以在 Google 或文档上进行搜索。文档方面,如果我想做one-hot encoding,我会直接去scikit learn的页面scikit-learn.org/stable/modules/generated/…看。很多很好的例子也在像 Kaggle 这样的网站上,人们在那里解决机器学习问题:)

以上是关于Clustering Scikit - 将业务数据转换为机器学习输入数据的主要内容,如果未能解决你的问题,请参考以下文章

scikit-learn 中的 SpectralClustering 与 Spectral_clustering

scikit learn kmeans clustering中参数'verbose'的定义是啥

是否可以使用 scikit-learn K-Means Clustering 指定您自己的距离函数?

是否可以使用 scikit-learn K-Means Clustering 指定您自己的距离函数?

Scikit-learn kmeans 聚类

Python---scikit-learn(sklearn)模块