美文网首页
匿名打分还原模型

匿名打分还原模型

作者: 薛定谔的懒猫 | 来源:发表于2019-06-06 11:41 被阅读0次

记录一次数据建模的过程:背景是根据5名评委的匿名打分的加权结果反推出各自打分情况。

数据集:Y = \alpha X

数据集详细描述:y_i = \alpha_{ij}x_{ij}, i \in [1,12], j \in [1,5]

建模:

1、令同一评委的打分方差最小:f_1(X) = \sum_j^m \sum_i^n \frac{(x_{ij} - \overline {x_j})^2}{n} \rightarrow min, n = 12, m = 5

2、令所有评委对同一对象的打分方差最小:f_2(X) = \sum_i^n \sum_j^m \frac{(x_{ij} - \overline{x_i})^2}{m} \rightarrow min, n = 12, m = 5

3、加权求最优解:F(X) = \alpha f_1(X) + \beta f_2(X) \rightarrow min

# coding:utf-8
import numpy as np
from sklearn import tree

p = [100,97,94,91]
score = [97.6, 97.6, 97.3, 99.4, 96.1, 97.6, 99.4, 96.7, 97.6, 96.1, 98.2, 96.55]
# [hong,xiong,zhuang,wang,zhang]
alpha = [[0.4, 0.1, 0.1, 0.3, 0.1],# MM
   [0.4, 0.1, 0.3, 0.1, 0.1],# RCS
   [0.4, 0.1, 0.1, 0.3, 0.1],# Cloud
   [0.4, 0.1, 0.3, 0.1, 0.1],# Platform
   [0.4, 0.1, 0.1, 0.3, 0.1],# Market
   [0.4, 0.3, 0.1, 0.1, 0.1],# RD
   [0.4, 0.1, 0.3, 0.1, 0.1],# System
   [0.4, 0.3, 0.1, 0.1, 0.1],# Quality
   [0.4, 0.1, 0.1, 0.3, 0.1],# General
   [0.4, 0.3, 0.1, 0.1, 0.1],# Finance
   [0.4, 0.15, 0.15, 0.15, 0.15],# HR
   [0.4, 0.15, 0.15, 0.15, 0.15]# Party
]

get_raw_scores = lambda p,score,alpha: [[i+1,score[i],[x for x in [[x1,x2,x3,x4,x5] 
    for x1 in p for x2 in p for x3 in p for x4 in p for x5 in p] 
    if score[i] == np.dot(alpha[i],x)]] 
    for i in range(len(score))]

def make_X(X, x, raw_scores, i):
    x_i = raw_scores[i][2]
    if i == len(raw_scores) - 1:
        for x_i_j in x_i:
            new_x = x + [x_i_j]
            X.append(new_x)
    else:
        for x_i_j in x_i:
            new_x = x + [x_i_j]
            make_X(X, new_x, raw_scores, i+1)

def get_y1(raw_scores,X_set):
    y1_set = []
    for X in X_set:
        X1 = np.array(X)
        XT = X1.T
        x_j = []
        y1 = 0
        for XT_j in XT:
            x_j.append(np.average(XT_j))
        for j in range(5):
            y1_j = 0
            for i in range(12):
                y1_j += np.power((X[i][j] - x_j[j]),2) / 12
            y1 += y1_j
    y1_set.append(y1)
    return y1_set

def get_y2(raw_scores,X_set):
    y2_set = []
    for X in X_set:
        y2 = 0
        for i in range(12):
            y2_i = 0
            x_i = np.average(X[i])
            for j in range(5):
                y2_i += np.power((X[i][j] - x_i,2) / 5
            y2 += y2_i
    y2_set.append(y2)
    return y2_set

raw_scores = get_raw_scores(p, score, alpha)
# X_set = []
# make_X(X_set, [], raw_scores, 0)

相关文章

  • 匿名打分还原模型

    记录一次数据建模的过程:背景是根据5名评委的匿名打分的加权结果反推出各自打分情况。 数据集: 数据集详细描述: 建...

  • 产品打分模型

    总结了一个产品打分的模型,复盘了很多产品下来越来越准了。产品成功最核心是”方向正确”和“天时地利人和”(传说的运气...

  • 怎么做决策

    筛选关键决策模型 优劣模型 加权打分模型 两难决策模型 tcr分析结果模型 必要优生模型 其实今天学习的5种决策模...

  • 语言模型

    模型:可以量化,可以打分。 语言模型 概率语言模型(统计语言模型) 用处示例:输入法、机器翻译、语音识别等。 N-...

  • 匠人馆 | StudsonStudio ·用废旧垃圾还原“哈尔的

    匠人馆 | StudsonStudio ·用废旧垃圾还原“哈尔的移动城堡”模型 模型玩家StudsonStudio...

  • xgboost 原理个人理解解读

    目前推荐排序线上模型采用基于xgboost得打分模型,来实现个性化的推送,现就模型得原理部分进行梳理 https:...

  • 数据持久化之NSUserDefaults

    能将内存中的数据模型转换为存储模型,并能在将来需要时将存储模型还原为数据模型的机制。 NSUserDefaults...

  • 比特币真的匿名吗?

    一、比特币匿名吗? 我们都知道比特币所谓的“匿名”特点主要来自于两个方面:1)通过哈希地址无法还原交易人身份。2)...

  • 具身认知: 自律打分模型。

    具身认知:你当下的心理状态,极大的取决于你所处空间的身体状态。 根据具身认知的决定了心理状态的时间,空间,身体状态...

  • 为什么我在3dmax打开模型,家具都是小方块?

    为什么我在3dmax打开模型,家具都是小方块?? 回答: 可以使用外部参照对象(合并到场景中)还原模型,模型也可转...

网友评论

      本文标题:匿名打分还原模型

      本文链接:https://www.haomeiwen.com/subject/cpvyxctx.html