自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 收藏
  • 关注

原创 《机器学习模型一:线性回归》

想重新梳理一下知识框架,所以想先从模型入手整理。线性回归1.1理论描述线性回归用来确定自变量和因变量之间相互依赖的定量关系的一种数理统计分析方法。知道了自变量和因变量之间的线性关系,就可以对连续值进行预测。在回归分析中,若只有一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这属于一元线性回归分析,表达式可以写成 y=ax+b ,当给定参数a和b时,输入自变量x就可以输出得到因变量y。但是在实际运用时,因变量的变化往往受两个或两个以上的自变量的影响,且因变量和自变量之间呈线性关系,这种回归分

2021-08-26 23:36:54 463

原创 XGBoost的参数详解与代码示例

文章目录XGBoost的参数类型一、一般参数二、弱评估器参数三、任务参数四、代码块XGBoost的参数类型XGBoost有三大类型的参数:1.一般参数(general parameters):用于集成算法本身;2. 弱评估器参数(booster parameters):与弱评估器训练相关的参数;3. 任务参数(Learning task parameters):应用中的其他过程;下面主要使用sklearnAPI来讲解这些参数一、一般参数n_estimators 集成中弱评估器的数量..

2021-03-02 22:11:26 13543

原创 XGBoost的两种使用方式(1. sklearnAPI的库 2. XGBoost的原生库)及其区别

# 导入库文件和数据集from sklearn.datasets import load_boston from sklearn.metrics import r2_score,mean_squared_error,mean_absolute_error,accuracy_score,precision_score, recall_score from sklearn.model_selection import train_test_split import math boston_data

2021-03-02 18:37:46 4656

原创 集成学习与随机森林---理论与代码结合详细讲解

// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';

2021-02-27 19:24:57 441

原创 随机森林调参详解----实例:随机森林在乳腺癌数据上的调参

n_estimators :森林中树木的数量,即基评估器(学习器)的数量默认是100,n_estimators变大,模型更复杂, n_estimators变大,模型更简单;不影响单个模型的复杂度 max_depth :树的最大深度,超过最大深度的树枝都会被剪掉默认最大深度,即最高复杂度,如果减小max_depth,就 会向复杂度降低的方向调整,向图像的左边移动 min_samples_leaf :一个节点在分枝后的每个子节点都必须包含至少min_samples_leaf个训练样本,否则分

2021-02-27 18:48:20 1480 2

原创 有放回抽样试验去验证定理

一、背景介绍在 bagging 模型的构建中会集成多个子模型。对于每个子模型的构建,都需要分 别为其进行数据或特征抽样。对每个子模型的抽样,称为一轮,n 个子模型抽样,表示 n 轮。关于什么是有放回抽样,目前存在两种说法:说法一:一轮抽样结束后,将所有被抽取的数据一次全部放回,以此进行下一轮抽样;说法二:在一轮抽样期间,每次抽完一个数据,就立马将该数据放回。如果一轮要抽样 n 个数据,那么就会有 n 次数据的放回动作。二、实验1.试验目的验证以上两种说法,哪一种是正确的2.试验内容抽样既可

2021-02-26 22:48:55 1459

原创 为什么必须在神经网络种引入非线性

如果神经网络中没有引入非线性层,那么神经网络就变成了线性层的堆叠。而多层线性网络的堆叠本质上还是一个线性层,我们以两层线性网络的堆叠为例:我们用 ????(????)表示第一层线性网络,????(????)表示第二层线性网络,则两层网络的堆叠表示为:我们令:那么原来的表达式就变为:所以ℎ(????) 还是一个线性函数。而我们知道线性函数的表现力是有限的,它只能表示特征与目标值之间比较简单的关系,相反带有非线性层的神经网络被证明可以表示任何函数。所以为了使得网络设计发挥作用,并且提高网络

2021-02-24 14:08:23 1777

原创 loc函数、iloc函数、df.drop()函数的用法

