在不使用分析服务的情况下将一组具有离散和连续数据值的数据分成两组?
Posted
技术标签:
【中文标题】在不使用分析服务的情况下将一组具有离散和连续数据值的数据分成两组?【英文标题】:Segmenting a set of data with discrete and continuos data values into one of two groups without using analysis services? 【发布时间】:2011-03-18 19:41:48 【问题描述】:假设我有一个具有以下方案的表(注意:此示例是假设的,尽管实际用例相似)。
Type | Name | Notes
=====================================================================================
Gender | Gender | Either Male or Female (not null)
GeoCoord | Location | Lattitude and longitude coordinates
string | FullName |
Date | BirthDate |
bool? | LikesToParty | Data from a survey (null for people who didn't answer)
手动查看数据我知道 LikesToParty 与其他值的某些特定配置之间存在很强的相关性。例如,中间名为 Wells、年龄在 15 到 30 岁之间、来自洛杉矶地区的男性几乎可以肯定在 LikeToParty 中是这样的。我想为未回答调查的用户预测 LikesToParty 的价值。
如何使用 C# 挖掘这些数据,而无需购买分析服务等昂贵的软件包?有免费的 c# 库吗?
我已经制作了一个神经网络,它能够完成我在上面的示例中描述的大部分内容,但是它的训练速度非常慢,而且我不确定这是否是正确的方法。也许有更好、更高效的数据分割方法?
【问题讨论】:
相关问题:***.com/questions/1624060/… 相关,但不一样……其实我是用AForge来实现我的神经网络的。 【参考方案1】:由于您同时使用离散数据和连续数据,您可能会使用决策树(C4.5,CART)。他们有一些实现的库;不要提防 Java 库,因为您可以使用 Java 的 IKVM 实现。例如,我使用了 C# 中的 Weka API。
【讨论】:
我会试一试,看看效果如何。感谢您的回复。 +1 for Weka,这使得尝试一堆学习算法变得容易。 weka.wikispaces.com/Use+WEKA+with+the+Microsoft+.NET+Framework 我认为 Weka 是要走的路...谢谢!【参考方案2】:您描述的是机器学习中的一个标准问题,称为:数据分类。
数据分类的方法包括:神经网络(如您提到的)、支持向量机(例如,参见 LIBSVM)、决策树(如上一个答案中所述)。这些类型的方法的输出虽然非常准确,但可能难以解释。您还可以查看诸如贝叶斯网络之类的概率图形模型,以回答更深层次的问题,例如:喜欢聚会的南加州男性 20 多岁的概率是多少。
【讨论】:
+1 以获得更广阔的视野。然而,神经网络对分类特征不是那么友好。例如,参见linkedin.com/… 的答案以上是关于在不使用分析服务的情况下将一组具有离散和连续数据值的数据分成两组?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用角度的ng的情况下将输入值从父组件传递给子组件?
如何在不重新初始化当前帧内容的情况下将一帧的内容加载到另一帧