标签: modeling

如何在代码中建模多对多关系?

假设我在数据库中有2个表.例如:Dog&Boss这是一个多对多的关系,因为老板可以拥有超过1只狗,而一只狗可以有超过1只拥有者.我是Bobby的老板,但我的妻子也是.

但是很多人不被允许,所以有一个很好的帮助:DogsPerBoss

如何在代码中对此进行建模?

班老板可以拥有一系列狗.Class Dog可以拥有一系列老板. - >至少,这就是我的想法.也许有更好的解决方案?

辅助表中的额外数据怎么样?应该是de Boss级还是Dog级?例如:昵称(我叫狗"好孩子",我的妻子叫他"小狗")

我希望我的问题有点清楚吗?有什么最好的方法来实现这个目标是什么?你能给我一些参考吗?

ORM(如NHibernate)不是一个选项.

c# modeling many-to-many

28
推荐指数
3
解决办法
2万
查看次数

R中标准模型对象的关键组件和功能是什么?

我在R中实现了一个新的统计模型,它在我的沙箱中工作,但我想让它更标准.一个很好的比较是lm(),我可以采取模型对象和:

  • 应用该summary()功能
  • 提取模型的系数
  • 从拟合(训练)数据中提取残差
  • 更新模型
  • 应用该predict()功能
  • 适用plot()于预先选择的描述性图表
  • 从事许多其他类型的快乐

我查看了R手册,在线搜索,翻阅了几本书,除非我忽略了什么,否则我找不到一个关于应该进入新模型包的好教程.

虽然我最感兴趣的是完整的参考文献或指南,但我会将这篇文章重点放在一个包含两个组成部分的问题上:

  1. 通常期望在模型对象中有哪些关键组件?
  2. 什么是通常在建模包中实现的典型函数?

答案可以来自R Core(或包开发人员)的角度或从用户的角度来看,例如用户期望能够使用诸如汇总,预测,残差,系数之类的函数,并且通常期望在拟合模型时传递公式.

statistics modeling r

25
推荐指数
2
解决办法
1821
查看次数

在数据库中实现一致且全面的地址存储的最佳实践

是否有任何最佳实践(甚至标准)以一致和全面的方式在数据库中存储地址?

更具体地说,我认为在这个阶段有两种地址存储的情况:

  • 您只需要将地址与人,建筑物或任何项目(最常见的情况)相关联.然后一个带有文本列(address1,address2,zip,city)的平面表就足够了.这不是我感兴趣的情况.
  • 您想要对您的地址运行统计信息:特定街道或城市中的项目数量......然后您希望避免任何类型的拼写错误,并确保一致性.我的问题是关于这个特定情况下的最佳实践:建立一致地址数据库的最佳方法是什么?

特定国家的设计/解决方案将是一个很好的开端.

答案:这个问题似乎还没有完美答案,但是:

  • 正如汉克建议的那样,xAL是最接近出现的全球标准的东西.虽然看起来有点矫枉过正,但我​​不确定很多人会想要在他们的数据库中实现它......
  • 为了开始自己的设计(针对特定国家),Dave万国邮政联盟(UPU)网站的链接是一个非常好的起点.
  • 至于法国,地址有一个标准(非官方,但事实上的标准),其中有一个可爱的名字AFNOR XP Z10-011(仅限法语),并且必须付费.法国的UPU描述基于这一规范.
  • 我碰巧找到了瑞典的等效标准:SS 613401.
  • 在欧洲层面,已经做出了一些努力,产生了标准EN 14142-1.它可以通过CEN国家成员获得.

database standards modeling

24
推荐指数
2
解决办法
2万
查看次数

r公式比?公式有更好的参考吗?

在R中指定公式有许多冗余的,有时是冲突的方法.是否有一个全面而简洁的参考,用于将概念模型映射到R语法而不是?formula

我感兴趣的是一个全面的介绍,其中包括用于指定非线性公式和层次模型,如语法glm,lmer,gam,earth,包括(/)筑巢,randomfixed在混合模型的影响,并ste样条曲线,和其他流行的发现贡献包.

modeling r reference

24
推荐指数
1
解决办法
3131
查看次数

什么是最好的面向对象设计实践?

我没有发现任何这样的问题.

请发布您认为对于面向对象设计有用的规则.

oop modeling

21
推荐指数
3
解决办法
3万
查看次数

如何从PySpark中的spark.ml中提取模型超参数?

我正在修补PySpark文档中的一些交叉验证代码,并尝试让PySpark告诉我选择了哪个模型:

from pyspark.ml.classification import LogisticRegression
from pyspark.ml.evaluation import BinaryClassificationEvaluator
from pyspark.mllib.linalg import Vectors
from pyspark.ml.tuning import ParamGridBuilder, CrossValidator

dataset = sqlContext.createDataFrame(
    [(Vectors.dense([0.0]), 0.0),
     (Vectors.dense([0.4]), 1.0),
     (Vectors.dense([0.5]), 0.0),
     (Vectors.dense([0.6]), 1.0),
     (Vectors.dense([1.0]), 1.0)] * 10,
    ["features", "label"])
lr = LogisticRegression()
grid = ParamGridBuilder().addGrid(lr.regParam, [0.1, 0.01, 0.001, 0.0001]).build()
evaluator = BinaryClassificationEvaluator()
cv = CrossValidator(estimator=lr, estimatorParamMaps=grid, evaluator=evaluator)
cvModel = cv.fit(dataset)
Run Code Online (Sandbox Code Playgroud)

