自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (2)
  • 收藏
  • 关注

原创 算法学习笔记

1:pangrankPageRank算法 -- 从原理到实现https://blog.csdn.net/u013007900/article/details/88961913将PageRank 从网页链接拓展到了 文本处理上。从有向图无权重图变成了无向有权图。我们想了解 TextRank 就可以想从 PageRank 看起。PageRankPageRank算法可谓是大名鼎鼎了,在IT届要是没听过的人也是极少了。这是一个用于评估网页重要度排序的算法。公式如下我的理解是:一个页面是.

2021-05-19 00:26:13 216

原创 leetcode 寻找峰值

# 原来的逻辑 找到索引最大的那个山峰元素并返回其索引class Solution: def solve(self , a ): # write code here n = len(a) if a[n-1] > a[n-2]: return n-1 if a[0]>a[1]: return 0 i=n-2 while i>0: .

2021-05-09 21:02:25 176

原创 python pandarallel 加快pandas 运行速度

目前我看到5 种方法:python多进程 最常用的几种方式:1、multiprocessing2、concurrent.futures.ProcessPoolExecutor()3、joblib使用 joblib 模块对 Pandas加速如果需要对一个很大的数据集进行操作,而基于一列数据生成新的一列数据可能都需要耗费很长时间。于是可以使用 joblib 进行并行处理。假设我们有一个 dataframe 变量 data,要基于它的 source 列生成新的一列 double,其

2021-03-07 23:44:30 2081

原创 python 字典 defaultdict

统计strings 中某个单词出现的次数strings = ('puppy', 'kitten', 'puppy', 'puppy', 'weasel', 'puppy', 'kitten', 'puppy')counts = {}for kw in strings: if kw not in counts: counts[kw] = 1 else: counts[kw] += 1''也可以使用setdefault() 方法

2021-03-06 19:25:59 189

原创 python 常用代码

函数1:#根据每列的类型分别放进不同的列表#根据每列的类型分别放进不同的列表def num_cat_type(data): numtype=[] cattype=[] for i in data.columns: if data[i].dtype == 'O': cattype.append(i) else: numtype.append(i) return numtype,cattyp.

2020-07-09 23:11:03 217

原创 梯度

梯度简单来说,例如有 y=f(x0,x1)像这样的全部由变量的偏导数组成的向量称为梯度(gradient)。实际上,梯度会指向各点处的函数值降低的方向。更严格的讲,梯度指示的方向是各点处的函数值减少最多的方向。为什么这么说,因为方向导数=cos()×梯度,而是方向导数的方向和梯度方向的夹角。所以,所有的下降方向中,梯度方向下降的最多。梯度法神经网络的主要任务是在学习时找到最优的参数(权重和偏置),这个最优参数也就是损失函数最小时的参数。但是,一般情况下,损失函数比较复杂,...

2020-05-22 08:01:51 1929

原创 datetime 学习2

datetime.timedelta类介绍Python datetime模块学习

2020-04-27 00:11:05 293

原创 leetcode算法:204 质数计数

统计所有小于非负整数n的质数的数量。# 统计所有小于非负整数 n 的质数的数量。def countPrimes(data): #判断质数 def is_prime(number): if number > 1: if number == 2: return True ...

2020-04-19 23:45:02 165

原创 leetcode算法:202 快乐数(暴力法,hashset)

class Solution: def isHappy(self, n: int) -> bool: for i in range(100): ans =0 while n>0: ans += (n%10)*(n%10) n //=...

2020-04-19 22:36:53 299 1

原创 datetime 模块学习

以前总记不住,现在做个笔记看能否记忆深刻datetime模块下面有好几大类,常用的有date类(日期对象,常用的属性有year,month,day),time类(时间对象),datetime类(日期时间对象,常用属性有hour,minute,second,microsecond),还有timedelta类from datetime import datetimenow = datet...

2020-04-17 23:56:09 210

原创 Python迭代器和生成器

顾名思义,迭代器就是用于迭代操作(for 循环)的对象,它像列表一样可以迭代获取其中的每一个元素,任何实现了 __next__ 方法 (python2 是 next)的对象都可以称为迭代器。它与列表的区别在于,构建迭代器的时候,不像列表把所有元素一次性加载到内存,而是以一种延迟计算(lazy evaluation)方式返回元素,这正是它的优点。比如列表含有中一千万个整数,需要占超过400M的内...

2020-04-07 01:35:29 313

原创 推荐系统实战(8)——混合推荐算法