1.loc函数、iloc函数loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)iloc函数:通过行号来取行数据(如取第二行的数据)df = pd.DataFrame(np.arange(20).reshape(5,4),index=list('abcde'),columns=['A', 'B', 'C', 'D'])######### 提取行数据#############取索引为'a'的行df.loc['a']# 输出:A 0B

2021-02-21 16:27:05 11670 1

原创 np.random.normal()函数

这是的np是numpy包的缩写,np.random.normal()的意思是一个正态分布,normal这里是正态的意思。格式:numpy.random.normal(loc=0,scale/std=1e-2,size=shape)loc(float):正态分布的均值,对应着这个分布的中心。 loc=0说明这一个以Y轴为对称轴的正态分布参数scale(float):正态分布的标准差(std),对应分布的宽度, scale越大,曲线越矮胖,

2021-02-21 14:18:36 960

原创 异常数据检测(信用卡欺诈)逻辑回归实战案例

1. 读取数据import numpy as np # 矩阵计算import pandas as pd # 数据处理和数据分析import matplotlib.pyplot as plt # 数据可视化展示import warningswarnings.filterwarnings('ignore')%matplotlib inline # 画图可以镶嵌到当前页面,不指定画图要指定一些东西,比较麻烦Amount数据需要标准化的原因,因为Amount和v1-v28的数值差异太大#

2021-02-21 14:17:44 710

原创 命令行mysql -u root -p打开数据库SQL失败?

通过cmd命令行mysql -u root -p打开数据库失败?这是因为数据库没有启动:1.在搜索框搜索“服务”,并打开“服务”2.找到数据库,并右击启动,显示正在运行说明已经启动了这时候再去cmd打开即可,成功啦!...

2021-02-12 20:11:41 1588

原创 SQL数据库查询练习

一.成绩表的建表语句及插入数据语句# -- 成绩表 SCcreate table SC(SId varchar(10),CId varchar(10),score decimal(18,1));insert into SC values('01' , '01' , 80);insert into SC values('01' , '02' , 90);insert into SC values('01' , '03' , 99);insert into SC values('02' , '01'

2021-02-07 16:08:41 295

原创 Can‘t find model ‘de‘,Can‘t find model ‘en‘

在jupyter运行下面的命令的时候,显示错误报错如下:在网上找了一下,发现是没有安装’de’和’en’,当然在这的基础上你要确保spacy是已经安装的(如果没有安装,可以通过pip install spacy安装spacy)安装下面的命令行安装’de’和’en’python -m spacy download enpython -m spacy download de但是依然报错:因此可以选择在在官网的models模块里面下载英语(en)和德语(de)的数据集对应的压缩包,官网连接为

2021-02-04 16:20:44 1272

原创 torchvision.datasets.CIFAR10()和torch.utils.data.DataLoader详细介绍

