1

假设我有一个具有以下方案的表(注意:此示例是假设的,尽管实际用例相似)。

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# 有免费的库吗?

我已经制作了一个神经网络,它能够完成我在上面的示例中描述的大部分内容,但是训练起来非常慢,我不确定这是否是正确的方法。也许有更好、更有效的数据分割方式?

4

2 回答 2

2

因为您同时使用离散数据和连续数据,所以您可能会使用决策树(C4.5,CART)。他们有一些实现的库;不要提防 Java 库,因为您可以使用 Java 的IKVM实现。例如,我使用了C# 中的Weka API。

于 2010-07-23T15:36:21.787 回答
2

您描述的是机器学习中的一个标准问题,称为:数据分类。

数据分类的方法包括:神经网络(正如你提到的)、支持向量机(参见例如 LIBSVM)、决策树(如上一个答案中提到的)。这些类型的方法的输出虽然非常准确,但可能难以解释。您还可以查看像贝叶斯网络这样的概率图形模型,以回答更深层次的问题,例如:来自南加州、喜欢聚会的男性 20 多岁的概率是多少。

于 2010-07-27T06:11:41.813 回答