各种推荐方法都有优缺点,为了扬长补短,在实际中常常采用混合推荐。研究和应用最多的是内容推荐和协同过滤推荐的组合。最简单的做法就是分别用基于内容的方法和协同过滤推荐方法去产生一个推荐预测结果,然后用某方法组合其结果。组合推荐一个最重要原则就是通过组合后要能避免或弥补各自推荐技术的弱点。1 加权式加权多种推荐技术结果:2 切换式根据问题背景和实际情况或要求决定变换采用不同的...

2020-03-29 11:38:11 4684

原创 推荐系统实战(7)——基于知识的推荐算法

1 概述基于知识(Knowledge-based, KB)的推荐算法,是区别于基于CB和基于CF的常见推荐方法。如果说CB和CF像通用搜索引擎的话,KB好比某个领域的垂直搜索引擎,可以提供该领域的特殊需求,包括专业性的优质特征,帮助提高搜索引擎在特定领域的服务。基于知识的推荐,也更容易满足主观个性化需求。例如,对于VIP用户,如果配置好了偏好,就可以为其提供更加精准的推荐服务。2 约束知...

2020-03-29 11:29:20 4565

原创 推荐系统实战(6)——评估

1、打分系统-评分误差率2、Top-N推荐系统2.1 准确率2.2 召回率2.3、覆盖率2.4、多样性2.5、其他(新颖度、惊喜度、信任度、实时性)...

2020-03-29 11:27:43 498 1

原创 推荐系统总结

推荐系统实战(1)——基于用户的协同过滤算法(代码实现)推荐系统实战(2)——基于物品的协同过滤算法(代码实现),U-CF和I-CF的比较推荐系统实战(3):冷启动推荐系统实战(4)——基于模型的协同过滤算法(隐语义模型LFM)(代码实现)推荐系统实战(5)——基于内容的推荐算法(CB)...

2020-03-29 11:23:52 208

原创 推荐系统实战(5)——基于内容的推荐算法(CB)

1 基础CB推荐算法基础CB推荐算法利用物品的基本信息和用户偏好内容的相似性进行物品推荐。通过分析用户已经浏览过的物品内容,生成用户的偏好内容,然后推荐与用户感兴趣的物品内容相似度高的其他物品。比如,用户近期浏览过冯小刚导演的电影“非诚勿扰”,主演是葛优;那么如果用户没有看过“私人订制”,则可以推荐给用户。因为这两部电影的导演都是冯小刚,主演都有葛优。算法流程算法输入:物品信息,用...

2020-03-29 11:05:04 2770 1

原创 推荐系统实战(4)——基于模型的协同过滤算法(隐语义模型LFM)(代码实现)

1 基本原理LFM(Latent Factor Model)隐语义模型是最近几年推荐系统领域最为热门的研究话题,它的核心思想是通过隐含特征(Latent Factor)联系用户兴趣和物品。那这种模型跟ItemCF或UserCF有什么不同呢?这里可以做一个对比:对于UserCF,我们可以先计算和目标用户兴趣相似的用户,之后再根据计算出来的用户喜欢的物品给目标用户推荐物品。 而ItemCF,...

2020-03-28 14:13:13 4412

原创 推荐系统实战(3):冷启动

