我从本地mysql数据库中取出了曾经存下的书籍信息,试图找出价格和评论人数之间的关系。书籍的销售数据是从亚马逊网站上抓取下来的,如果你对这个过程感兴趣,可以阅读文章Find The Book Wanted In Amazon By Python

我取出的书籍信息对应的评论人数都大于500,使用皮尔逊相关系数来探索价格和评论人数之间的关系。如果P的数值小于0.05,我们认为他们是相关的,如果R的数值接近于1,那么我们认为两者之间存在很强的正相关关系,-1则反之暗示了强烈的负相关关系。

下面是相关的代码。

#! /usr/local/bin/python3
# -*- coding: utf-8 -*-import numpy as np
import pymysql
import matplotlib.pyplot as plt
from scipy.stats import pearsonrdef CollectData():db = pymysql.connect(host='localhost', port=3306, user='root', password='wy19941212', database='PySpider')cur = db.cursor()sql = 'SELECT price, score, menCount FROM Books ' 'where menCount > 500 ' 'order by price'cur.execute(sql)books = cur.fetchall()prices = []scores = []menCounts = []for book in books:prices.append( book[0] )scores.append( book[1] )menCounts.append( book[2] )cur.close()db.close()return prices, scores, menCountsif __name__ == '__main__':prices, scores, menCounts = CollectData()result = pearsonr( prices, menCounts )print( 'R: ' + str(result[0]) + ', P: ' + str(result[1])  )x = np.arange( 0, len( prices ) )plt.plot( x, prices, color='r', label = 'prices' )#plt.plot( x, scores, color='b', label = 'scores' )plt.legend( loc='upper left' )plt.twinx()plt.plot( x, menCounts, color='g', label = 'menCounts' )plt.legend( loc='upper right' )plt.show()

输出:

R: 0.08706866124259607, P: 0.06350280339889768

P值大于0.05,看来价格和评论人数并没有关系。


让我们看另一个例子。下面的图片展示了一张保险费用和投保年龄的表格。 我们来探索一下这两者之间有没有关联。

#! /usr/local/bin/python3
# -*- coding: utf-8 -*-import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearsonrif __name__ == '__main__':ages = [25, 30, 40, 45, 50, 55, 60, 65, 70, 75, 80]costs = [621, 855, 1189, 1458, 1618, 1909, 2345, 3147, 4468, 6031, 8141]x = np.arange( 0, len(ages) )result = pearsonr( ages, costs )print( 'R: ' + str(result[0]) + ', P: ' + str(result[1]) )plt.plot( x, ages, color='r', label = 'ages' )plt.legend( loc='upper left' )plt.twinx()plt.plot( x, costs, color='g', label = 'costs' )plt.legend( loc='upper right' )plt.show()

输出:

R: 0.8896776681953972, P: 0.00024510246425286464

P < 0.05并且R近似等于0.89,所以在年龄范围为[25, 80]内,投保年龄越大,每年缴纳的保费就越高。年轻的时候购买更加划算。

《Python金融大数据挖掘与分析全流程详解》(王宇韬,房宇亮,肖金鑫,等)【摘要 书评 试读】- 京东图书​union-click.jd.com

