自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (8)
  • 收藏
  • 关注

原创 ARIMA 对沪指进行拟合并预测

step1:数据加载step2:按月进行重采样step3:寻找最优AMIMA模型参数step4:差分预测结果放在futurestep5:预测结果import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport warningsfrom statsmodels.tsa.arima_model import ARIMAwarnings.filterwarnings('ignore')#中文标注正常显示pl

2020-12-04 17:18:55 312

原创 使用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 733

原创 全网最简单易懂的一篇文章,神经网络(Neural Network)入门级学习笔记

神经网络起源于上世纪五、六十年代,当时称之为“感知机”。神经网络主要由输入层、隐藏层、输出层所构成,其实质是一个一个端到端的黑盒,可解释性比较差。这里写目录标题一、前言二、前向传播激活函数是什么?基于numpy模拟简易的前向传播三、反向传播一、前言一个经典的神经网络结构如下图所示,蓝色代表输入层,红色代表隐藏层,黑色代表输出层,输入层为3个维度,隐藏层为4个维度,输出层为2个维度。其中,输入层和输出层的维度固定,唯有隐藏层的维度和层数不固定。thinging?如下图的网络结构:输入层(第0层

2020-11-24 16:17:17 749 2

原创 在神经网络中常用的激活函数

一、sigmiod激活函数激活函数公式:画图代码:https://github.com/HuangxinYu359/project/blob/master/nn/numpy%E6%A8%A1%E6%8B%9F%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/sigmiod.py特点:1.输入结果为连续实值,值域为(0,1);2.负无穷的结果为0,正无穷结果为1缺点:可能会产生梯度消失,小概率产生梯度爆炸。二、tanh激活函数激活函数公式:画图代码:ht

2020-11-23 20:21:38 1494

原创 推荐系统矩阵分解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 1756

原创 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 1273

原创 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 1616

原创 聚类算法(EM,Expectation Maximization)原理及聚类(GMM,GaussianMixture)实战——python

聚类算法原理简介(EM)EM聚类原理如其名称所示,EM聚类主要是两个步骤,一是期望步骤(Expectation);二是最大化步骤(Maximization)。thinking:一个西瓜分给两个人,怎么才能切的合理?第一步是随机切一刀,观察预期,这就是期望步骤(Expectation);第二步是如果存在偏差,需要重新评估如何切,即重新评估参数,这就是最大化步骤(Maximization)。EM算法是一种求解最大似然估计的方法,通过观测样本,来找出样本的模型参数。通过EM算法中的E步来进行观察,然后通过

2020-11-03 18:39:55 2485

原创 python检查中文文章、字段、新闻抄袭情况,returntopN抄袭文章(抄袭识别技术方案一)

项目背景国内文章、新闻、微博抄袭情况严重(包括CSDN),如何在大数据背景下快速识别抄袭来源于“我方”的文本显得尤为重要,word自带的查重,网上一些查重软件只能查一份文件的查重率,暴露两大缺点,一是作为机构方,只想查到抄袭我方机构的文献及抄袭我方的情况,且是否抄袭过大,而不是查重软件的查重率,二是一份一份上传效率上不高。一、项目总体介绍大数据时代下,对数据库的文本进行查询,设置我方机构和非我方的文本,将非我方机构涉嫌抄袭我方机构的文本可能抄袭的topN文献输出。(数据源、代码在文末链接)二、使用到

2020-10-29 11:35:54 703

原创 机器学习之朴素贝叶斯(连续值)二

朴素贝叶斯分类器(连续值)某样本如下:问题:身高170,体重130,鞋码42,请问是男是女?当特征为连续值时,直接求条件概率就比较困难。假设特征均为正太分布,即身高、体重、鞋码均为正太分布,正太分布的均值、标准差由样本算出,根据正太分布算出某一个特征的具体值。实现求正太分布中某一值的概率密度,如下:from pandas import DataFramefrom scipy import stats#step1 导入数据data = DataFrame({'身高':[183,182,17

2020-10-24 21:49:40 1701 1

原创 KNN(K-Nearest Neighbor)k个最近邻分类算法思想及原理

KNN算法思想:一个样本决定分类时,依靠其最近的K样本的分类结果,来确定该样本的分类结果。这就引出了KNN算法的三要素:K值选择、距离度量标准、分类决策规则。距离度量标准:KNN算法的距离度量标准常用的二维空间度量,即欧式距离:距离度量在p维空间的距离公式为:当p= 1时,成为曼哈顿距离:当p = 2时,为欧式距离。当p = 无穷大时:KNN算法一般都用欧式距离,但其他度量距离也可使用。K值选择:K值的选择对整体的算法结果会产生重大影响,K值的选择可以使用“手肘法”,即选用不同的K

2020-09-24 20:59:54 1016

原创 python 关联规则(Association Rules)理论、Apriori算法案例实战

关联规则、Apriori算法原理及实战关联规则中三个重要知识点Apriori算法原理Apriori算法原理Apriori算法流程Apriori算法案例Apriori算法应用关联规则中三个重要知识点某家水果店的订单清单如下:购物单号购买的水果1苹果、香蕉、梨2苹果、香蕉、梨、芒果3香蕉、梨、芒果、水蜜桃4苹果、芒果5苹果、水蜜桃支持度:百分比数,表示一个商品组合出现的次数与总次数之间的比值,支持度越高,说明组合出现的概率越高。Support(

2020-09-21 20:52:44 3391 2

原创 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 1664 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 1491

原创 随机森林(Random Forest)

RF的流程示意图:结合图解释RFRF:是一种bagging方法,将Decision Tree结合Bagging方法,并结合随机的思想(两处随机-抽样和选特征)。首先用bootstrap方法生成N个训练集,针对每个训练集构建一颗决策树。在节点找特征时,不是使用使用特征,而是在特征中随机抽取一部分特征,在抽到的特征中找到最优解。...

2021-03-04 17:46:38 370 1

转载 L1和L2正则化区别

https://blog.csdn.net/weixin_39525097/article/details/111611233

2021-03-04 16:15:28 422 1

原创 最小二乘法

一元线性方程:估计的一元线性方程:最小二乘法最小二乘法的定义为:因变量的观测值yi与估计值y估计之间的离差平方和达到最小,表示为:上式达到最小对上式β1和β2分别求偏导,使其为0,得到如下两个等式:最后解方程组得到β1和β2的解:...

2021-03-04 15:04:59 1260 1

原创 好的因子是什么样的?

量化策略研究时,重要基础工作之一为对因子进行分析,那什么样的因子是比较好的因子呢?个人认为主要有三个角度衡量一个因子是否能成为备选因子库中的因子之一:1.因子溢价角度。分位点之间有较好的线性关系,即第一分位收益最高,第二分位次之,依次类推。2.IC值角度。IC均值的绝对值大于0.05,认为因子选股能力突出,一般大于0.02即可认为有一定选股能力3.IR值角度。IR值绝对值大于0.5认为具有稳定获得Alpha能力,阈值可适当调低。大家还有什么合适的衡量标准,欢迎留言讨论。...

2021-02-22 11:19:15 1378 4

原创 表格连接pandas.merge

两个原始表格:df1 = pd.DataFrame({'id':[2001,2002,2003,2004],'name':['小红','小华','小黑','小和'],'math':[100,97,20,89]})df2 = pd.DataFrame({'id':[2001,2002,2005],'chinese':[98,96,60]})print(df1)print(df2)merge内连接:将两个表id相同的数据进行保留并合并。df3 = pd.merge(df1,df2,how='i

2020-12-31 16:44:06 196

原创 Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got...

该error是resample所触发的,主要是resample(重采样)的索引需要是datetime格式的,所以只需在resample之前加一行。data.index = pd.to_datetime(data.index)

2020-12-04 14:27:27 5674

原创 二维数组排序

a = [[0,30],[5,10],[15,20],[7,10]]#按第一维进行升序排序a = sorted(a,key = lambda x:x[0]) print(a)out:[[0, 30], [5, 10], [7, 10], [15, 20]]#按第一维进行降序排序a = sorted(a,key = lambda x:-x[0]) print(a)out:[[15, 20], [7, 10], [5, 10], [0, 30]]#按第二维进行升序排序a = sorted

2020-12-03 21:36:17 411

原创 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 554

原创 leetcode746、198、剑指offer42-动态规划题

这三题解题思路相同,也是我个人比较喜欢的动态规划题。leetcode746:cost = [10,15,20]创建一个二维数组如下:dp = [[0,0],[0,0],[0,0],[0,0]]赋值:dp = [[0,0],[0,10],[10,15],[15,10+20]]最后reture min[15,10+20]思路:dp[k][0]代表第k个阶梯不走,dp[k][1]代表第k个阶梯走dp[k][0] = dp[k-1][1]dp[k][1] = min(dp[k-1][0]+c

2020-11-28 22:51:00 88

原创 二维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 1124

原创 python读取xls文件

import pandas as pddata = pd.read_excel('my_file.xls')

2020-11-27 11:46:37 500

原创 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 7387 2

原创 Pytorch神经网络预测boston数据集房价

import torch.nn as nnimport numpy as npimport torch#数据加载from sklearn.datasets import load_bostondata = load_boston()x =data['data']y = data['target']#print(y)y = y.reshape(-1,1)#数据规范化from sklearn.preprocessing import MinMaxScalermm_scale =

2020-11-26 16:24:17 1376

原创 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 642

原创 python镜像安装库

假设需要安装的库为requestspip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

2020-11-24 20:05:33 234

原创 基于numpy模拟神经网络的前向传播

import numpy as npclass Network(): # 初始化网络,设定权重和偏置 def __init__(self): self.network = dict() self.network['W1'] = np.array([[0.3,0.3,0.7],[0.3,0.6,0.9]]) self.network['b1'] = np.array([1,1,0.7]) self.network['W2'] =

2020-11-23 20:25:13 364

转载 Adaboost入门教程——最通俗易懂的原理介绍(图文实例)

转载自:https://blog.csdn.net/px_528/article/details/72963977 写在前面 说到Adaboost,公式与代码网上到处都有,《统计学习方法》里面有详细的公式原理,Github上面有很多实例,那么为什么还要写这篇文章呢?希望从一种更容易

2020-11-17 11:35:42 1086

原创 基于领域的协同过滤——推荐系统surpriseKNN家族

基于领域的协同过滤主要有两种:UserCF、ItemCF基于用户的协同过滤(UserCF)利用用户的相似度来计算用户的相似度step1:找到和目标用户兴趣相似的用户集合,用Jaccard相似度、余弦相似度等相似度计算方法;step2:用户u对物品i的相似度,等价于K个邻居对物品i的兴趣度;step3:把和用户兴趣相同的k个邻居喜欢的物品进行汇总,去掉用户u已经喜欢过的物品,剩下的按照从大到小进行推荐。基于物品的协同过滤(ItemCF)利用用户行为相似度计算物品的相似度:step1:计算物品之

2020-11-15 14:05:00 1352

原创 推荐算法-矩阵分解(Matrix Factorization,MF)

常用的推荐算法基于协同过滤的推荐算法是主流思想之一;基于模型与基于领域的推荐算法之间的区别为:基于领域的协同过滤是将用户的数据读入到内存中进行运算,也称为基于内存的协同过滤(Memory-based)。数据量少的情况下,可以在线实时推荐;基于模型的推荐(Model-based),采用机器学习的方式,分成训练集和测试集。离线训练时间比较长,但训练完成后,推荐过程比较快。隐语义模型是指通过挖掘用户与物品之间的隐含联系,从而对用户进行推荐。一、矩阵分解是什么?如上表所示,是一个user-item的评

2020-11-06 15:03:18 7141 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 218

原创 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 13863

原创 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 2920

原创 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 398

原创 机器学习之朴素贝叶斯分类器三

常用的朴素贝叶斯工具有三个,sklearn下的BernoulliNB(伯努利朴素贝叶斯)、GaussianNB(高斯朴素贝叶斯)、MultinomialNB(多项式朴素贝叶斯)。伯努利朴素贝叶斯:用在特征变量为0、1分布。查看模型的属性:class_count_ :训练样本中每种类别对应的样本个数feature_count_:每种类别中各个特征出现的次数高斯朴素贝叶斯:用在特征变量是连续值的情况查看模型属性:class_count_ :训练样本中每种类别对应的样本个数class_prior_

2020-10-25 18:22:27 406

原创 机器学习之朴素贝叶斯(Naive Bayes)一

这里写自定义目录标题贝叶斯分类器原理三个重要知识点训练朴素贝叶斯的过程朴素贝叶斯分类器贝叶斯分类器原理已知样本集,求新样本的分类结果:比较各个分类结果下,哪个后验概率大,后验概率大的便是分类结果三个重要知识点先验概率:通过经验来判断事情发生的概率后验概率:根据事情发生的结果,来推测原因的概率条件概率:指事件A在事件B发生的前提下发生的概率,记为P(A|B)后验概率公式为:(朴素贝叶斯分类器主要运用到的公式)训练朴素贝叶斯的过程step1.给出训练数据step2.计算类别概率和条件概率

2020-10-24 19:29:43 305

转载 决策树—ID3、C4.5、CART

目录 一、决策树模型与学习 1、决策树模型 2、决策树学习     二、特征选择 1、信息增益 2、信息增益率 三、决策树的生成 1、ID3算法 2、C4.5算法 3、CART算法 四、决策树停止分裂的条件 五、连续值和损失值处理 决策树(decision tree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if-then规则的集合, 也可以认...

2020-09-24 19:18:08 1290

空空如也

空空如也

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

TA关注的人

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