得到两个对象通过参数的匹配百分比 [英] get match percentages between two objects by parameters

查看:123
本文介绍了得到两个对象通过参数的匹配百分比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个程序,将自动完成,我手动今天做的过程。 我很抱歉,如果该解决方案似乎很容易,我只是不想去想新的算法,专门为我的问题,因为我敢肯定有人已经想过这个问题。 我的情况是这样的: 我正在找工作的候选人名单,我有工作列表。 对于每一个候选,我知道,他正在寻找工作的以下要求。这样的:

I want to create a program that will automate a process that i am doing manually today. I apologize if the solution seems to be easy i just don't want to think about new algorithm specially for my problem because i am sure that someone already thought about it. My Scenario is this: I have candidates list that are looking for jobs and I have jobs list. For each candidate I know the following requirements of the job that he is searching for. like:

  1. 工资
  2. 作业的位置
  3. 在公司规模(大/小)

在手动过程中我做的是对那些应聘者的要求,参数之间匹配的作业的要求,参数和回归的工作,似乎适合的候选者(它没有成为一个完全匹配)。 当然,我正在考虑应聘者的要求是锦上添花或必须。

In the manual process what i do is to match between those candidate's requirements parameters to the job's requirements parameter and "return" the jobs that seems to fit to the candidate (it doesn't have to be a completely match). Of course i am considering candidate's requirement is "nice to have" or "must have".

我在寻找一种算法,返回每个考生每个职业之间的配合比例。 可有人请点我匹配算法是这样的任何名称。

I am searching for an algorithm that returns a fit percentage between each candidate to each job. Can someone please point me to a any name of matching algorithm like this.

感谢

推荐答案

我的建议是每一个对象转换为的向量在三维空间的,然后找到的两个向量之间的欧几里德距离的(对象)。

My advice is to convert every object to a vector in a 3-D space and then find the Euclidean distance between the two vectors (objects).

  • 首先,分配的工资 位置尺寸 X 的和以Z 的轴,分别。
  • 然后映射属性 [0,1] 轴的间隔。
  • First, assign salary, location and size to x, y and z axis, respectively.
  • Then map the properties to [0, 1] interval of the axis.

例如,如果你的分工资是1'000,以及最大的工资是10000,那么你将映射:

For example, if your min salary is 1'000, and max salary is 10'000, then you would map:

  • $ 1'000 - > 0上的 X 的轴,
  • $ 10,000 - > 1上的 X 的轴
  • $ 1'000 -> 0 on the x axis,
  • $ 10'000 -> to 1 on the x axis.

映射地点是很难的,但让我们说你有地图网格,您可以根据地理位置分配一个值到网格的每个补丁 - 接近的人有相似的价值观。例如,美国各州为我们提供了一个很好的例子:

Mapping locations is hard, but let's say you have a map grid, and you assign a value to each patch of the grid according to geo position - closer ones have similar values. For example, US states provide us with a good example:

  • 纽约 - > 1.0上的的轴,
  • 在新泽西 - > 0.99上的的轴,
  • ...
  • 加利福尼亚州 - > 0.1上的的轴
  • New York -> 1.0 on the y axis,
  • New Jersey -> 0.99 on the y axis,
  • ...
  • California -> 0.1 on the y axis.

地图公司规模是这样的:

  • 开机 - > 0.2上的以Z 的轴,
  • ...
  • 跨国公司 - > 1.0上的以Z 的轴
  • start-up -> 0.2 on the z axis,
  • ...
  • multinational -> 1.0 on the z axis.

所以,举个例子:约翰·想要的9.000的薪水,希望在纽约的工作,并希望在一家初创公司工作。他在三维空间向量将 [0.82,1.00,0.1] 彼得·想要的5.500的薪水,希望在新泽西州工作,并希望在一个真正的大公司上班 - [0.5,0.99,0.8] 。而在去年,迈克要工资的8.000,在加利福尼亚州工作,和初创太 - [0.73,0.1,0.1]

So, to give an example: John wants a salary of 9.000, wants a job in New York, and wants to work in a start-up company. His vector in 3D space would be [0.82, 1.00, 0.1]. Peter wants a salary of 5.500, wants a job in New Jersey, and wants to work in a really big company - [0.5, 0.99, 0.8]. And at last, Mike wants a salary of 8.000, a job in California, and a start-up too - [0.73, 0.1, 0.1].

根据式为在三维空间中的欧几里得距离:

According to formula for Euclidean distance in 3D space:

d(a, b) = sqrt((a1-b1)^2 + (a2-b2)^2 + (a3 - b3)^2)

Distance between John and Peter is: d(J, P) = 0.77
Distance between John and Mike is:  d(J, M) = 0.90

所以得出的结论将是约翰和彼得是比约翰和迈克密切。

So the conclusion would be that John and Peter are closer than John and Mike.

还有一件事,你可以做的是带来一些常量各轴来强调它(位置不是公司规模更重要,例如)的重要性,所以公式,你可以这样做的:

One more thing you could do is to bring in some constants to each axis to emphasize the importance of it (location is more important than company size, for example) so in the formula you could do something like:

d(a, b) = sqrt((a1-b1)^2 + (C*a2 - C*b2)^2 + (a3 - b3)^2), where C = 10

这篇关于得到两个对象通过参数的匹配百分比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