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
列转换为1
和FALSE
到0
(或分别为True
或False
)。
要将 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 指定您自己的距离函数?