推荐系统需要根据用户的历史行为和兴趣预测用户未来的行为和兴趣,因此大量的用户行为数据就成为推荐系统的重要组成部分和先决条件。对于很多做纯粹推荐系统的网站(比如Jinni和Pandora),或者很多在开始阶段就希望有个性化推荐应用的网站来说,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动的问题。3.3.1 冷启动问题简介冷启动问题(c...

2020-03-28 01:35:23 317

原创 推荐系统实战(2)——基于物品的协同过滤算法(代码实现),U-CF和I-CF的比较

基于物品的协同过滤(item-based collaborative filtering)算法是目前业界应用最多的算法。无论是亚马逊网,还是Netflix、Hulu、YouTube,其推荐算法的基础都是该算法。基于用户的协同过滤算法在一些网站(如Digg)中得到了应用,但该算法有一些缺点。首先,随着网站的用户数目越来越大,计算用户兴趣相似度矩阵将越来越困难,其运算时间复杂度和空间复杂...

2020-03-28 01:34:11 2636

原创 推荐系统实战(1)——基于用户的协同过滤算法(代码实现)

基于用户的协同过滤算法主要包含以下两个步骤:A. 搜集用户和物品的历史信息,计算用户u和其他用户的相似度,找到和目标用户Ui兴趣相似的用户集合N(u)B.找到这个集合中用户喜欢的,且目标用户还没有听说过的物品推荐给目标用户。适用性由于需计算用户相似度矩阵,基于用户的协同过滤算法适用于用户较少的场合; 由于时效性较强,该方法适用于用户个性化兴趣不太明显的领域。file = ...

2020-03-27 10:19:33 2721

原创 neo4j学习(6)快捷键

快捷键关于Neo4j浏览器的初次使用有几个快捷键:默认单行输入,按回车执行命令 输入一行命令之后,按SHIFT + ENTER进入多行输入状态(也就是之后不用在多次按住shift+enter) 在多行输入时,CTRL + ENTER执行命令 **ESC可以放大输入框至屏幕大小,复杂查询的时候,很方便**。...

2020-03-26 01:39:39 475

原创 neo4j学习(5):唯一约束 unique

比如例子中,如果对number 建立唯一性约束,那么如果原表有重复的话就不能新建一条记录了。(不对,这里应该叫不能创建一条重复的节点了)建立约束:CREATE CONSTRAINT ON (cc:CreditCard)ASSERT cc.number IS UNIQUEMATCH (cc:CreditCard) RETURN cc.id,cc.number,cc.name,cc.e...

2020-03-25 19:14:46 2263

原创 neo4j学习(4):order by,union all,index,limit

ORDER BYMATCH (emp:Employee)RETURN emp.empid,emp.name,emp.salary,emp.deptnoMATCH (emp:Employee)RETURN emp.empid,emp.name,emp.salary,emp.deptnoORDER BY emp.name DESC 默认升序union all 和uni...

2020-03-25 19:06:54 615

原创 neo4j学习(3):创建标签create,where子句,remove,delete,set

CREATE (<node-name>:<label-name>)为关系创建标签create (e:Employee)-[r:Relation]->(cc) 这里r是标签CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2) r1是关系名称LIKES是一个关系标签名称为节点创建标签CREAT...

2020-03-25 18:14:41 583

原创 neo4j学习(2)创建关系

1、没有属性的关系与现有节点MATCH (e:Customer),(cc:CreditCard) CREATE (e)-[r:DO_SHOPPING_WITH ]->(cc) MATCH (e)-[r:DO_SHOPPING_WITH ]->(cc) RETURN r2、与现有节点的属性的关系MATCH (cust:Customer),(cc:Credi...

2020-03-25 17:32:57 2950

原创 neo4j学习(1)-create,match,return

1、创建命令:CREATE (emp:Employee{id:123,name:"Lokesh",sal:35000,deptno:10})2、MATCHMATCH ( <node-name>:<label-name>)3、RETURN子句用于 -检索节点的某些属性检索节点的所有属性检索节点和关联关系的某些属性检索节点和关...

2020-03-25 16:50:17 655

原创 Hive的十四种调优方式:

参考:https://www.cnblogs.com/smartloli/p/4356660.htmlHive性能优化 https://blog.csdn.net/l1028386804/article/details/80629279?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribut...

2020-03-25 10:12:04 1713

原创 数据分析利器之hive优化十大原则(总结)

每次被问到这个问题,都不系统,这次想系统点的总结下:一. 表连接优化1. 将大表放后头Hive假定查询中最后的一个表是大表。它会将其它表缓存起来,然后扫描最后那个表。因此通常需要将小表放前面,或者标记哪张表是大表:/*streamtable(table_name) */2. 使用相同的连接键当对3个或者更多个表进行join连接时,如果每个on子句都使用相同的连接键的话,那么...

2020-03-23 15:17:43 367

原创 机器学习之 基于xgboost的特征筛选

本文主要是基于xgboost进行特征选择,很多人都知道在后面的模型选择时,xgboost模型是一个非常热门的模型。但其实在前面特征选择部分,基于xgboost进行特征筛选也大有可为。#coding=utf-8import pandas as pdimport xgboost as xgbimport os,random,pickleos.mkdir('featurescore'...

2020-03-19 01:15:43 4166 1

原创 拍拍贷魔镜杯风控算法大赛项目

(以后更新)数据集构成:三万条已知标签的训练集,二万条不知标签的测试集训练集和测试集均有三种表:Master(主要的特征表),Log_Info(用户登陆信息表),Userupdate_Info(客户信息修改更新表)(1)Master每一行代表一个样本(一笔成功成交借款),每个样本包含200多个各类字段。idx:每一笔贷款的unique key,可以与...

2020-03-18 14:56:31 1191 4

转载 Logistic 回归—网格搜索最优参数笔记

1、准备# 首先 import 必要的模块import pandas as pd import numpy as np from sklearn.model_selection import...

2020-03-18 14:00:35 1366

原创 python reset_index()和set_index()的使用

df = pd.DataFrame({ 'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'], 'col2' : [2, 1, 9, np.nan, 7, np.nan], 'col3': [0, 1, 9, 4, 2, 3]})print(df) col1 col2 col30 A 2.0 01 A ...

