zoukankan      html  css  js  c++  java
  • person 相关系数

    import  pandas as pd
    import pprint
    import numpy as np

    users = ['user1','user2','user3','user4','user5',]
    items = ['item A','item B','item C','item D','item E',]


    datasets = [
    [5,3,4,4,None],
    [3,1,2,3,3],
    [4,3,4,3,5],
    [3,3,1,5,4],
    [1,5,5,2,1]
    ]

    df = pd.DataFrame(datasets,columns= items,index= users)

    print(df)
    print('用户之间的两两相似度:')
    #直接计算person(皮尔逊)相关系数
    #默认是按列进行计算,因此如果计算用户间的相似度,当前需要进行转置

    # DataFrame.corr(method='pearson', min_periods=1)
    #
    # 参数说明:
    #
    # method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}
    #
    # pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性 数据便会有误差。
    #
    # kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据
    #
    # spearman:非线性的,非正太分析的数据的相关系数
    #
    # min_periods:样本最少的数据量
    #
    # 返回值:各类型之间的相关系数DataFrame表格。

    user_similar = df.T.corr(method='pearson')
    # user_similar = df.T
    print(user_similar)


    print('物品之间的两两相似度:')
    item_similar = df.corr()
    print(item_similar)
  • 相关阅读:
    ssh免密钥登陆的两种方式
    python 项目实战之装饰器
    python 项目实战之随机杀死程序
    python paramiko外部传参和内部调用命令的方法
    linux screen 工具
    shell删除三天前或者三天内的文件
    CentOS7.3安装Go运行和开发环境
    4.Linq to Xml
    30.第一个Linq 数据库查询
    html 图标库
  • 原文地址:https://www.cnblogs.com/kpwong/p/13600659.html
Copyright © 2011-2022 走看看