
python
文章平均质量分 78
蓝翔厨师长
AI量化算法工程师
展开
-
A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer...
a = pd.DataFrame({'a':[1,2,3],'b':[1,2,3]})print(a)用如下代码形式会出差:a[a['a']==1]['b'] =0print(a)正确用法为:a.loc[a['a']==1,'b'] = 0print(a)原创 2020-12-03 20:26:27 · 604 阅读 · 0 评论 -
使用ARMA对沪指进行拟合(python)
历年沪指下载地址初步查看趋势,季节等影响因素:time_price_data = time_price_data.set_index('日期')#对趋势、季节性、残差进行画图分析,默认加法模型res = sm.tsa.seasonal_decompose(time_price_data['收盘价'],freq = 289)res.plot()plt.show()按照月,季度,年来统计,并画图data_month = time_price_data.resample('M').mean(原创 2020-12-03 19:04:52 · 775 阅读 · 0 评论 -
二维list查看最大值 python
a = [[4,6],[5,7]]max_num = max(max(row) for row in a)print(max_num)out:7原创 2020-11-28 22:20:48 · 1162 阅读 · 0 评论 -
python读取xls文件
import pandas as pddata = pd.read_excel('my_file.xls')原创 2020-11-27 11:46:37 · 523 阅读 · 0 评论 -
python-list中在指定位置插入特定值
在解决动态规划等问题时,往往需要在list的特定位置插入特定值,这就需要用到insert()函数,用法如下:list.insert(index,value)举例list = [999,0,520,1024]list.insert(0,996)输出结果:[996, 999, 0, 520, 1024]...原创 2020-11-26 21:49:47 · 7496 阅读 · 2 评论 -
Anaconda虚拟环境创建、激活、退出、删除操作
打开Anaconda Prompt创建虚拟环境conda create -n your_env_name python=3.6创建虚拟环境可能运行较慢。激活虚拟环境激活虚拟环境Anaconda Prompt和cmd下略有不同Anaconda Prompt:conda activate your_env_namecmd:activate your_env_name退出虚拟环境Anaconda Prompt:conda deactivatecmd:Anaconda Prompt删除虚原创 2020-11-24 22:43:21 · 673 阅读 · 0 评论 -
基于领域的协同过滤——推荐系统surpriseKNN家族
基于领域的协同过滤主要有两种:UserCF、ItemCF基于用户的协同过滤(UserCF)利用用户的相似度来计算用户的相似度step1:找到和目标用户兴趣相似的用户集合,用Jaccard相似度、余弦相似度等相似度计算方法;step2:用户u对物品i的相似度,等价于K个邻居对物品i的兴趣度;step3:把和用户兴趣相同的k个邻居喜欢的物品进行汇总,去掉用户u已经喜欢过的物品,剩下的按照从大到小进行推荐。基于物品的协同过滤(ItemCF)利用用户行为相似度计算物品的相似度:step1:计算物品之原创 2020-11-15 14:05:00 · 1469 阅读 · 0 评论 -
推荐系统矩阵分解surprise——奇异值分解(Singular Value Decomposition,SVD)及SVD家族(FunkSVD、BisaSVD,SVD++)
奇异值分解为矩阵分解的一种方法。奇异值分解(SVD)将目标矩阵A,转化为三个矩阵相乘,如下:其中,A为目标矩阵,表示user对item的打分;P为左奇异矩阵,mm维,为User矩阵;Q为右奇异矩阵,nn维,为item矩阵;Λ为对角矩阵,对角线上的非零元素为特征值λ1, λ2, … , λk。thinking:Λ矩阵需要由矩阵A求得,这就需要矩阵A是一个非稀疏矩阵,而现实中,就是因为矩阵A的未知元素太多,我们才做预测并推荐,所以SVD在推荐系统中反而不太使用,但可运用到图片压缩(降维)。SVD图原创 2020-11-11 11:42:15 · 1879 阅读 · 0 评论 -
surprise推荐系统工具-Baseline算法、Slope One算法详解及movieLens案例
surprise推荐系统工具surprise推荐系统工具下有很多推荐算法:本文主要讲一下Baseline算法和SlopeOneBaseline算法论文地址:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.476.4158&rep=rep1&type=pdfBaseline算法是一种基于统计基准分数进行预测的算法。bui为预测值;u为均值;bu为用户偏好;bi为商品差异。结合原文进行解释。1.我们知道所有原创 2020-11-08 16:42:12 · 1348 阅读 · 0 评论 -
推荐算法-矩阵分解(Matrix Factorization,MF)
常用的推荐算法基于协同过滤的推荐算法是主流思想之一;基于模型与基于领域的推荐算法之间的区别为:基于领域的协同过滤是将用户的数据读入到内存中进行运算,也称为基于内存的协同过滤(Memory-based)。数据量少的情况下,可以在线实时推荐;基于模型的推荐(Model-based),采用机器学习的方式,分成训练集和测试集。离线训练时间比较长,但训练完成后,推荐过程比较快。隐语义模型是指通过挖掘用户与物品之间的隐含联系,从而对用户进行推荐。一、矩阵分解是什么?如上表所示,是一个user-item的评原创 2020-11-06 15:03:18 · 7792 阅读 · 1 评论 -
闲来无聊写了一下train_test_split
#random进行随机选取import pandas as pdimport numpy as npimport randomfrom sklearn import datasets#主函数def myself_split(x,y,test_size): x = pd.DataFrame(x) y = pd.DataFrame(y) row = len(x) test_row_num = int(row * test_size) test_index =原创 2020-11-05 11:52:29 · 239 阅读 · 0 评论 -
SimpleTagBased算法(基于用户标签做推荐)
一、SimpleTagBased算法简介step1:统计每个用户的常用标签;step2:对每个标签,统计被打过这个标签次数最多的商品;step3:对于某一个具体用户,找到他最常用的标签,将这些标签最热门的物品推荐给他;step4:排序推荐。排序得分公式如下:针对用户1排序如下:得分= 用户1使用标签t的次数(n)*商品i被打过标签t的次数(n)二、数据结构化针对三个变量(user,item,tag)的数据结构,对其定义如下:用户打标签记录:record[i] = {user,item,原创 2020-11-05 10:46:27 · 1720 阅读 · 0 评论 -
聚类算法(EM,Expectation Maximization)原理及聚类(GMM,GaussianMixture)实战——python
聚类算法原理简介(EM)EM聚类原理如其名称所示,EM聚类主要是两个步骤,一是期望步骤(Expectation);二是最大化步骤(Maximization)。thinking:一个西瓜分给两个人,怎么才能切的合理?第一步是随机切一刀,观察预期,这就是期望步骤(Expectation);第二步是如果存在偏差,需要重新评估如何切,即重新评估参数,这就是最大化步骤(Maximization)。EM算法是一种求解最大似然估计的方法,通过观测样本,来找出样本的模型参数。通过EM算法中的E步来进行观察,然后通过原创 2020-11-03 18:39:55 · 2726 阅读 · 0 评论 -
python 查找两列不同的值、相同的值(dataframe数据探索)
在做数据挖掘时,查看训练集、测试集数据的情况时,有时需要查看两者之间不同的值和相同的值。import pandas as pdimport numpy as npdata1 = pd.DataFrame({ 'a':[1,2,3,4,5,6,7,8,9,9]})data2 = pd.DataFrame({ 'a':[1,12,13,14,15,16,17,18,19,19]})def same_element(list1,list2): set1 = set(list1原创 2020-10-30 21:43:20 · 14069 阅读 · 0 评论 -
python归一化(MinMaxScaler)、标准化(StandardScaler)、正则化(Normalizer)
import pandas as pdimport numpy as npfrom sklearn.preprocessing import MinMaxScaler,Normalizer,StandardScalerdata = pd.DataFrame( { 'a':[1,2,3], 'b':[5,6,6], 'c':[9,100,2] })#归一化(MinMaxScaler)min_max_scaler = MinMaxSca原创 2020-10-30 18:39:45 · 2998 阅读 · 0 评论 -
python检查中文文章、字段、新闻抄袭情况,returntopN抄袭文章(抄袭识别技术方案一)
项目背景国内文章、新闻、微博抄袭情况严重(包括优快云),如何在大数据背景下快速识别抄袭来源于“我方”的文本显得尤为重要,word自带的查重,网上一些查重软件只能查一份文件的查重率,暴露两大缺点,一是作为机构方,只想查到抄袭我方机构的文献及抄袭我方的情况,且是否抄袭过大,而不是查重软件的查重率,二是一份一份上传效率上不高。一、项目总体介绍大数据时代下,对数据库的文本进行查询,设置我方机构和非我方的文本,将非我方机构涉嫌抄袭我方机构的文本可能抄袭的topN文献输出。(数据源、代码在文末链接)二、使用到原创 2020-10-29 11:35:54 · 782 阅读 · 0 评论 -
K_means聚类python实战
K_means工作原理step1:随机选择K个点作为类(簇)的中心点,K为重要的超参数,选择k值可用手肘法;step2:将每个点分配到最近的类中心点,并重新计算每个类的中心点;step3:重复step2,直到类中心不发生变化,或者迭代次数到了你设置的值。K_means调用sklearn工具来实现step1:导入数据;step2:数据预处理;step3:手肘法选用k值;step4:聚类结果输入,最后再人工判断每个簇的特性。import pandas as pdfrom sklearn.cl原创 2020-10-26 16:14:00 · 428 阅读 · 0 评论 -
机器学习之朴素贝叶斯分类器三
常用的朴素贝叶斯工具有三个,sklearn下的BernoulliNB(伯努利朴素贝叶斯)、GaussianNB(高斯朴素贝叶斯)、MultinomialNB(多项式朴素贝叶斯)。伯努利朴素贝叶斯:用在特征变量为0、1分布。查看模型的属性:class_count_ :训练样本中每种类别对应的样本个数feature_count_:每种类别中各个特征出现的次数高斯朴素贝叶斯:用在特征变量是连续值的情况查看模型属性:class_count_ :训练样本中每种类别对应的样本个数class_prior_原创 2020-10-25 18:22:27 · 452 阅读 · 0 评论 -
机器学习之朴素贝叶斯(连续值)二
朴素贝叶斯分类器(连续值)某样本如下:问题:身高170,体重130,鞋码42,请问是男是女?当特征为连续值时,直接求条件概率就比较困难。假设特征均为正太分布,即身高、体重、鞋码均为正太分布,正太分布的均值、标准差由样本算出,根据正太分布算出某一个特征的具体值。实现求正太分布中某一值的概率密度,如下:from pandas import DataFramefrom scipy import stats#step1 导入数据data = DataFrame({'身高':[183,182,17原创 2020-10-24 21:49:40 · 1773 阅读 · 1 评论 -
python 关联规则(Association Rules)理论、Apriori算法案例实战
关联规则、Apriori算法原理及实战关联规则中三个重要知识点Apriori算法原理Apriori算法原理Apriori算法流程Apriori算法案例Apriori算法应用关联规则中三个重要知识点某家水果店的订单清单如下:购物单号购买的水果1苹果、香蕉、梨2苹果、香蕉、梨、芒果3香蕉、梨、芒果、水蜜桃4苹果、芒果5苹果、水蜜桃支持度:百分比数,表示一个商品组合出现的次数与总次数之间的比值,支持度越高,说明组合出现的概率越高。Support(原创 2020-09-21 20:52:44 · 3737 阅读 · 2 评论 -
python 爬取12365auto投诉信息
#爬取12365auto投诉信息#导入request、BeautifulSoup、Pandasimport requestsfrom bs4 import BeautifulSoupimport pandas as pd#url = 'http://www.12365auto.com/zlts/0-0-0-0-0-0_0-0-1.shtml'#得到网页信息def get_page_soup(url): #headers设置 headers={'user-agent': 'Mo原创 2020-09-20 13:51:02 · 464 阅读 · 0 评论 -
python 使用LR分类器对MNIST手写数字进行识别
#导入数据集包、lr等包from sklearn.model_selection import train_test_splitfrom sklearn import preprocessingfrom sklearn.metrics import accuracy_scorefrom sklearn.datasets import load_digitsfrom sklearn.linear_model import LogisticRegression#加载数据,数据归一化后,切分数据集训原创 2020-09-19 15:02:07 · 410 阅读 · 0 评论 -
python leetcode第1051题、剑指offer 53-II、第673题(学习笔记第三周)
目录leetcode第1051题(高度检查器)leetcode剑指offer 53-II( 0~n-1中缺失的数字)leetcode第673题( 最长连续递增序列)leetcode第1051题(高度检查器)学校在拍年度纪念照时,一般要求学生按照 非递减 的高度顺序排列。请你返回能让所有学生以 非递减 高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。示例:输入:heights = [1,1,4,2,1,3]输出:3解释:原创 2020-07-12 21:40:09 · 186 阅读 · 0 评论 -
python leetcode第1题~第3题(学习笔记第二周)
目录leetcode第1题(两数之和)leetcode第2题(两数相加)leetcode第3题(无重复字符的最长子串)leetcode第1题(两数之和)给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回原创 2020-07-04 00:17:20 · 207 阅读 · 0 评论 -
python 常用函数(周学习笔记一)
目录1、map()2、lambda()3、divmod()4、emumerate()1、map()map()函数是根据func,对后续list的每一个元素做一个映射功能,极大扩展了对list的操作空间。#map()函数语法map(func,list1,list2,...)#如下list1 = [1,2,3]def mul(a): return a*2print(list(map(mul,list1)))out:[2,4,6]2、lambda()匿名函数lambda(),当函数功能只原创 2020-06-28 09:38:04 · 170 阅读 · 0 评论 -
python 链家在售数据爬取案例实战
链家爬虫是很早之前写的,具体的思路可以参考上一篇python 爬取链家成交房数据案例,代码有很多不成熟的地方,但也懒得改了。在当时写的时候很多知识点忘记了,请教了同门何师弟和胡姐。大佬请让道,不喜勿碰。#导包from bs4 import BeautifulSoupimport requestsimport reimport timeimport pandas as pdimport jsonimport time#伪造设置浏览器请求头user-agenthead = { 'U原创 2020-05-27 14:18:04 · 1060 阅读 · 0 评论 -
python 爬取链家成交房数据案例
爬取链家网流程为request.get得到网页信息,将得到的信息放入BeautifulSoup,再调用select爬取所需信息,用re正则表达式进行更细的筛选,用strip过滤无用字符串。具体代码如下:import reimport timeimport pandas as pdimport jsonimport time#伪造设置浏览器请求头user-agent#修改starturl_list即可head = { 'User-Agent': 'Mozilla/5.0 (Windo原创 2020-05-27 14:08:11 · 1750 阅读 · 9 评论 -
统计学中缺失值处理-python实现
统计学中缺失值处理-python缺失值类型1.完全随机缺失(missing completely at random,MCAR):指缺失值是完全随机,不依赖于其他任何变量(完全变量和非完全变量);2.随机缺失(missing at random,MAR):指缺失值的缺失依赖于其他完全变量;3.完全非随机缺失(missing not at random,MNAR):指缺失值的缺失与不完全变量...原创 2020-04-08 22:21:49 · 1599 阅读 · 0 评论