精华内容
下载资源
问答
  • 大数据用户画像算法分析

    热门讨论 2015-03-19 11:48:44
    大数据相关的用户画像分析,很有知道意义,用户画像、大数据
  • 人物画像及“七步人物角色法”

    万次阅读 2017-10-16 11:55:28
    人物画像的主要目的是分析人物行为,最终为每个人物打上标签,以及该标签的权重 1.标签是对用户的社会属性、生活习惯、消费行为等进行进一步的抽象, 通过简单规则算法或者大数据技术对用户行为习惯的分析提取, ...

    人物画像的主要目的是分析人物行为,最终为每个人物打上标签,以及该标签的权重

       1.标签是对用户的社会属性、生活习惯、消费行为等进行进一步的抽象, 通过简单规则算法或者大数据技术对用户行为习惯的分析提取, 以及对用户简单直接的特征描述即用户标签, 标签的目的使我们简单、直观的了解用户的某些特征。
       2.权重代表指数,即目标在这以标签上的侧重值人物画像的核心在于给人物“打标签”,每一个标签通常是人为规定的特征标识,用高度精炼的特征描述一类人
    

    进行人物画像最重要的是数据,对于数据我们分为以下几类

     1.人物数据
        静态数据:人物相对固定的数据,例如身份证号,姓名,年龄,求学经历等
        动态数据:人物的行为操作的记录,出于对象主观意识进行的选择
     2.被选择对象数据:用于记录可供人物对象选择操作的对象(即主谓宾中的宾语)的特征的属性
        主观数据:被选择对象的固有属性
        客观数据:被选择对象的客观印象、分类等
     3.when/where数据
        用于记录何时、何地(或通过何种途径)获得的该数据,用于标识此条数据的重要程度
     4.人物厌恶数据
        用于记录人物对象明确表示厌恶或禁止的数据
    

    用户画像的步骤——“七步人物角色法”

    1. 发现并确认模型因子 典型用户集群的行为变量集合(例:活动[频率和工作量] 态度[如何看待 生活必须?提高效率?消遣娱乐打发时间?] 能力[受教育和培训程度 自我学习能力] 技能[在什么领域使用的产品 有哪些使用技巧和特殊技能])
    2. 访谈目标用户 将访谈对象和行为变量一一对应,定位到某个范围的精确点(20%重价格 20%重功能 60%重品牌 其中A用户就是这60%的大多数) 将用户进行四象限分类,不同类型的用户看重的产品侧重点和比例不同
    3. 识别行为模式在多个行为变量上看到相同的用户群体→同一类用户群体的显著行为模式若模式有效,那行为变量和用户角色就有逻辑关系/因果关系(爱听音乐的人会购买高质量耳机)
    4. 确认用户特征和目标 用户特征:从数据出发,综合考虑细节,描述潜在使用环境、使用场景和当前产品的不足、用户不满等(对一两个典型形象进行刻画,可视化人物角色,如姓名 年龄 特征)目标:初级目标——有用 体验目标 人生目标【生活目标 隐形目标[自我实现] 炫耀】
    5. 检查完整性和重复(检查人物和行为模式的对应关系 是否存在重要缺漏 是否缺少重要的典型人物 是否缺少重要的行为模式 确保人物角色和行为模式的独特性和差异性)
    6. 描述典型场景下用户的行为(表述模型:虚拟事件和用户的反应 介绍用户角色,简略勾画关注点、兴趣爱好以及工作生活中与产品的直接关系) 传达情感化信息 同理心感受用户  
    7. 指定用户类型(对所有用户角色进行优先级排序→首要设计对象)【典型用户、次要用户、补充用户、负面人物角色即非目标用户】

    【描述方法:关键词法 列表法 卡片法】
      1、 关键词法——将用户特质标签化,用关键词记录用户的信息、喜好、态度、行为等
      优:直观简单、便于归类统计、赋予关键词权重(大/小标签)→不同的人物角色合集
      缺:缺乏逻辑关联性,无法逻辑的表达出用户角色和行为的关系,易出现缺漏和重复,不能建立起行为和人物的关系。
      2、 列表法——最常用的描述方法,但不易在用户与用户之间进行横向比较,较难对用户角色排序,较难分清主要和次要角色
      3、 卡片法——将用户标签写出来,让团队成员进行横向/纵向排序
      项目需求迅速达成一致
      让团队形成UCD的思路和流程 将用户模型和用户画像引入产品设计的方方面面
      避免用户画像的以下错误:
      1. 典型用户≠用户细分 (给用户建模,更关注用户如何看待和使用产品、如何与产品互动,是一个较连续的过程)
      2. 典型用户≠平均用户(在社会科学中,人群特征按正态分布 经济统计学中的“二八定律” 20%的人占有80%的社会财富 取中位数!) 应关注典型用户或使用户典型
      3. 典型用户不是只有一个(类)【受欢迎的典型用户和不受欢迎的典型用户 与产品目标的相符度】
      4. 典型用户不是真实用户(重点关注一群用户需要什么、喜欢什么)
      5. 除了典型用户还有其他人物角色

    展开全文
  • 用户画像常用算法

    千次阅读 2020-06-17 10:55:12
    1、决策树,是一种分类算法和回归算法(这里只介绍分类算法) 2、决策树算法的构建分为3个部分:特征的选择,决策树的生成,决策树的剪枝;(主要参考李航的《统计学习方法》第五章) a、特征的选择—-选择使信息...

    决策树

    1、决策树,是一种分类算法和回归算法(这里只介绍分类算法)

    2、决策树算法的构建分为3个部分:特征的选择,决策树的生成,决策树的剪枝;(主要参考李航的《统计学习方法》第五章

        a、特征的选择—-选择使信息增益最大的特征;即选择一个分类特征必须是分类确定性更高,此特征才是更好的;

        b、决策树的生成—ID3,C4.5算法,此时用迭代的方式构建决策树;注意此时的决策树,因为每次选的都是局部最优解,所以是过拟合的;

        c、决策树的剪枝—决策树剪枝是为了防止过拟合,根据全局cost function ,如果剪掉一个数支,cost function 会变小,那么剪掉这个树枝;

    线性回归算法

    回归的目的是预测数值型的目标值。最直接的办法是依据输入写出一个目标值的计算公式,该公式就是所谓的回归方程(regression equation)。求回归方程中的回归系数的过程就是回归。
    线性回归(linear regression)意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。
    线性回归的一个问题是有可能出现欠拟合现象,因为它求的是具有最小均方误差的无偏估计。为了降低预测的均方误差,可以在估计中引入一些偏差,其中一个方法是局部加权线性回归(Locally Weighted Linear Regression, LWLR)。如果数据的特征比样本点还多,也就是说输入数据的矩阵X不是满秩矩阵,非满秩矩阵在求逆时会出现问题。为了解决这个问题,可以使用岭回归(ridge regression)、lasso法、前向逐步回归。
    岭回归:在矩阵XTX上加一个λI从而使得矩阵非奇异,进而能对XTX+λI求逆。其中矩阵I是一个m*m的单位矩阵,对角线上元素全为1,其他元素全为0。而λ

    是一个用户定义的数值。在这种情况下,回归系数的计算公式将变成:

    w^=(XTX+λI)−1XTy

    岭回归最先用来处理特征数多余样本数的情况,现在也用于在估计中加入偏差,从而得到更好的估计。这里通过引入
    λ来限制了所有w之和,通过引入该惩罚项,能够减少不重要的参数,这个技术在统计学中也叫做缩减(shrinkage)。

    一旦发现模型和测量值之间存在差异,就说出现了误差。当考虑模型中的“噪声”或者说误差时,必须考虑其来源。训练误差和测试误差由三个部分组成:偏差、测量误差和随机噪声。

    方差是可以度量的。取出两组随机样本集并拟合,得到两组回归系数。两组回归系数之间的差异大小就是模型方差大小的反映

    树回归算法

    CART(Classification And Regression Trees,分类回归树)
    回归树:假设叶节点是常数值,这种策略认为数据中的复杂关系可以用树结构来概括。为成功构建以分段常数为叶节点的树,需要度量出数据的一致性。数据集的混乱度即平方误差的总值(总方差=均方差*样本个数)。
    模型树:把叶节点设定为分段线性(piecewise linear)函数。

    通过降低决策树的复杂度来避免过拟合的过程称为剪枝(pruning)。

    Kmeans算法

    1. 确定聚类个数K 
    2. 选定K个D维向量作为初始类中心 
    3. 对每个样本计算与聚类中心的距离,选择最近的作为该样本所属的类 
    4. 在同一类内部,重新计算聚类中心(几何重心) 不断迭代,直到收敛:

    (损失函数为此就是Kmeans算法(其实是默认了我们样布服从均值为μ,方差为某固定值的K个高斯分布,混合高斯分布),如果(x-μ)不是平方,而只是绝对值那就是Kmedian算法,混合拉普拉斯分布)每个样本到聚类中心的距离之和或平方和不再有很大变化。对损失函数求导,,可以看到其实我们更新聚类中心的时候,就是按照梯度的方向更新的。由于损失函数有局部极小值点,所以它是初值敏感的,取不同的初值可能落在不同的极小值点。

    轮廓系数(silhouetee)可以对聚类结果有效性进行验证。python中有该方法,metrics.silhouetee_score。越接近1聚的越好,越接近-1聚的越不好。适用于球形聚类的情况。

    缺点:1.对初始聚类中心敏感,缓解方案是多初始化几遍,选取损失函数小的。2.必须提前指定K值(指定的不好可能得到局部最优解),缓解方法,多选取几个K值,grid search选取几个指标评价效果情况3.属于硬聚类,每个样本点只能属于一类 4.对异常值免疫能力差,可以通过一些调整(不取均值点,取均值最近的样本点)5.对团状数据点区分度好,对于带状不好(谱聚类或特征映射)。尽管它有这么多缺点,但是它仍然应用广泛,因为它速度快,并且可以并行化处理。

    优点:速度快,适合发现球形聚类,可发现离羣点

    缺失值问题:离散的特征:将缺失的作为单独一类,90%缺失去掉连续的特征:其他变量对这个变量回归,做填补;样本平均值填补;中位数填补。

    对于初始点选择的问题,有升级的算法Kmeans++,每次选取新的中心点时,有权重的选取(权重为距离上个中心店的距离),

    展开全文
  • 1. 推荐系统 (协同过滤算法) ALS(交替最小二乘法) 思想:首先初始化一个因子矩阵,使用评分矩阵获取另外的因子矩阵,交替计算,直到满足条件终止(最大迭代次数或收敛条件),此时得到两个因子矩阵,就是模型 ...

    1. 推荐系统 (协同过滤算法)

    • ALS(交替最小二乘法)

    思想:首先初始化一个因子矩阵,使用评分矩阵获取另外的因子矩阵,交替计算,直到满足条件终止(最大迭代次数或收敛条件),此时得到两个因子矩阵,就是模型
    在这里插入图片描述

    • 下图为用户对电影的评分矩阵,n代表每行(用户量),m代表每列(物品量)。
      矩阵分解:将用户评分矩阵划分为2个因子矩阵。用户因子矩阵和物品因子矩阵,k表示维度
      k值称为秩(rank),需要用户训练模型时,进行指定,属于超参数。
      在这里插入图片描述

    功能:
    在这里插入图片描述

    • 基于RDD构建ALS推荐模型
      在这里插入图片描述
      在这里插入图片描述

    2. 分类算法

    • 基于DataFrame API算法库和特征工程函数使用
    • 代码
    package ml
    
    import org.apache.spark.ml.classification.{LogisticRegression, LogisticRegressionModel, LogisticRegressionTrainingSummary}
    import org.apache.spark.ml.feature.{StandardScaler, StringIndexer, VectorAssembler}
    import org.apache.spark.sql.{DataFrame, SparkSession}
    import org.apache.spark.sql.types._
    
    /**
     * 鸢尾花预测
     */
    
    object IrisFeaturesDemo {
      def main(args: Array[String]): Unit = {
        val spark: SparkSession = SparkSession.builder()
          .appName(this.getClass.getSimpleName.stripSuffix("$"))
          .master("local[4]")
          .config("spark.sql.shuffle.partititons",4)
          .getOrCreate()
    
        import spark.implicits._
        //加载数据集
        val irisSchem:StructType = new StructType()
            .add("sepal_length",DoubleType,nullable = true)
            .add("sepal_width",DoubleType,nullable = true)
            .add("petal_length",DoubleType,nullable = true)
            .add("petal_width",DoubleType,nullable = true)
            .add("class",StringType,nullable = true)
    
        val rawIrisDF: DataFrame = spark.read
          .option("sep", ",")
          .option("header", "false")
          .option("inferSchema", "false")
          .schema(irisSchem)
          .csv("datas/iris/iris.data")
    //    rawIrisDF.printSchema()
    //    rawIrisDF.show(10,truncate = false)
        val assembler = new VectorAssembler()
          .setInputCols(rawIrisDF.columns.dropRight(1))
          .setOutputCol("features")
    
        val df1: DataFrame = assembler.transform(rawIrisDF)
    //    df1.show()
        /**
         * +------------+-----------+------------+-----------+-----------+-----------------+
         * |sepal_length|sepal_width|petal_length|petal_width|      class|         features|
         * +------------+-----------+------------+-----------+-----------+-----------------+
         * |         5.1|        3.5|         1.4|        0.2|Iris-setosa|[5.1,3.5,1.4,0.2]|
         * |         4.9|        3.0|         1.4|        0.2|Iris-setosa|[4.9,3.0,1.4,0.2]|
         * |         5.1|        3.8|         1.5|        0.3|Iris-setosa|[5.1,3.8,1.5,0.3]|
         * +------------+-----------+------------+-----------+-----------+-----------------+
         */
        val indexer: StringIndexer = new StringIndexer()
          .setInputCol("class") //对哪列进行索引化
          .setOutputCol("label")//索引化后的名称
    
        val df2: DataFrame = indexer
          .fit(df1)
          .transform(df1)
    
    //    df2.show(3,truncate = false)
        /**
         * features 特征x   label 标签y
         * 算法:y = kx + b
         * +------------+-----------+------------+-----------+-----------+-----------------+-----+
         * |sepal_length|sepal_width|petal_length|petal_width|class      |features         |label|
         * +------------+-----------+------------+-----------+-----------+-----------------+-----+
         * |5.1         |3.5        |1.4         |0.2        |Iris-setosa|[5.1,3.5,1.4,0.2]|0.0  |
         * |4.9         |3.0        |1.4         |0.2        |Iris-setosa|[4.9,3.0,1.4,0.2]|0.0  |
         * |4.7         |3.2        |1.3         |0.2        |Iris-setosa|[4.7,3.2,1.3,0.2]|0.0  |
         * +------------+-----------+------------+-----------+-----------+-----------------+-----+
         */
        // TODO: 数据 + 算法 = 模型
        val scaler = new StandardScaler()
          .setInputCol("features")
          .setOutputCol("scale_dFeatures") //归一化列的名称
          .setWithStd(true)//使用标准差缩放
          .setWithMean(false)//不使用平均差缩放
    
        val df3 = scaler
          .fit(df2)
          .transform(df2)
    //    df3.show()
    
        /**
         * +------------+-----------+------------+-----------+-----------+-----------------+-----+--------------------+
         * |sepal_length|sepal_width|petal_length|petal_width|      class|         features|label|     scale_dFeatures|
         * +------------+-----------+------------+-----------+-----------+-----------------+-----+--------------------+
         * |         5.1|        3.5|         1.4|        0.2|Iris-setosa|[5.1,3.5,1.4,0.2]|  0.0|[6.15892840883878...|
         * |         4.9|        3.0|         1.4|        0.2|Iris-setosa|[4.9,3.0,1.4,0.2]|  0.0|[5.9174018045706,...|
         * |         5.7|        3.8|         1.7|        0.3|Iris-setosa|[5.7,3.8,1.7,0.3]|  0.0|[6.88350822164335...|
         * |         5.1|        3.8|         1.5|        0.3|Iris-setosa|[5.1,3.8,1.5,0.3]|  0.0|[6.15892840883878...|
         * +------------+-----------+------------+-----------+-----------+-----------------+-----+--------------------+
         *
         */
        // TODO: 使用的是逻辑回归分类算法
        val lr: LogisticRegression = new LogisticRegression()
            .setFeaturesCol("scale_dFeatures")
            .setLabelCol("label")
            .setMaxIter(20)
            .setStandardization(true)
            .setFamily("multinomial")
            .setRegParam(0)
            .setElasticNetParam(0)
    
        val lrmodel: LogisticRegressionModel = lr.fit(df3)
    
        //评估模型
    //    println(s"多分类的混淆矩阵:${lrmodel.coefficientMatrix}")
        /**
         * 多分类的混淆矩阵:
         * -5.798835106190835  13.323005447127198  -14.086482300220093   -13.763604967380042
         * 5.316979206232901   -4.856481059376392  0.019341070899700507  0.019748360791430865
         * 0.4818558999579335  -8.466524387750807  14.067141229320393    13.743856606588611
         */
        val summary: LogisticRegressionTrainingSummary = lrmodel.summary
        println(s"accuracy:${summary.accuracy}")
        println(s"precisionByLabel:${summary.precisionByLabel.mkString(",")}")
    
        /**
         * 准确度:accuracy:0.9733333333333334
         * 精确度:precisionByLabel:1.0,0.96,0.96
         */
        spark.stop()
      }
    
    }
    
    
    展开全文
  • 这一期,我们补充来说明一下DBA的人物画像。   DBA的段位 真正厉害的DBA,他们犹如定海神针一样的作用。 (普通人眼中:DBA平常好像没啥事情干,浪费钱) 给你们讲一个扁鹊的故事,你们就知道其真正的作用。...

     

    上一期,我们对DBA这个岗位做了一些非常基础的阐述

    岗位怎么招第一期:DBA的解说

    这一期,我们补充来说明一下DBA的人物画像。

     

    DBA的段位

    真正厉害的DBA,他们犹如定海神针一样的作用。

    (普通人眼中:DBA平常好像没啥事情干,浪费钱)

    给你们讲一个扁鹊的故事,你们就知道其真正的作用。

    春秋战国时,扁鹊曾到魏国替魏文王诊断病情。

     

    优秀的DBA,就像扁鹊大哥一样,让整个系统在没有出现问题之前就把问题给解决了,让你觉得系统一直稳定无故障。

     

    其实公司是否有一个强力DBA,对从事技术研发相关工作的程序员或者架构师非常重要。

     

    DBA的等级,其实没有分得那么严格。

    一般可以简单分成3个等级,初级、中级和高级。

    初级的DBA一般都是兼职的,他们往往同时是程序员。初级的DBA简历,一般都写得超级棒的,比如参与了各种与数据库相关的工作之类的。

    然而,他们实际的工作是:

    1、第三方供应商已经安装并配置好数据库,他们只做监控的工作,处理一些简单的小问题,有大事就立马找第三方。

    2、他们喜欢使用图形化数据库管理工具,终端式的处理能力不强(类似于,在软件上点一点按钮,就可以完成工作)

     

    中级的DBA,他们涉及的工作就会多很多(其中,中级和高级在技术上差别不大,差距在于其他方面的能力)。

    数据库安装、配置、管理

    数据库权限及安全管理

    监控及性能调优

    备份及恢复

    解决一般性问题

     

    高级DBA,国内非常少。技术能力上,可能和中级DBA相差不大。主要差别在于技术的广度和经验的多少。

    高级DBA,可能会通晓多种大型数据库,且知道不同数据库在不同环境下的优势和劣势,并能够做出最适合的决策。

     

    当然,对于HR来说,这种分类实际上我们是非常难对人才的能力做判断,我们有时候只会通过一些相关的证书来判断。

    (告诉你,其实证书有时候并不是特别重要,有些培训都可以获得证书的)

    那么,HR应该从哪些角度来判断DBA的段位呢?

    其中有一句万金油的问法:如果你招一个DBA,你会从哪些角度或问哪些问题来判断这个人的技术能力。

    为了加深各位HR对DBA关键能力的印象,我们接下来一一拆解。

     

    HR可以从以下几个方面判断DBA的段位

     

    1.熟悉至少一种数据库的应用

    目前市场上有多种数据库之间的实现是有差异的,相关技巧不一定可以通用。一般DBA都会有一个擅长的数据库类型,例如:Oracle/Mysql/Mongodb等。

    无需询问,看简历即可

    包括:安装部署、执行计划、主要算法、参数调整、防灾备份、常见错误修复等

    2.熟悉至少一种数据库主要算法(重点关注)

    以执行计划为例:它实际上是数据库服务器在执行SQL语句时,会准备多套方案,最后选择消耗资源最小的那个方案,整个过程就是执行计划。(作为HR,是不是看不懂?)

    通俗点讲,我们打开高德地图,起点设置为体育中心B出口,目的地设为广州南站。这里,高德一般会提示给到你几条导航选择:最短时间,最短距离,躲避拥堵、高速优先等。

    这个过程,就类似于数据库操作的执行计划,而获得每一条线路的细节,就相当于查询算法的工作。

    执行计划一般有3种:

    全表扫描、索引扫描(索引扫描、索引范围扫描、索引快速全扫描、索引跳跃式扫描、索引降序式扫描)、ROWID扫描

    作为HR,不用强迫自己去理解这些概念,略有点难度。

    建议可以这么问:

    1、常用的执行计划有哪些类别?如果他答得上来,说明理论基础还可以,至少他背下来了嘛。

    2、不同的执行计划,有什么不一样?可否用通俗的语言来描述一下?

    3、在具体的项目中,哪些时候你会使用全表招描、哪些时候你用索引扫描、哪些时候你用ROWID扫描?你的判断依据是什么?(这个问题,一般放在1和2问题的后面,避免候选人通过问题的题干,了解答题逻辑)

    3、如何不借用第三方工具,查看sql的执行计划?

    4、在具体的执行计划中,你最常用的几种查找算法是什么?他们的区别是什么样的?(有三种,Nested Loops, Merge Joins和Hash Joins)

    3.熟悉影响数据库性能的参数 如MySQL中的my.ini中各种参数的含义、影响及调优方法。Oracle中SGA/PGA如何分配调整及调优等等。

    如果有兴趣的,可以问这些问题:

    1、Mysql的存储引擎有哪些类别,分别有什么区别?(MYISAM读性能好,InnoDB大容量数据处理)至少说明5点不同。

    公共参数配置:

    2、一般默认的最大连接数是多少?一般建议是多少?(151,80%)

    3、默认缓存数是多少?建议是多少?(2M,16M)

    MYISAM参数配置:

    索引缓存大小设置建议是?(物理内存的30-40%)

    读操作缓冲区大小默认是多少,建议是多少(128K,16M或32M)

    InnoDB参数配置:

    索引缓存设置建议是?(物理内存的60-70%)

    缓冲池的实例数一般推荐是多少个?(4或8个)

     

    Oracle的SGA和PGA也是参数配置的作用,只是叫法不同。

    SGA:System Global Area是Oracle 实例的基本组成部分,在实例启动时分配

    系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区

    PGA:Process Global Area是为每个连接到Oracle database的用户进程保留的内存

     

    不用理解其到底是什么意思,只要知道这些参数设置得好,可以保证整个系统运转是否正常,比如卡机啊之类的,可能跟这块的工作会有关系。

    一般的数据是:

    对于OLTP系统,SGA占数据库使用总内存的80%,PGA占数据库使用内存的20%

    对于OLAP(DSS)系统,对于密集大查询的系统,PGA可以占到数据库使用总内存的70%

    这里同样可以问到你的面试者,如何设置基础参数,为什么要这么设置。

    关于OLTP和OLAP,之前分享过3次。

     

    以上这种内容一般是死记型的,面试者不一定记得住,也不能体现得出真实能力。

    建议通过笔记或者上机测试。

    当然如果你实在是要问的话,建议在每一个问题后面加上为什么要做这样的参数设置。

     

    4.熟悉至少一种数据库的SQL调优(重点关注) 因为数据库采用的算法并不一定相同,所以SQL调优的方式也不相同。

    SQL调优主要是提高数据库的性能和稳定。简言之,又快又稳。

     

    1、sql调整最关注的是什么?(读性能和IO量)

    2、你应该有对sql调优的一些常见方法做总结吧,你自己有哪些原则来提高查询效率?

    无论哪种优化,最需要坚持的原则是:避免无计划的全表扫描

     

    5.熟悉常见的防灾备份方法(重点关注)

    数据库的防灾备份,是保证系统是否能够稳定使用的重大前提。一般要求都是7*24小时。因此,DBA能够完成这部分工作,也是技术的一个重要评估标准。

    建议可以这么问:

    1、Mysql的复制原理及流程(可以给一张纸,让面试者画出来,并用一个生活例子来类比出来)

    2、备份有几种方式,说明不同的备份方法的异同?(热、温、冷,二进制日志备份,四种。一般用前三者多,业务影响从低到高排列,备份恢复成本从高到低排列、一致性1为组织后一致,前2和3者为完全一致)

    3、分布式数据的优缺点?(抗灾,高并发,受网络影响,总体成本高,扩展性强)

     

     

    6.熟悉数据库设计范式 范式不是万能的,但不懂是不行的。虽然生产中不可能完全采用范式设计,但是要知道不符合哪种范式会带来什么问题,这样才能在制造数据冗余的同时保证数据的一致性。

    基本都会,无需询问。

     

    7.熟悉数据库设计基本原则(重点关注) 为了提高效能,数据库设计中有一些常用的优化原则,需要了解其利弊,在设计中考虑正反两方面的影响,权衡利弊,设计优化的数据库模式。

    基本都会,不需询问。

    之前做过3次分享,可以回听我的分享。

     

    1.熟悉Linux/Unix操作系统的管理。 目前市场上绝大部分的数据库服务器是跑在Linux系统下的。对于DBA来说,熟悉Linux都是必备的。Solaris/FreeBSD等Unix系列的系统也有不少市场,尤其是Solaris被Oracle收购之后,更可能得到重视。

    这个部分是必备技能,高级DBA就没有必要问到这部分了。

    如果你要招初级的DBA,建议可以这么问:

    1、你使用Linux系统管理的操作频率最高的操作有哪些?

    2、怎么查看系统进程?

    3、如何发现进程死锁,需要关掉进程,有哪些方法?(kill pid /-9 kill pid)

    仅限初级DBA使用,如果有需要,回头我再整理一份技术的清单。但个人认为对于HR来说,这种问题基本上交给笔试就好了,高级DBA基本上搞得定这些的。

     

    2.了解网络模型和配置(重点关注)。 当DBA完全不懂网络,分布式、集群没有网络是跑不起来的,碰上大型应用,基本上就准备宕机了。这里主要和负载均衡有关,主流的负载均衡器有LVS/HAProxy/Nginx。

    建议可以这么问:

    1、你们公司服务器是否一主多从的结构?

    2、你们多从使用的负载均衡器是什么类型的?

    3、你还接触过哪些负载均衡器,这几种均衡器有什么区别?应用领域有什么不同吗?

    注意要按顺序来问,同时建议让面试者以通俗的例子来向HR解释。

    4.了解硬件体系结构。 数据库的问题并不一定是软件问题,也可能是硬件和网络的问题,了解硬件的体系结构,不仅可能帮助排错,也能正确的估算数据库的承受能力和硬件需求。

    4.了解硬件体系结构。 数据库的问题并不一定是软件问题,也可能是硬件和网络的问题,了解硬件的体系结构,不仅可能帮助排错,也能正确的估算数据库的承受能力和硬件需求。

     

    5.熟悉至少一种Linux脚本语言。 包括Perl/Shell/Python等,运维过程中少不了一些重复的操作,这些操作如果有脚本的帮助,将大大提高DBA的工作效率。

    Shell是必备的,Perl或Python可以二选一。

    如果你使用的是mac电脑,打开终端。

    标红色的,就是所谓的shell。

    实际上,是把我们原来通过鼠标双击打开文件,换成ls和cd。

    1.团队协作能力(重点关注) 特别是DBA,这个岗位实际上工作的伙伴除了开发工程师之外,甚至还有各方领导和销售端的同事,团队协作能力特别重要。工作中不可能一个人能单挑所有问题,总是需要合作的,跟团队的每个人处好关系,能完成自己的任务,并且能协同整个团队去解决问题,才能发挥自己的效能和整个团队的效能。

     

    2.正确的分析能力(重点关注)

    遇到问题或者拿到一个新的技术,如何去分析其问题所在或分析其原理,需要正确方法。能在排除其他因素干扰的情况下,分析问题,这是一种能力否则容易出现某些因素会干扰判断,得出错误的结论。

    这一点基本上和人的逻辑思维能力有关系。

    3.严谨负责的态度(重点关注)

    网上很多博文或者有些书中的结论,可能是翻译错误可能是作者疏漏,要抱着怀疑的态度去看书和博文,所述一定要经过自己证实、分析才能下结论,不可以光看就认为是正确的。没严谨的态度用正确的方法去分析,结果就看表面现象以为是正确的,可能很久都不能更正。

    这一点,可以通过考量人才的细心来判断。

     

    综合能力方面,相信HR可以通过常见的面试手段,可以做基本的判断。

    欢迎各位发出自己想要了解的岗位

    也许下一期,就是你的疑问

    让我们一起成为最懂技术的HR

     

    切记:

    我们是HR

    即使面试者回答的内容,听不懂也没关系

    我们关注的是他是否能够答得上来

     

    ———— / END / ————

    展开全文
  • 人物画像

    万次阅读 2016-10-30 20:00:15
    talkingdata工程师分享人物画像的笔记;作为一个数据公司,通过提供sdk给各个行业来获取用户终端数据,地理信息,app信息等来推测一个用户画像,是一个非常具有价值的操作,可以给商家带来财富
  • 用户画像用到哪些算法

    万次阅读 2018-07-12 23:54:21
    决策树1、决策树,是一种分类算法和回归算法(这里只介绍分类算法)2、决策树算法的构建分为3个部分:特征的选择,决策树的生成,决策树的剪枝;(主要参考李航的《统计学习方法》第五章) a、特征的选择----选择使...
  • 用户画像分析

    千次阅读 2019-06-12 09:04:46
    (5)行业报告&用户研究:通过用户画像分析可以了解行业动态,比如人群消费习惯、消费偏好分析、不同地域品类消费差异分析  根据用户画像的作用可以看出,用户画像的使用场景较多,用户画像可以用来挖掘用户兴趣...
  • 文章目录内容推荐的介绍基于内容的推荐实现步骤基于内容推荐流程基于电影推荐的相关算法及代码实现物品画像基于TF-IDF的特征提取技术物品画像代码实现倒排索引原理及代码实现用户画像原理及代码实现 内容推荐的介绍 ...
  • 用户画像分析总结

    千次阅读 2018-12-11 16:57:45
    通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。 用户画像是对...
  • 认识用户用专业术语表达就是用户画像(User Profile)。读者应该看过下图形式的用户画像: 这种图形化的用户画像,用不同颜色和字体的标签,拼出用户的剪影形象。 实际上,这种形式的用户画像,对计算机来说没什么...
  • 干货 :基于用户画像的聚类分析

    千次阅读 2018-06-01 00:12:36
    企业期望搭建用户画像,对客户进行群体分析与个性化运营,以此激活老客户,挖掘百亿续费市场。众安科技数据团队对该企业数据进行建模,输出用户画像并搭建智能营销平台。再基于用户画像数据进行客户分群研究,制订...
  • 聚类:用户画像

    千次阅读 2020-10-06 14:36:53
    用户画像的应用场景 产品层面的宏观分析维度 用户画像标签类型 聚类和分类q: 聚类的距离: 3.2 K-means算法原理 模型评估: 误差平方和 Q1:K值得确定:肘部法则 Q2: 聚类效果如何评估??:轮廓...
  • 文章目录 1、KNN模型 2、样本数据 (1)经验样本 (2)待分类数据 3、需求:使用KNN算法思想,对待分类数据进行分类 (1)思想:近朱者赤近墨者黑 (2)代码开干 4、总结 用到的知识 1、KNN模型 2、样本数据 (1)...
  • 电商数据分析之用户画像的构成

    千次阅读 2020-11-26 10:00:00
    1、用户画像之基本属性谈到用户画像,首当其冲的就是需要了解我们的用户基础属性。用来定位我们的商品受众群体,以便于我们去拉新、广告投放等方式更好的获取精准客户,也可以分析我们上新品时的受众...
  • 早期的推荐系统一般都从基于内容的推荐开始做起,这就离不开挖掘用户的兴趣标签,兴趣标签是用户画像的重要组成部分。 1. 标签库 1.1 挖掘标签的物料 物品端 物品端的信息可用于构建物品画像(Item Profile),并...
  • 大数据之用户画像的原理、应用与实现。
  • 利用Python搭建用户画像系统

    万次阅读 多人点赞 2017-08-30 16:32:50
    用户画像可以理解成是海量数据的标签,根据用户的目标、行为和观点的差异,将他们区分为不同的类型,然后每种类型中抽取出典型特征,赋予名字、照片、一些人口统计学要素、场景等描述,形成一个人物原型 。...
  • 用户画像总结

    万次阅读 多人点赞 2018-03-28 14:45:51
    最近在工作之余,结合自己的理解和论坛上的一些帖子,整理了份用户画像的文章,个人觉得这篇文章在宏观上很好地描述了用户...通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打...
  • 用户画像原理、技术选型及架构实现

    万次阅读 多人点赞 2018-07-22 12:35:26
    通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。 ...
  • 推荐系统——用户画像

    千次阅读 多人点赞 2018-10-15 22:21:39
    学生生涯的时候略微了解些推荐系统的皮毛,工作后暂时还没做这方面的工作,但之后的工作规划会涉及到相关领域知识,另加上本人对算法类培训颇感兴趣,于是参加了近期的培训,自此整理消化下相关知识,聊以慰藉。...
  • 什么是用户画像?该怎么分析

    万次阅读 多人点赞 2018-07-03 01:12:04
    1、用户画像是什么 用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石...
  • 项目实训-智能人物画像分析系统概述 1、项目简介 题目:智能人物画像分析系统 导师:陶可猛 导师单位 浩睿智源(山东)人工智能有限公司 2、项目背景 用户画像是根据用户基本属性、社会属性、生活习惯和消费行为等...
  • 欢迎各位同学报名,学习消费者人群画像-信用智能评分模型竞赛知识。https://edu.csdn.net/course/detail/30742 课程对该项目详细讲解,包括回归原理知识,梯度下降,正则化,岭回归,Lasso回归,弹性网络,支持向量...
  • 一、用户画像基础概念用户画像,即用户信息标签化,通过收集用户的社会属性、消费习惯、偏好特征等各个维度的数据,对用户特征属性进行刻画,并对这些特征进行分析、统计,挖掘潜在价值信息,从而抽象出...
  • 胖里默默地打开了手机,用事实证明自己是最穷的,“这用户画像用的666啊,你们看我,我这前6个商品最低48,最高才128,看来还是你们比较有钱啊!” 想到之前看过空白的一篇文章,当时还有点庆幸自己还好比较穷(哈哈...
  • 通过用户调研去了解用户,根据他们的目标、行为和观点的差异,将他们区分为不同的类型,然后每种类型中抽取出典型特征,赋予名字、照片、一些人口统计学要素、场景等描述,就形成了一个人物原型。 其实用户画像就是...
  • 用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。 男,31岁,已婚,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,472
精华内容 588
关键字:

人物画像分析算法