Apache Axis

基于用户的协同过滤来构建推荐系统

白昼怎懂夜的黑 提交于 2020-08-10 03:57:14
1.概述 之前介绍了如何构建一个推荐系统,今天给大家介绍如何基于用户的协同过滤来构建推荐的实战篇。 2.内容 协同过滤技术在推荐系统中应用的比较广泛,它是一个快速发展的研究领域。它比较常用的两种方法是基于内存( Memory-Based )和基于模型( Model-Based )。 基于内存:主要通过计算近似度来进行推荐,比如基于用户( Used-Based )和基于物品( Item-Based )的协同过滤,这两个模式中都会首先构建用户交互矩阵,然后矩阵的行向量和列向量可以用来表示用户和物品,然后计算用户和物品的相似度来进行推荐; 基于模型:主要是对交互矩阵进行填充,预测用户购买某个物品的可能性。 为了解决这些问题,可以通过建立协同过滤模型,利用购买数据向客户推荐产品。下面,我们通过基于用户的协同过滤(基于内存),通过实战来一步步实现其中的细节。基于用户的系统过滤体现在具有相似特征的人拥有相似的喜好。比如,用户A向用户B推荐了物品C,而B购买过很多类似C的物品,并且评价也高。那么,在未来,用户B也会有很大的可能会去购买物品C,并且用户B会基于相似度度量来推荐物品C。 2.1 基于用户与用户的协同过滤 这种方式识别与查询用户相似的用户,并估计期望的评分为这些相似用户评分的加权平均值。实战所使用的Python语言,这里需要依赖的库如下: pandas numpy sklearn

用 Python 将 Excel 表格转成可视化图形

一个人想着一个人 提交于 2020-08-08 22:56:05
大家知道,考研很大一部分也是考信息收集能力。每年往往有很多人就是在这上面栽跟头了,不能正确分析各大院校往年的录取信息,进而没能选择合适的报考院校。 至于很多院校的录取信息是以 PDF 形式发布,例如我手上的深大电通录取结果,这就需要我们先把 PDF 转化为 Excel 啦。 (1)PDF (2)Excel 有了 Excel,那我们就可以为所欲为了! 开始 1. 载入 Excel 表格 #coding=utf8 import xlrd import numpy as np from pyecharts.charts import Bar from pyecharts.charts import Pie, Grid from pyecharts import options as opts #==================== 准备数据 ==================== # 导入Excel 文件 data = xlrd.open_workbook("C:/深圳大学电子与信息工程学院2020年电子信息硕士生拟录取名单.xlsx") # 载入第一个表格 table = data.sheets[0] 2. 提取 Excel 表格数据 tables = def Read_Excel(excel): # 从第4行开始读取数据,因为这个Excel文件里面从第四行开始才是考生信息

GWAS: 曼哈顿图,QQ plot 图,膨胀系数( manhattan、Genomic Inflation Factor)

喜你入骨 提交于 2020-08-08 21:40:44
画曼哈顿图和QQ plot 首推R包“qqman”,简约方便。下面具体介绍以下。 一、画曼哈顿图 install.packages("qqman") library(qqman)    1、准备包含SNP, CHR, BP, P的文件gwasResults(如果没有zscore可以不用管),如下所示: 2、上代码,如下所示: manhattan(gwasResults)    如果觉得不够美观,考虑添加一下参数: manhattan(gwasResults, main = "Manhattan Plot", ylim = c(0, 10), cex = 0.6, cex.axis = 0.9, col = c("blue4", "orange3"), suggestiveline = F, genomewideline = 6, chrlabs = c(1:20, "P", "Q"))    二、画 QQ plot 图 直接上代码: qq(gwasResults$P)    同样的,还可以修改参数,美观一下: qq(gwasResults$P, main = "Q-Q plot of GWAS p-values", xlim = c(0, 7), ylim = c(0, 12), pch = 18, col = "blue4", cex = 1.5, las = 1)    三

Python词云分析:今年的政府工作报告有哪些关键词?

