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)
  • 相关阅读:
    JS网页顶部进度条demo
    C# Emit动态代理生成一个实体对象
    C# 表达式树demo
    C# Thread挂起线程和恢复线程
    JS网页加载进度条
    android 布局
    工程发布问题总结
    jquery集锦
    部署maven到服务器
    WebView显示的网页在大分辨率屏下被放大--解决方案
  • 原文地址:https://www.cnblogs.com/kpwong/p/13600659.html
Copyright © 2011-2022 走看看