在PySpark shell中运行它,我可以得到线性回归模型的系数,但我似乎无法找到lr.regParam交叉验证程序选择的值.有任何想法吗?

In [3]: cvModel.bestModel.coefficients
Out[3]: DenseVector([3.1573])

In [4]: cvModel.bestModel.explainParams()
Out[4]: ''

In [5]: cvModel.bestModel.extractParamMap()
Out[5]: {}

In [15]: cvModel.params
Out[15]: [] …
Run Code Online (Sandbox Code Playgroud)

modeling cross-validation pyspark apache-spark-ml apache-spark-mllib

21
推荐指数
2
解决办法
1万
查看次数

动态数据模型

我有一个项目,在运行时需要特定对象的用户定义属性(让我们说这个例子中的人物对象).该项目将有许多不同的用户(1000 +),每个用户为他们自己的'Person'对象集定义他们自己的唯一属性.

(例如 - 用户#1将具有一组已定义的属性,这些属性将应用于此用户拥有的所有人对象.多达1000个用户,这是应用程序将使用的最低用户数.)这些属性将用于查询people对象并返回结果.

我认为这些是我可以使用的可行方法.我将使用C#(以及任何版本的.NET 3.5或4),并且有一个免费的统治:用于数据存储的内容.(我有mysql和mssql可用,虽然可以自由使用任何软件,只要它符合要求)

我的评估中是否遗漏了任何错误或做出了错误的假设?

在这些选择中 - 你会选择什么样的解决方案?

  1. 混合EAV对象模型.(使用常规关系模型定义数据库,并为Person表创建一个'property bag'表).

    缺点:每个/查询有很多连接.表现不佳.可以达到查询中使用的联接/表数量的限制.

    我已经敲了一个快速的样本,它有一个Subsonic 2.x'esqe接口:

    Select().From().Where  ... etc
    
    Run Code Online (Sandbox Code Playgroud)

    这会生成正确的连接,然后过滤+转动c#中返回的数据,以返回使用正确类型的数据集配置的数据表.

    我还没有加载测试这个解决方案.它基于Microsoft白皮书中的EA建议: SQL Server 2008 RTM文档用于性能和可伸缩性的语义数据建模的最佳实践

  2. 允许用户在运行时动态创建/更改对象的表.这个解决方案就是我认为NHibernate在使用动态属性时在后台做的事情,如下所述

    http://bartreyserhove.blogspot.com/2008/02/dynamic-domain-mode-using-nhibernate.html

    缺点:

    随着系统的增长,定义的列数将变得非常大,并且可能会达到最大列数.如果有1000个用户,每个用户的"人"对象有10个不同的属性,那么我们需要一个包含10k列的表.在这种情况下不可扩展.

    我想我可以允许每个用户使用一个人属性表,但是如果有1000个用户可以启动,那么应用程序中有1000个表加上另外10个用户.

    我不确定这是否可扩展 - 但似乎并非如此.如果我不对,请有人纠正我!

  3. 使用NoSQL数据存储区,例如CouchDb/MongoDb

    根据我的阅读,这些尚未在基于字符串的大型应用程序中得到证实,并且处于开发阶段的早期阶段.如果我在这次评估中不正确,有人可以告诉我吗?

    http://www.eflorenzano.com/blog/post/why-couchdb-sucks/

  4. 使用people表中的XML列来存储属性

    缺点 - 没有查询索引,因此需要检索和查询每一列以返回结果集,从而导致查询性能较差.

  5. 将对象图序列化到数据库.

    缺点 - 没有查询索引,因此需要检索和查询每一列以返回结果集,从而导致查询性能较差.

  6. berkelyDB的C#绑定

    从我在这里读到:http://www.dinosaurtech.com/2009/berkeley-db-c-bindings/

    Berkeley Db肯定证明是有用的,但正如Robert指出的那样 - 没有简单的界面.您的整个wOO包装器必须手动编码,并且所有索引都是手工维护的.它比SQL/linq-to-sql困难得多,但这是你为荒谬的速度付出的代价.

    似乎有很大的开销 - 但是如果有人能够提供关于如何在C#中维护索引的教程的链接 - 它可能是一个观众.

  7. SQL/RDF混合.奇怪我以前没想过这个.与选项1类似,但不是"属性包"表,只是XREF到RDF商店?查询将涉及两个步骤 - 查询RDF存储以查找正确属性的人员,返回人员对象,并在SQL查询中使用这些人员对象的ID来返回关系数据.额外的开销,但可能是一个观众.

c# database asp.net modeling semantics

19
推荐指数
1
解决办法
3775
查看次数

UML是一种编程语言吗?

UML可以用于自己编程计算机系统,没有支持的实现语言,例如直接到机器代码的图表(可能通过C或C++等),没有人工编码干预.

uml modeling model-driven-development

19
推荐指数
3
解决办法
6422
查看次数

序列图和协作图之间的差异

当我阅读UML规范上层结构时,有序列图并且有一个协作图所以,它们之间有什么区别

序列图和协作图?

uml modeling tool-uml

19
推荐指数
3
解决办法
9万
查看次数

域类图和设计类图之间有什么区别?

有人可以简要解释域类图和设计类图之间的区别吗?

我找到了雅虎答案的解释,但我发现它很混乱.

uml modeling

19
推荐指数
2
解决办法
6万
查看次数