扶醉桌前 提交于 2020-08-08 13:26:01
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 昨天,十三届全国人大三次会议作了政府工作报告。这份政府工作报告仅有10500字左右,据悉是改革开放40年以来最短的一次。受到疫情影响,今年的两会会议适当缩短,政府工作报告也大幅压缩,体现了“实干为要”的理念。那么,这份政府工作报告突出强调了哪些关键词呢?我们其实可以基于Python技术进行词频分析和词云制作! import matplotlib.pyplot as plt # 绘图库 import jieba from wordcloud import WordCloud # 读入文本数据 fp = open(r ' D:\爬虫下载\2020年政府工作报告.txt ' , ' r ' ,encoding= ' utf-8 ' ) content = fp.read() # print(content) # 分词 words = jieba.lcut(content) # 词频分析操作 data = {} for word in words: if len(word)>1 : if word in data: data[word] +=1 else : data[word] =1 # print(data) # 排序 hist = list(data

大佬整理的Python数据可视化时间序列案例,建议收藏(附代码)

て烟熏妆下的殇ゞ 提交于 2020-08-08 05:33:11
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 时间序列 1、时间序列图 时间序列图用于可视化给定指标如何随时间变化。在这里,您可以了解1949年至1969年之间的航空客运流量如何变化。 # Import Data df = pd.read_csv( ' https://github.com/selva86/datasets/raw/master/AirPassengers.csv ' ) # Draw Plot plt.figure(figsize=(16,10), dpi= 80 ) plt.plot( ' date ' , ' traffic ' , data=df, color= ' tab:red ' ) # Decoration plt.ylim(50, 750 ) xtick_location = df.index.tolist()[::12 ] xtick_labels = [x[-4:] for x in df.date.tolist()[::12 ]] plt.xticks(ticks =xtick_location, labels=xtick_labels, rotation=0, fontsize=12, horizontalalignment= ' center ' ,

Python机器学习笔记:SVM(4)——sklearn实现

喜欢而已 提交于 2020-08-08 04:27:42
  上一节我学习了SVM的推导过程,下面学习如何实现SVM, 具体的参考链接都在第一篇文章中 ,SVM四篇笔记链接为: Python机器学习笔记:SVM(1)——SVM概述 Python机器学习笔记:SVM(2)——SVM核函数 Python机器学习笔记:SVM(3)——证明SVM Python机器学习笔记:SVM(4)——sklearn实现   对SVM的概念理清楚后,下面我们对其使用sklearn进行实现。 1,Sklearn支持向量机库概述   我们知道SVM相对感知器而言,它可以解决线性不可分的问题,那么它是如何解决的呢?其思想很简单就是对原始数据的维度变换,一般是扩维变换,使得原样本空间中的样本点线性不可分,但是在变维之后的空间中样本点是线性可分的,然后再变换后的高维空间中进行分类。   上面将SVM再赘述了一下,下面学习sklearn中的SVM方法,sklearn中SVM的算法库分为两类,一类是分类的算法库,主要包含LinearSVC,NuSVC和SVC三个类,另一类是回归算法库,包含SVR,NuSVR和LinearSVR三个类,相关模块都包裹在sklearn.svm模块中。   对于SVC,NuSVC和LinearSVC 三个分类的库,SVC和NuSVC差不多,区别仅仅在于对损失的度量方式不同,而LinearSVC从名字就可以看出,他是线性分类

Python笔记:用matplotlib绘制面积图

五迷三道 提交于 2020-08-07 21:44:45
用pyecharts绘制出来的面积图、圆环图太有个性了,未免感觉有点“高处不胜寒”。今晚虽然休息,但继用matplotlib绘制折线图之后,我又心血来潮地想用matplotlib来制作一点面积图,因为这在零售行业也是常用的可视化图形之一。具体如下: 绘制常规面积图(饼图): # 导入库 import matplotlib.pyplot as plt import numpy as np # 在线显示 %matplotlib inline # 让中文标签正常显示 plt.rcParams["font.sans-serif"] = ["SimHei"] # 让负号正常显示 plt.rcParams["axes.unicode_minus"] = False # 调整画布的大小 fig = plt.figure(figsize = (10,10)) # 准备待传入的参数 # 数值 data=[100,125,135,145,150] # 各扇区的我颜色 colors = ["DarkMagenta", "Teal", "pink", "SlateGray", "Tomato"] # 对应的标签 labels = ["蔬菜", "水果", "水产", "猪肉", "综合"] # 直接绘制出一个简单而又原始的饼图 # plt.pie(data, labels = labels) #