import torchvision trainset = torchvision.datasets.CIFAR10(root = data_path, train = True, download = True, transform=transform)'''

2021-01-30 14:45:02 2902

原创 安装xgboost库

1.先选择对应的whl文件https://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost其中cp对应的是python版本,我的电脑是64位的win10系统,python是3.7.6版本,所以我是选择:xgboost-1.3.1-cp37-cp37m-win_amd64.whl2.将下载的whl文件放到一个地方(放哪里随便你自己,但是安装的时候要加上路径),我是直接放到了F盘下,因为我需要加上F盘的路径F:pip install F:\xgboost-1.3.1

2021-01-19 20:57:49 1144 1

原创 x = x.view(x.size(0), -1) --------------改变维度、展平

pytorch中的view()函数就是用来改变tensor的形状的,将多维度的Tensor展平成一维,例如将2行3列的tensor变为1行6列,其中-1表示会自适应的调整剩余的维度1.首先用代码解释x.size(0)里面的0是干嘛的import torch a = torch.randn(2,3)print(a)print(a.size())print(a.size(0))输出:tensor([[-0.7595, -0.2599, -1.3692], [ 0.8177

2021-01-11 20:53:22 1737

原创 pytorch里面的nn库:torch.nn.modules、torch.nn.functional、torch.nn.parameter、torch.nn.Sequential

torch.nn是专门为神经网络设计的模块化接口torch.nn构建与autograd之上,可以用来定义和运行神经网络介绍一下四大库:torch.nn.modules、torch.nn.functional、torch.nn.parameter、torch.nn.Sequentialtorch.nn.modules************torch.nn.modules*************torch.nn.MSELosstorch.nn.CrossEntropyLoss torch.nn

2021-01-09 20:26:02 1372

原创 python中的max()与min()的用法介绍

A是一个 m 行 n 列的矩阵:A.min(0) : 返回A每一列最小值组成的一维数组;A.min(1):返回A每一行最小值组成的一维数组;A.max(0):返回A每一列最大值组成的一维数组;A.max(1):返回A每一行最大值组成的一维数组;这里的0表示行,1表示列我利用tensor写的张量,里面还可以显示每一行每一列输出的最大最小的索引A = torch.rand(3,4)print(A)print(A.min(0))print(A.min(1))print(A.max(0))p

2021-01-08 20:57:47 3346

原创 Pytorch 的 Tensor 常用函数与操作

Tensor的算术运算import torcha = torch.Tensor([1, 2])b = torch.Tensor([3, 4])### 加法运算c = a + bc = torch.add(a, b)c = a.add(b)print(a)c = a.add_(b) print(a)### 减法运算c = a - bc = torch.sub(a, b)c = a.sub(b)print(c)print(a)c = a.sub_(b) print(c)

2021-01-08 18:21:51 1491

原创 几种激活函数的详解及代码实现:sigmoid()、softmax()、tanh()、relu()、leaky_relu()

import numpy as npimport matplotlib.pyplot as plt%matplotlib inline1.sigmoid()函数# Sigmoid函数常被用作神经网络的激活函数,将变量映射到0,1之间# 除了输出层是一个二元分类问题外,基本不用Sigmoid函数def sigmoid(x): y = 1/(1+np.exp(-x)) return y曲线绘制:X = np.arange(-5, 5, 0.1)y = sigmoid(X)

2021-01-02 17:05:20 4355

原创 numpy.frombuffer()详细介绍

'''frombuffer将data以流的形式读入转化成ndarray对象numpy.frombuffer(buffer, dtype=float, count=-1, offset=0)buffer:缓冲区,它表示暴露缓冲区接口的对象。dtype:代表返回的数据类型数组的数据类型。默认值为0。count:代表返回的ndarray的长度。默认值为-1。offset:偏移量,代表读取的起始位置。默认值为0。'''#data是字符串的时候,Python3默认str是Unicode类型,所以

2021-01-02 15:13:39 31608 1

原创 XGBoost VS GBDT (二者的区别)

①XGBoost损失函数是误差部分是二阶泰勒展开,GBDT 是一阶泰勒展开。因此损失函数近似的更精准。②XGBoost目标函数中添加了正则项(L1、L2正则项),可以有效的防止过拟合③XGBoost可以自定义目标函数objective,因此更加灵活④XGBoost可以自定义评估指标eval_metric⑤XGBoost除了可以进行样本抽样,还实现了特征抽样四个随机抽样特征的参数中(subsample–控制生成每棵树的随机抽样样本比例、colsample_bytree–每次生成树时,随机抽样特征的比

2020-12-28 15:15:41 831

原创 time模块训练:打印出某网店每天累计的购物次数

首先先介绍一下字典遍历键值对:使用 dict.items()nums = {'2019-04-23': 41, '2019-05-02': 94, '2019-04-25': 80, '2019-05-04': 86, '2019-05-01': 90, '2019-05-03': 84, '2019-05-05': 10, '2019-04-28': 89, '2019-04-29': 79, '2019-04-26': 104, '2019-04-27': 93, '2019-04-30': 84,

2020-12-24 17:20:06 3658 1

原创 Random Forest 的随机性体现在哪些方面?

1.Random Forest 的随机性体现在哪些方面?相较于普通的决策树而言,从结点的特征集合中随机选取一个包含 k个属性的子集,再从这个子集中选择一个最优划分,不是遍历所有的特征。随机性体现在:在构建基学习器的过程中,随机选择样本、随机选择特征、从所有特征中随机选取选取一个包含 k个属性的子集。2.训练同样的数据集,Random Forest 为什么比 Bagging 的效率高?因为在划分节点时,随机森林只选取了部分特征进行划分,Bagging 是在所有的特征上进行遍历,因此效率会更高。

2020-12-23 20:26:41 1565

原创 Bagging 模型为什么要进行抽样?

1.Bagging 模型为什么要进行抽样?Bagging 模型是基于同样类型的基学习器进行集成学习,如果不进行抽样,那么所有的基学习器都学习了同样的数据,模型之间就没有不同,模型必须具有一定的差异性,才能更大程度提升整个模型的准确度,通过数据抽样的方式,让基学习器学习不同的数据,从而生成具有差异性的基学习器。2.有放回抽样和无放回抽样的区别是什么?有放回抽样:在一轮抽样期间,每次抽完一个数据,就立马将该数据放回。如果一轮要抽样n个数据,那么就会有n次数据的放回动作。无放回抽样:数据只有

2020-12-23 17:43:10 745 1

原创 集成学习与Voting模型(员工离职率预测)

提供四种预测模型的方案和评估结果:KNN、逻辑回归、决策树分类、voting模型# 1.导入数据,将特征和预测值进行分离,确定x,y值import numpy as np import pandas as pdworker = pd.read_csv('C:\\Users\\Liu\\Desktop\\data.csv')x = worker.drop(columns = ['Attrition'])y = worker['Attrition']# 2.数据分割from sklearn.m

2020-12-23 15:20:14 909

原创 使用网格搜索优化决策树回归模型(用优化的决策树回归模型预测波士顿房价)

import numpy as npfrom sklearn import datasetsboston = datasets.load_boston()x = boston.datay = boston.target# 2.数据分割from sklearn.model_selection import train_test_split x_train,x_test,y_train,y_test = train_test_split(x,y,random_state = 666)# 3

2020-12-23 15:10:30 1830 2

原创 sklearn中的datasets.make_moons函数

# make_moons是函数用来生成数据集from sklearn import datasetsx,y = datasets.make_moons(n_samples=800,noise=0.3,shuffle=True,random_state=42)x,y = datasets.make_moons(n_samples=800,noise=None,shuffle=False,random_state=None)n_numbers:生成样本数量shuffle:数据是否打乱noise

2020-12-23 11:04:55 4417

原创 线性回归模型(scikit-learn实现线性回归模型、梯度下降求解线性回归模型、评价指标、多项式回归模型与pipeline、交叉验证、模型正则化)

scikit-learn实现线性回归模型:对糖尿病人的病情状况建立线性回归模型# 1.导入数据import numpy as npimport pandas as pdfrom sklearn import datasetsdiabetes = datasets.load_diabetes()# diabetes.keys()x = diabetes.datay = diabetes.target 2.将数据分为训练集和测试集from sklearn.model_selection

2020-12-22 21:13:08 601 1

原创 DecisionTree决策树参数详解

1.max_depth:指定遍历搜索的最大深度。int or None, optional (default=None) 一般来说,数据少或者特征少的时候可以不管这个值。如果模型样本量多,特征也多的情况下,推荐限制这个最大深度,具体的取值取决于数据的分布。常用的可以取值10-100之间。常用来解决过拟合2.min_sample_leaf:叶子节点最少样本数。这个值限制叶子节点最少的样本数,若叶子节点数小于样本数,则会和兄弟节点一起被剪枝,样本量不大时,可不管这个值3.max_leaf_nodes

2020-12-22 20:57:45 4571 1

原创 KNN算法----分类模型

KNN 算法的原理及实现—手动写法import numpy as np import matplotlib.pyplot as pltfrom math import sqrtfrom collections import Counterx = [ [2.40,2.0], [4.1,2.8], [1.2,1.4], [0.6,3.7], [1.3,2.5], [6.4,4.2], [1.7,4.5], [8.2,3.5]]y=

2020-12-20 17:09:08 430

原创 jupyter notebook怎么写入、读取excel,csv文件

# pandas 写入Exceldf = pd.DataFrame({'id':[1,2,3],'name':['xyz','as','we']})df = df.set_index('id')# 指定index,去除生成的indexdf.to_excel('./output.xlsx')# 我直接写入到当前文件夹print('ok')# pandas 读取Excelpepole = pd.read_excel('C:\\Users\\Liu\\Desktop\\People.xlsx')

2020-12-11 21:22:46 53115 1

原创 爬虫--3.4 实战案例:爬取京东商城指定商品图片信息,并存储在当期目录下(完整代码)

#图片信息爬取实战#任务:爬取京东指定商品图片信息,并存储在当期目录下。#url地址:https://list.jd.com/list.html?cat=9987,653,655#导入库import requestsimport refrom pyquery import PyQuery as pqfrom urllib.request import urlretrieveimport ssl#若报错:unable to get local issuer certificate(无法获

2020-12-11 20:41:25 700

原创 处理数组中的nan,用这一列的平均值去替换

在jupyter 里面写的# 练习!!!!-------处理数组中的nant = np.arange(24).reshape(4,6).astype('float')print(t)# 将数组中的一部分替换成nant[1,3:]=np.nanprint(t)# 遍历每一列,然后判断每一列是否有nanfor i in range(t.shape[1]): col = t[:,i] # 获取当前列数据 # 判断当前列的数据中是否含有nan ##############

2020-12-08 21:43:41 1377

原创 安装scrapy失败,报错 error: Microsoft Visual C++ 14.0 is required.

安装scrapy失败,报错 error: Microsoft Visual C++ 14.0 is required.解决办法是先下载Twisted,选择对应的版本,cp38表示的是python的版本,表示python3.8,amd则表示系统位数,例如amd64为64位。下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/下载成功之后,记住下载的地址,在cmd中输入 pip install Twisted的路径,我的路径在E盘,我的输入如下:下载成功

2020-12-01 15:25:02 145

原创 Ajax-->信息爬取指定(小米商品)的详情信息

#爬取指定小米商品的详情信息import re,jsonimport requests# 从Network-->XHR里面去找下面这些属性product_id='12609' #商品id编号#请求url地址url = 'https://api2.order.mi.com/product/view?product_id=%s&version=2&t=1606381640'%(product_id)# header头信息headers = { 'a

2020-11-26 18:01:09 300

原创 爬虫--3.2 实战案例:猫眼电影---使用requests爬虫库爬取猫眼电影中榜单栏⽬中TOP100榜的所有电影信息,并将信息 写⼊⽂件

先爬取第一页的榜单电影import requestsimport time,json,reurl = "https://maoyan.com/board/4"headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'}res = requests.get(url,heade

2020-11-26 15:12:48 883

原创 爬虫--3.1实战案例:爬取有道词典,完整版代码,解决url中_o问题(防反爬)

// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';// A

2020-11-26 13:59:58 670 2

原创 爬虫--2.三种解析库(XPath、Beautiful Soup、PyQuery)

下面将以代码的形式展现,熟练掌握怎么用代码输出:XPathfrom lxml import etreef = open('./my.html','r',encoding='utf-8')content = f.read()f.close()# 解析HTML⽂档,返回根节点对象html = etree.HTML(content)# 获取⽹⻚中所有标签并遍历输出标签名result = html.xpath("//*") # 获取所有子节点result = html.xpath("/*

2020-11-25 15:25:34 302

原创 爬虫-- 1.爬取指定的url地址的两种方法介绍(通过爬取小米商城实战案例来介绍)

urllib库中的request具体实现步骤:导⼊urlib库和re正则使⽤urllib.request.Request()创建request请求对象使⽤urllib.request.urlopen执⾏信息爬取,并返回Response对象使⽤read()读取信息,使⽤decode()执⾏解码使⽤re正则解析结果遍历输出结果信息from urllib import requestimport re#使用此方法,url和参数(product_id=10000214)是写在一起的,可以对比

2020-11-25 13:37:43 1650 1

空空如也

空空如也

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

TA关注的人

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