2020-03-18 02:16:51 12409

原创 机器学习之xgbboost调参(网格搜索和交叉验证)

调参步骤:n_estimators max_depth 、min_child_weight gamma subsample、colsample_bytree reg_alpha、reg_lambda learning_rate下面这段网上摘抄的,应该要加上 预测测试集import xgboost as xgbfrom xgboost.sklearn import ...

2020-03-17 01:59:18 3385

原创 机器学习之recall、precision、accuracy

精确率, 准确率和召回率是广泛用于信息检索和统计学分类领域的度量值,用来评价结果的质量。下图可以帮助理解和记忆它们之间的关系, 其中精确率(precision)和准确率(accuracy)都是关于预测效果的描述. 召回率是关于预测样本的描述。精确率表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP), 也...

2020-03-14 18:49:46 1357

原创 机器学习之SVM(粗略的笔记)

SVM引入SVM是SupportVectorMachine的简称,它的中文名为支持向量机,属于一种有监督的机器学习算法,可用于离散因变量的分类和连续因变量的预测。通常情况下,该算法相对于其他单一的分类算法(如Logistic回归、决策树、朴素贝叶斯、KNN等)会有更好的预测准确率,主要是因为它可以将低维线性不可分的空间转换为高维的线性可分空间。由于该算法具有较高的预测准确...

2020-03-12 18:05:27 501

原创 机器学习之KNN

KNN模型引入与决策树功能类似,既可以针对离散因变量做分类,又可以对连续因变量做预测,其核心 思想就是比较已知y值的样本与未知y值样本的相似度,然后寻找最相似的k个样本用作未知样 本的预测。K最近邻算法,顾名思义就是搜寻最近的k个已知类别样本用于未知类别样本的预测。“最 近”的度量就是应用点之间的距离或相似性。距离越小或相似度越高,说明它们之间越近,关 于样本...

2020-03-11 18:53:57 408

原创 机器学习之层次聚类

层次聚类引入层次聚类跟kmeans聚类一样不适合非球样本,密度聚类DBSCAN就可以很好的聚类非球样本并且密度聚类可以非常方便地发现数据中的异常点。层次聚类的实质是计算各簇内样本点之间的相似度,并通过相似度的结果构建凝聚或分 裂的层次树。凝聚树是一种自底向上的造树过程,起初将每一个样本当作一个类,然后通过计 算样本间或簇间的距离进行样本合并,最终形成一个包含所有样本的大簇;分裂...

2020-03-11 18:48:05 424

原创 机器学习之密度聚类算法DBSCAN

密度聚类引入前面介绍了有关Kmeans聚类算法的理论和实战,也提到了该算法的两个致命缺点,一 是聚类效果容易受到异常样本点的影响;二是该算法无法准确地将非球形样本进行合理的聚 类。为了弥补Kmeans算法的两方面缺点,本章将介绍另一种聚类算法,即基于密度的聚类 DBSCAN(Density-Based Special Clustering of Applications w...

2020-03-11 18:40:07 1175

原创 defaultdict用法

from collections import defaultdict相对dict,defaultdict有个好处是 当index不存在时可以返回工厂函数的默认值如何使用defaultdict呢,dict=defaultdict(factory_function)这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默...

2020-03-11 00:09:41 197

原创 Python 在cmd中import模块成功,但是在jupyter notebook中No module xxx found

Python 在cmd中import模块成功,但是在jupyter notebook中No module xxx found https://www.cnblogs.com/jisongxie/p/9892660.html

2020-03-10 19:24:54 986

算法图解 像小说一样有趣的算法入门书

编写一本图解式图书。要把难懂的技术主题说清楚,让这本算法书易于理解。与撰写第一篇博文时相比,我的写作水平有了长足进步,但愿你也认为本书内容丰富、易于理解。

2018-08-31

Hadley Wickham tidy data

哈神大作。你值得拥有。相关中文翻译,百度有。先浏览下中文快速学习知识吧

2018-04-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除