![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
kalath_aiur
这个作者很懒,什么都没留下…
展开
-
Adaboost算法原理(二分类及多分类)
Adaboost算法是一种集成学习(ensemble learning)方法。在集成学习中,强学习器指的是由多个机器学习模型组合形成的精度更高的模型。而参与组合的模型就被称为是弱学习器。进行预测时使用的是这些弱学习器的联合模型。训练时需要用训练样本依次训练这些弱学习器。典型的集成学习算法是随机森林和boosting算法,Adaboost算法是boosting算法的一种实现版本。Adaboost...原创 2020-04-01 10:06:24 · 9246 阅读 · 3 评论 -
matplotlib常用图形的绘制
matplotlib是数据分析中常用的画图工具,用于将数据进行可视化处理。本文将简单介绍使用matplotlib库绘制基本图形的方法。安装matplotlib第一次使用matplotlib时需要进行安装。pip install matplotlib线形图首先来看一下线形图的绘制方法,以及图例、标题、坐标轴标签的表示方法。图案使用的是基础的正弦波和余弦波。x = np.linspa...原创 2020-03-25 22:13:10 · 805 阅读 · 0 评论 -
决策树的使用案例
import numpy as npfrom sklearn.tree import DecisionTreeClassifierfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn import treeimport matplotlib.pyp...原创 2020-03-22 21:49:27 · 1159 阅读 · 0 评论 -
使用Apriori算法寻找频繁样式(Frequent Patterns)
什么是频繁样式频繁样式(Frequent Patterns)是指在一个数据集中出现频率最高的样式(可以是一组样本集合,子列,子结构等)Apriori算法Apriori算法使用支持度(support)和置信度(confidence),通过剪枝来生成样式集,最终找出存在于数据集中的频繁样式。支持度样式中同时包含A和B的概率Support(A ⟹ B)=P(A⋃B)Support(A...原创 2020-03-21 17:44:27 · 454 阅读 · 0 评论 -
KNN算法的应用示例
KNN算法是数据分析中的一种常用方法。本文对KNN算法的原理进行简要说明,并给出具体的应用示例。原理KNN算法根据样本之间的距离,进行类别的划分。样本间的距离可以使用欧氏距离d=∑i=1n(xi−yi)2d = \sqrt{\sum\limits_{i=1}^n(x_i - y_i)^2}d=i=1∑n(xi−yi)2进行计算时,需要首先设定一个邻居数k=n。算法会判断距离选定...原创 2020-03-20 18:30:22 · 2570 阅读 · 0 评论 -
Linear回归、Ridge回归、Lasso回归之间的对比
Linear回归、Ridge回归、Lasso回归是几种常用的回归算法。本文对他们各自的特点进行简单对比。Linear回归损失函数f(w)=∣∣Xw−y∣∣22f(w) = ||Xw - y||_2^2f(w)=∣∣Xw−y∣∣22使用方法import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear...原创 2020-03-19 17:32:20 · 1480 阅读 · 0 评论 -
构建实现Logistic回归
Logistic回归是数据分析中的一种常用分类算法。要想使用Logistic回归,可以使用sklearn库中自带的方法from sklearn.linear_model import LogisticRegression# Logistic回归模型model = LogisticRegression()这种方式最为简便,但是为了深入理解Logistic回归算法的原理,我们也可以自己用...原创 2020-03-18 20:22:10 · 449 阅读 · 0 评论 -
pandas处理Excel数据
我们在日常工作中,经常会碰到处理Excel表中数据的情况,例如学校的教师需要统计学生的成绩或者学生信息的管理。如果使用人工的方式进行修改,数据量很大的时候处理起来速度会很慢,还容易出现错行等错误。此时,如果我们使用pandas进行数据的处理,速度会很快且不易出错。接下来就以一个简单的例子来说明。需求学校教师手中有两张学生表,但是只有一张表中有学生的电话信息(图中手机号为随机生成的)需要将...原创 2020-03-17 20:24:06 · 457 阅读 · 0 评论 -
利用梯度下降实现线性回归
想要实现线性回归,可以使用sklearn模块自带的线性回归,也可以使用我们自定义的线性回归。生成数据为了介绍两种实现线性回归的方式,首先需要生成数据import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionX = np.linspace(-2,12...原创 2020-03-16 20:16:39 · 205 阅读 · 0 评论 -
pandas应用(三)
这次主要说一下函数的应用方式。首先生成数据df = pd.DataFrame(np.random.randint(0,151,size = (50,3)),columns=['Chinese','Math','English'])df结果为apply# 求均值df.apply(np.mean)结果为可以看到默认是求的列均值。transform注意,此方式不适用于聚合...原创 2020-03-15 21:25:05 · 87 阅读 · 0 评论 -
pandas应用(二)
import pandas as pd处理时间序列# 使用date_range方法生成时间序列,freq参数的常用值及含义如下# D ---> 日# M ---> 月# Y ---> 年# H ---> 小时# W ---> 星期# S ---> 秒pd.date_range('24/2/2020', '25/3/2020', freq='D...原创 2020-03-14 21:57:25 · 118 阅读 · 0 评论 -
pandas应用(一)
数据结构pandas中,有两种常用的数据结构:Series和DataFrame。Series是一个带有名称和索引的一维数组。而DataFrame是一个带有索引的二维数据结构。举例说明:s1 = pd.Series(data=[123,55,78,90,120], index=['kalath', 'satoshi', 'hikari', 'naomi', 'lisa'], dtype=n...原创 2020-03-13 19:39:16 · 173 阅读 · 0 评论 -
Django博客项目(五)—— 博客详情及回复
前情提要:Django博客项目(一)—— 注册和登录页面Django博客项目(二)—— 博客首页Django博客项目(三)—— 博客列表及搜索Django博客项目(四)—— 发表博客本文将介绍博客项目的最后一部分, 博客的详情页及发表回复部分。图示这里查看上一篇或下一篇博客依据的标准是博客发表时间,倒序排序。为了使页面整洁,对评论区使用了分页显示。使用了富文本编辑器进行评论...原创 2020-03-11 21:58:51 · 369 阅读 · 0 评论 -
Django博客项目(四)—— 发表博客
前情提要:Django博客项目(一)—— 注册和登录页面Django博客项目(二)—— 博客首页Django博客项目(三)—— 博客列表及搜索本文介绍博客发表页面的实现,最后的博客详情及回复部分放在下一篇进行。图示如图所示,填写标题、正文、选择分类,然后点击提交即可完成博客发表。富文本编辑器配置在settings.py文件中添加配置INSTALLED_APPS = [ # 在...原创 2020-03-10 19:23:11 · 420 阅读 · 0 评论 -
Django博客项目(三)—— 博客列表及搜索
前情提要:Django博客项目(一)—— 注册和登录页面Django博客项目(二)—— 博客首页本文继续介绍博客项目的第三部分,博客列表及博客搜索功能的实现。效果图本页面总共可看作五个部分:博客信息显示在页面上的信息包括:发表时间、分类、标题、内容、作者、回复数量。分页显示为了使页面整洁,使用分页的方法显示博客,每页显示四篇。博客搜索填入关键字,点击搜索图标,即...原创 2020-03-09 19:37:51 · 417 阅读 · 0 评论 -
Django博客项目(二)—— 博客首页
前情提要:Django博客项目(一)—— 注册和登录页面本文将继续介绍博客项目的第二部分,博客首页的实现。效果图首先还是先来看一下完成后的效果:未登录时,导航栏包括首页、博客列表、登录、注册菜单。登录之后,会增加发表博客、注销登录菜单。首页显示评论数量最多的三篇博客,显示内容如图所示。最后一部分显示最近发表的三篇博客的信息路由配置在应用的urls.py文件中添加首页的路...原创 2020-03-08 20:44:31 · 508 阅读 · 0 评论 -
Django博客项目(一)—— 注册和登录页面
最近使用Django+Nginx+UWSGI的方式,实现了一个简单的个人博客项目。主要功能包括注册、登录、发表博客、发表评论、博客列表及博客搜索、博客主页显示等等。本文介绍首先实现的功能,也就是最基本的登录和注册功能。效果图首先看一下完成后的效果,以便于理解。登录页面:注册页面配置文件中添加相关配置信息修改settings.py文件INSTALLED_APPS = [ # ...原创 2020-03-07 21:44:12 · 3292 阅读 · 0 评论 -
Django+Nginx+UWSGI部署项目
我们在本地写的项目,运行结果只能自己查看,无法让他人使用。如果想要上线项目,可以通过Django+Nginx+UWSGI的方式,将项目部署在云服务器上,此时其他用户只需输入URL地址,就可使用项目。部署前服务器相关配置本文使用的云服务器为阿里云服务器,系统为Ubuntu 18.04。安装依赖环境apt updateapt -y install man gcc make lsof s...原创 2020-03-06 16:59:26 · 154 阅读 · 0 评论 -
Django中使用logging模块记录日志
logging模块是Python内置的标准模块,主要用于输出日志信息,可以设置输出日志的等级、日志保存路径等信息。日志的作用日志主要有三种作用:问题跟踪通过日志文件,在程序安装或者运行过程中出现的问题,会进行记录,以便技术人员进行问题排查。如果没有日志文件,问题将会难以进行判断。状态监控通过对日志进行实时分析,可以监控运行状态,以便出现问题时可以尽早发现。安全审计主要用...原创 2020-03-05 21:08:34 · 199 阅读 · 0 评论 -
Django中缓存的使用
在Django中,用户的请求到达视图时,视图会从数据库中获取数据,然后放到前端模板中进行动态渲染,渲染之后就能是⽤户看到的网页。但是如果用户每次请求时,视图都从数据库提取数据并渲染,将会极大降低性能,提升服务器压力,客户端也因此无法及时获得响应。此时可以使用缓存技术,将渲染后的结果放到缓存中,之后每次获得请求时,首先检查缓存中是否存在对应数据,如果存在就直接从缓存中获取数据并返回响应,这样可以...原创 2020-03-04 21:33:32 · 310 阅读 · 0 评论 -
Django后台站点管理
很多网站都分前台显示和后台管理两部分。例如公司OA系统,论坛,公司的知识库系统等。前台用于显示可供用户使用的界面,例如查看文章,搜索帖子,发表回复等,后台用于管理用户信息,以及向数据库中添加文章,新闻,公告等信息用于前台显示。Django中提供了直接进行站点管理的模板,可在此基础上进行自定义相关功能。创建管理员用户默认情况(本地地址,端口为8000)下,输入http://127.0.0.1:...原创 2020-03-03 18:37:59 · 691 阅读 · 1 评论 -
Django中富文本编辑器功能
使用Django做项目时,有时会有使用到富文本编辑器的需求。例如论坛发帖及回帖;发表博客,回复博客等。安装django-tinymce库pip install django-tinymcesettings.py添加配置INSTALLED_APPS = [ ..., # 添加应用 'tinymce',]# 富文本剪辑器配置TINYMCE_DEFAULT_CONFIG =...原创 2020-03-02 20:51:02 · 278 阅读 · 0 评论 -
Django中实现电子邮件发送
Django中,可以实现电子邮件发送功能。如果想要在代码执行中有发送邮件的相关需求可进行相关配置,例如将从数据库中查询的结果通过电子邮件的形式发送,或者在日志中配置,出现特定警告或错误类型时,通过电子邮件的形式通知管理员。settings.py中的配置项# smtp服务器EMAIL_HOST = 'smtp.qq.com'# smtp端口EMAIL_PORT = 25# 发送者邮箱地址...原创 2020-03-01 18:19:19 · 315 阅读 · 0 评论 -
Django中封装类实现文件上传
相关配置实现文件上传功能时,首先需要注意以下几点:前端表单表单需要设置enctype="multipart/form-data"且提交类型为POSTsettings.py中配置文件存储的路径MEDIA_ROOT = os.path.join(BASE_DIR, 'static/upload')前端表单<form action="{% url 'App01:upload...原创 2020-02-29 16:43:03 · 247 阅读 · 0 评论 -
Django中分页的实现方式
前端展示从数据库中获取的数据时,如果不进行分页,所有内容会在一起显示,如果有上百条数据,查看起来非常麻烦而且不美观。例如:如果进行了分页,设置每页中显示的数据数量(例如10条),结果就会非常整洁,便于查看。例如:此时可以通过点击页码进行分页查看。Django中的实现方式配置settings.py可以在配置文件中添加COUNT_OF_PAGE = 10此参数的意思是分页显示时...原创 2020-02-28 15:29:01 · 555 阅读 · 1 评论 -
Django中图形验证码的使用
在网站上进行登录、注册等操作时,经常需要输入图形验证码。在Django中,我们可以进行实现。步骤如下:安装django-simple-captcha库pip install django-simple-captchasettings.py中添加配置INSTALLED_APPS = [ ..., # 添加此应用 'captcha',]# 图像验证码格式,可以自定义。...原创 2020-02-27 09:00:05 · 700 阅读 · 0 评论 -
Django中表单的使用方式
Django的表单模块提供的主要功能准备和重构数据,用于页面渲染为数据创建HTML表单元素接收和处理用户使用表单提交的数据使用方式定义表单类表单类都必须直接或间接继承自django.forms.Form可以结合模型使用。models.py文件class User(models.Model): username = models.CharField(max_leng...原创 2020-02-26 21:46:13 · 159 阅读 · 0 评论 -
Django中的用户认证系统
auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理。User模型Django 内置了User模型,包含了username,password,email等字段信息。但是实际使用时,可能会包含一些其他的字段信息,例如手机号,头像,签名信息等。此时需要在系统的User模型上进行拓展。应用目录下的models.py注意,需要继承AbstractUser类...原创 2020-02-25 20:50:43 · 429 阅读 · 0 评论 -
Django中利用cookie或session实现状态保持
cookiecookie把会话数据保存在客户端浏览器中。但是要注意,cookie不能跨浏览器使用,并且不能保存汉字。Django中的实现方式:首先在应用的urls.py中设置路由urlpatterns = [ path('login/', views.login, name='login'), # 测试设置cookie path('reply/', views.reply...原创 2020-02-24 11:12:07 · 170 阅读 · 0 评论 -
在Python中使用PCA
PCAPrincipal Component Analysis (PCA) 是一种线性降维技术。可用于将数据信息从高维空间映射到低维空间。经过PCA处理,数据变化较大的必要部分得以保留,而数据变化较小的非必要部分会被移除。维度(dimension)这里的维度指的是代表数据的特征。主成分(principal component)主成分是PCA技术中最关键的部分。它们能表示出数据集内部的隐含...原创 2020-01-16 19:34:19 · 2355 阅读 · 0 评论 -
ValueError: bad transparency mask
解决办法修改前代码:# 设置填充所用的颜色以及背景色img = qr.make_image(fill_color="green", back_color="white")# 读取需要添加的图标icon = Image.open("exp.png")修改后代码:# 设置填充所用的颜色以及背景色img = qr.make_image(fill_color="green", ...原创 2020-01-12 14:06:52 · 2303 阅读 · 0 评论 -
python生成图片验证码
类初始化class VerifyCode: def __init__(self, width=100, height=40, size=4): # 验证码宽度、高度、字符个数 self.width = width self.height = height self.size = size创建画布 def ...原创 2020-01-07 11:11:32 · 77 阅读 · 0 评论 -
Bigger is Greater
说明来自HackerRank网站的一个编程练习题。题目描述字符串的大小根据字典序进行比较。给定一个字符串,将其中部分字符交换位置得到一个新字符串。定义“下一个最大字符串”:新字符串比原字符串大,并且是所有符合要求的字符串中最小的那一个。例如:给定一个字符串“defg”,则下一个最大字符串为“degf”。要求计算给定字符串的下一个最大字符串。如果不存在,返回“no answer...原创 2019-12-30 11:59:56 · 121 阅读 · 0 评论 -
网易云个人收藏歌单信息获取
功能获取网易云音乐个人收藏歌单的相关信息,包括歌单名、歌单地址、歌单封面、播放量等。将获取的结果保存到本地文件中,以便进行查看。代码import timeimport csvimport osfrom selenium import webdriverheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW...原创 2019-12-28 11:26:16 · 1952 阅读 · 0 评论 -
几种排序算法的Python实现
冒泡排序li = [23, 19, 72, 45, 62, 15]# 外循环次数for out in range(len(li) - 1): # 标记,用于判断内循环是否发生过交换 flag = False # 内循环次数 for inner in range(len(li) - out - 1): # 升序排序,将最小的元素换到序列开头 ...原创 2019-12-27 20:06:43 · 62 阅读 · 0 评论 -
Sherlock and the Valid String
说明来自HackerRank网站的一个编程练习题。题目描述一个字符串在两种情况下为一个有效字符串:字符串中所有的字符出现次数都相同;或者仅移除1个字符后剩余字符串中所有的字符出现次数都相同。要求给定一个字符串,判断是否是有效字符串。例如:s=“zxc”,则s为有效字符串,因为字符z、x、c各出现1次。s="zxxc"同样为有效字符串,因为移除1个字符c之后,剩余字符串“zxc”...原创 2019-12-25 16:42:53 · 193 阅读 · 0 评论 -
Bear and Steady Gene
说明题目是来自HackerRank网站的一个编程练习题。题目描述定义基因为由字符A、T、G、C组成的长度为n的字符串。其中,n能被4整除。如果基因中A、T、G、C出现的次数都为 n4\frac{n}{4}4n,则称此基因为稳定的。例如,GTCA、CCTGAGTA都是稳定基因。显而易见,基因不一定都是稳定基因。但是,可以将它转化为稳定基因。方法是取基因中任意长度的一个字串(可以为...原创 2019-12-24 10:13:29 · 155 阅读 · 1 评论 -
errno模块
此模块提供了标准的系统符号。每个符号值都有一个对应的整数值。import errnofor item in errno.errorcode.items(): print(item)结果为以下形式:如果要查看每个符号值的含义,可以使用以下方法:errno_dict = {num: os.strerror(num) for num in errno.errorcod...原创 2019-12-23 23:21:59 · 140 阅读 · 5 评论 -
数据库备份脚本
语言:Python 3数据库:PostgreSQL 12系统:Windows 10相关目录参数将所有可能需要更改的目录参数等放在起始部分,根据实际情况进行修改即可。import psycopg2import datetimeimport osimport shutil# 可更改的参数#############################################...原创 2019-12-20 16:40:28 · 194 阅读 · 0 评论 -
Python对SQL操作类的封装
python连接数据库进行操作时,如果封装相关操作,需要时直接进行调用,可以避免执行SQL操作时的重复代码书写。类初始化import pymysqlclass DbMysql: # 参数用于连接数据库 def __init__(self, host, port, user, passwd, database, charset): self.host = host...原创 2019-12-19 09:14:12 · 474 阅读 · 1 评论