一起学习flex布局(一)

北慕城南 提交于 2020-08-07 21:10:39
flex布局 flex布局指令详解 flex布局的优势 flex基本概念 flex属性详解 flex-direction justify-content align-items flex-wrap align-centent flex-flow flex布局指令详解 flex布局的优势 相较于传统的盒模型,使用 flex 不仅让代码拥有更清晰的结构,还大幅减少了布局代码的书写量。基于传统盒模型的布局,通常设置 display 和 position 以及 float 属性来完成布局,这样虽然也能实现大部分的布局样式,但其布局代码往往让人难以琢磨,可读性也很不友好。而基于flex的布局则完美的结局了这些问题,下面我们就一起来探究flex布局,你就能明白为什么flex布局为什么这么受欢迎了。 flex基本概念 flex 是 flex container 的缩写,称作 弹性盒模型 , flex 正如其名,天生就很灵活,因此使用 flex 布局能够简单高效的完成各种布局样式。 使用 flex 布局,要设置元素的 display 为 flex ,或者 inline-flex ,设置完成后,其子元素自动成为容器元素(flex-item) flex属性详解 在flex容器上一共有两个轴,分别为主轴(main axis)和交叉轴(cross axis),主轴既可以是水平方向也可以是垂直方向

Python --深入浅出Apriori关联分析算法(二) Apriori关联规则实战

好久不见. 提交于 2020-08-07 19:05:44
上一篇我们讲了关联分析的几个概念,支持度,置信度,提升度。以及如何利用Apriori算法高效地根据物品的支持度找出所有物品的频繁项集。 Python --深入浅出Apriori关联分析算法(一) 这次呢,我们会在上次的基础上,讲讲如何分析物品的关联规则得出关联结果,以及给出用 apyori 这个库运行得出关联结果的代码。 一. 基础知识 上次我们介绍了几个关联分析的概念,支持度,置信度,提升度。这次我们重点回顾一下置信度和提升度: 置信度(Confidence) :置信度是指如果购买物品A,有较大可能购买物品B。计算方式是这样: 置信度( A -> B) = (包含物品A和B的记录数量) / (包含 A 的记录数量) 举例:我们已经知道,(牛奶,鸡蛋)一起购买的次数是两次,鸡蛋的购买次数是4次。那么置信度Confidence(牛奶->鸡蛋)的计算方式是Confidence(牛奶->鸡蛋)=2 / 4。 提升度(Lift) :提升度指当销售一个物品时,另一个物品销售率会增加多少。计算方式是: 提升度( A -> B) = 置信度( A -> B) / (支持度 A) 举例:上面我们计算了牛奶和鸡蛋的置信度Confidence(牛奶->鸡蛋)=2/4。牛奶的支持度Support(牛奶)=3 / 5,那么我们就能计算牛奶和鸡蛋的支持度Lift(牛奶->鸡蛋)=0.83 当提升度(A->B

透过 NestedScrollView 源码解析嵌套滑动原理

血红的双手。 提交于 2020-08-07 13:26:19
NestedScrollView 是用于替代 ScrollView 来解决嵌套滑动过程中的滑动事件的冲突。作为开发者,你会发现很多地方会用到嵌套滑动的逻辑,比如下拉刷新页面,京东或者淘宝的各种商品页面。 那为什么要去了解 NestedScrollView 的源码呢?那是因为 NestedScrollView 是嵌套滑动实现的模板范例,通过研读它的源码,能够让你知道如何实现嵌套滑动,然后如果需求上 NestedScrollView 无法满足的时候,你可以自定义。 嵌套滑动 说到嵌套滑动,就得说说这两个类了:NestedScrollingParent3 和 NestedScrollingChild3 ,当然同时也存在后面不带数字的类。之所以后面带数字了,是为了解决之前的版本遗留的问题:fling 的时候涉及嵌套滑动,无法透传到另一个View 上继续 fling,导致滑动效果大打折扣 。 其实 NestedScrollingParent2 相比 NestedScrollingParent 在方法调用上多了一个参数 type,用于标记这个滑动是如何产生的。type 的取值如下: /** * Indicates that the input type for the gesture is from a user touching the screen. 触摸产生的滑动 */ public