皮尔逊相关系数_用皮尔逊系数探究事物之间的相关性相关推荐

  1. 特征选择-皮尔逊系数、RFE(原理及代码)

    特征选择 1皮尔逊系数 1.1介绍: 1.2试用范围: 2.RFE递归特征消除 2.1介绍 2.2 python实现 1皮尔逊系数 1.1介绍: 皮尔逊相关也称为积差相关(或者积矩相关).我们假设有两 ...

  2. 利用协同过滤算法的皮尔逊系数:计算歌曲相似度

    想要什么 数据已经足够多了,我现在想法就是单独维护一张歌曲相似度的表,每首歌曲有10首相似度歌曲,并且有相似度的程度,介于0到1之间. 首先来明确我有什么,我有3张表. user表:用户1.4万左右 ...

  3. 皮尔逊Pearson相关系数python代码实现

    皮尔逊相关系数简介 wiki介绍 皮尔逊积矩相关系数(英语:Pearson product-moment correlation coefficient,缩写:PPMCC,或PCCs,有时简称相关系数 ...

  4. 皮尔逊、斯皮尔曼、肯德尔相关系数python实现

    文章目录 一.肯德尔系数 1. 定义: 2. python实现 二.肯德尔系数.皮尔逊系数.斯皮尔曼系数 2. python实现 一.肯德尔系数 1. 定义: Kendall(肯德尔)系数的定义:n个 ...

  5. ML:图像数据、字符串数据等计算相似度常用的十种方法(余弦相似性、皮尔逊、闵可夫斯基距离/曼哈顿距离/欧氏距离/切比雪夫距离、马氏距离、汉明距离、编辑距离、杰卡德相似系数、相对熵/KL散度、Helli

    ML:图像数据.字符串数据等计算相似度常用的十种方法(余弦相似性.皮尔逊.闵可夫斯基距离/曼哈顿距离/欧氏距离/切比雪夫距离.马氏距离.汉明距离.编辑距离.杰卡德相似系数.相对熵/KL散度.Helli ...

  6. 皮尔逊相关性_皮尔逊的相关性及其在机器学习中的意义

    皮尔逊相关性 Today we would be using a statistical concept i.e. Pearson's correlation to help us understan ...

  7. 皮尔逊、斯皮尔曼、肯德尔等级应用场景及代码实现(附Python代码)

    本文结合Python的scipy.stats,简单梳理皮尔逊Pearson.斯皮尔曼Spearman.肯德尔等级Kendallta三个相关系数的运用场景:及Python中如何计算三个相关系数. 1.统 ...

  8. 皮尔逊(Pearson)相关系数与spearman相关系数(Python实现)

    概念介绍 相关系数:考察两个事物(在数据里我们称之为变量)之间的相关程度. 相关系数大小解释 相关性 绝对值 无相关 0 - 0.09 弱相关 0.1 - 0.3 中相关 0.3 - 0.5 强相关 ...

  9. matlab mic系数_科学网—最大信息系数 (Maximal Information Coefficient, MIC)详解(1) - 彭勇的博文...

    最大信息系数 (Maximal Information Coefficient, MIC)详解(1) 四年前看过的一篇论文,当时还在组会上报告过,很确信当时把它弄懂了,由于当时是用机器学习的方法来做预 ...

最新文章

  1. 计算机本科学位有用吗_我应该回到学校获得计算机科学学位吗?
  2. 消除危害 让BYOD策略更安全的几个秘诀
  3. ISME:基因组和转录组分析深海古菌Thermoprofundales
  4. python turtle循环图案-Python绘图Turtle库详解
  5. JSON动态解析()
  6. 使用 Jersey 和 Apache Tomcat 构建 RESTful Web 服务
  7. MFC新建文件夹、打开文件夹的实现方法
  8. java中线程总结_java中多线程学习笔记总结
  9. (转)JavaScript导出Word后对Word分页的处理
  10. 一张图30分钟带你入门python-大数据时代来了!神级程序员一张图帮你梳理Python脉络,快速入门...
  11. 服务器运维文章大合集
  12. TurboMosaic 如何制作照片马赛克效果
  13. 【译】2018 年前端开发回顾
  14. 当智能门锁已不再是锁
  15. AES加密算法|密码学|网络空间安全
  16. lisp方格网法计算土方量_土地整理中方格网法计算土方量
  17. 知识图谱认知智能理论与实战----------第二章 知识图谱模式设计
  18. 别下载CAJ了!用这个插件,轻松在知网下载PDF
  19. 安卓13开发者模式怎么开?
  20. mysql return more than 1 row_关于mysql错误:Subquery returns more than 1 row

热门文章

  1. SET ANSI_NULLS ON和SET QUOTED_IDENTIFIER ON
  2. (三)SpringCloud实战微服务
  3. 让Linux系统崩溃的命令
  4. Cesium 修改球体
  5. 计算机二级c语言蒙题技巧,计算机选择题蒙题技巧,计算机二级考试怎么自学...
  6. Microsoft Store微软应用商店打开报错“0x80131500”或“0x80072EFD”解决方案
  7. ROS 乌龟追逐实验
  8. 2.3ORBSLAM3之相机模型与畸变模型
  9. 再度斩获两大奖项! ALVA Systems 驱动智能制造新征程
  10. 笔记|计算机数据表示实验(HUST)|偶校验编码设计