用Python搞定豆瓣上征婚交友的小姐姐们~

python爬虫——豆瓣小组,查询某用户在小组中发布的所有帖子 我学习的思路,一般就是技术根据技术贴,技术视频学习,而经验要从实战中获得。在生活中,常常动脑筋,把问题用自己掌握的技能来解决,既能巩固自己的技术,学习经验,又能有成就感,一举两得。 最近出去玩,经常翻豆瓣,在相关小组里获取需要的信息。有一个用户发的帖子是寻找队友,内容是什么记不太清了,但是过了一两天我好想又看到了这个人发的寻找队友的帖子,只记得跟我前两天看到的内容不一致,于是就很好奇,这个人多次发帖怎么发的内容差距蛮大的,不是骗子吧?于是我想着把这个人在这个小组中发的所有帖子找出来。然而豆瓣小组没有按照发布 阅读详情

文 | 某某白米饭

来源:Python 技术「ID: pythonall」

大家好,我是菜鸟哥!

派森酱在刷豆瓣的时候发现,豆瓣上居然还有一个叫我被豆油表白了的交友话题,阅读量居然高达 8087734 次,拥有 1000+ 篇话题,几乎每篇平均被阅读了 8000+ ,看了一下里面的小姐姐照片还挺多的。今天我们就用爬虫把他们下载下来。

首先在浏览器中登录豆瓣,打开话题广场在右侧有一个分类查看话题点开情感。

打开后就是下面这个样子的。

爬虫开始

打开控制面板 F12, 找到带 items 的连接,然后复制整个 Request Headers 到代码中,采用复制 cookie 的方式登录豆瓣。

 url_basic = 'https://m.douban.com/rexxar/api/v2/gallery/topic/18306/items?from_web=1&sort=hot&start={}&count=20&status_full_text=1&guest_only=0&ck=GStY'
  headers = { 
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Cookie': 'bid=n7vzKfXLoUA; douban-fav-remind=1; ll="108296"; __utmc=30149280; __utmz=30149280.1624276858.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); ap_v=0,6.0; gr_user_id=ca8b9156-1926-4c82-9dda-27fc7f7ad51b; __utma=30149280.66080894.1623848440.1624276858.1624282580.3; __utmt=1; dbcl2="157316158:e4ojS8paSUc"; ck=GStY; push_doumail_num=0; __utmv=30149280.15731; frodotk="a187943e3a17e8bbe496bcbaae47ba31"; push_noty_num=0; __utmb=30149280.11.10.1624282580',
    'Host': 'm.douban.com',
    'Origin': 'https://www.douban.com',
    'Referer': 'https://www.douban.com/gallery/topic/18306/',
    'sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"',
    'sec-ch-ua-mobile': '?0',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'
  }

url_basic 就是可以返回列表 json 的地址,只有 start 参数在随鼠标下滑翻页改变。

 for i in range(1,35):
    
    res = requests.get(url=url_basic.format(i * 20), headers=headers)
    res_json = json.loads(res.text)
    index = 0
    for item in res_json.get('items'):
      target = item.get('target')
      status = target.get('status')
      print("这里是第 {} 个".format((i - 1) * 20 + index));
      index = index + 1
      with open('douban.txt', 'a+') as f:
        f.write(json.dumps(status) + '\n');

    sleeptime=random.randint(1, 10)
    time.sleep(sleeptime)

这里把下载下来的数据缓存在 txt 文件里面。

图表

交友地图

先提取小姐姐的地址做一个热力图,看看哪边的小姐姐最多。

需要安装  cpca 第三方库,cpca 是一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块。简单来说就是将交友文字中出现的市区名称转换为省份名称。

pip install cpca

windows 上安装可能出现 Building wheel for pyahocorasick (setup.py) ... error 错误,需要安装 Microsoft Visual C++ Build Tools 后再 pip install cpca。

第二个安装的是 pyecharts 第三方库,用来可视化热力图。

pip install pyecharts

可以看出华东和华南交友的小姐姐要比华北和西部的小姐姐多很多,看起来单身小姐姐都集中在一线城市及其周边。

Python 代码如下:

from pyecharts.charts import Geo
from pyecharts.globals import ChartType

addr_dic = {}
file_object = open('douban.txt','r')
try:
    for line in file_object:
        item = json.loads(line)
        if item == None:
            continue
        author = item['author']
        text = item['text']

        addr_transform = cpca.transform([text])
        addr = None

        if addr_transform['省'].str.split(' ')[0] != None:
            addr = addr_transform['省'].str.split(' ')[0][0].rstrip('省')

        //这里提取创作者里面的地址
        if addr is None and author['loc'] is not None:
            cpca.transform([author['loc']['name']])

            if addr_transform['省'].str.split(' ')[0] != None:
                addr = addr_transform['省'].str.split(' ')[0][0].rstrip('省')
        
        //这个地址要转换一下,不然 echarts 不认
        if addr is not None:
            if addr == '广西壮族自治区':
                addr = '广西'
            if addr == '香港特别行政区':
                addr = '香港'
            if addr == '澳门特别行政区':
                addr = '澳门'
        addr_dic[addr] = addr_dic.get(addr, 0) + 1

finally:
    file_object.close()

// 小姐姐热力图
(
    Geo()
    .add_schema(maptype="china")
    .add(
        "",
        [list(z) for z in zip(list(addr_dic.keys()), list(addr_dic.values()))],
        type_=ChartType.HEATMAP,
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(),
    ).render("热力图.html")
  )
词云

词云可以用来展示小姐姐们自身的情况和对对方的要求。用 pyecharts 生成词云和用 jieba 第三方库分词。

安装一下 jieba 第三方库。

pip install jieba

Python 代码如下:

import jieba
from collections import Counter
from pyecharts.charts import WordCloud

for line in file_object:
    item = json.loads(line)
    if item == None:
        continue
    text = item['text']

    seg_list = jieba.cut(text, cut_all=False)
    text_list.extend(seg_list)

# 词频统计,使用Count计数方法
words_counter = Counter(text_list)
# 将Counter类型转换为列表
words_list = words_counter.most_common(500)
(
    WordCloud()
    .add(series_name="", data_pair=words, word_size_range=[20, 66])
    .render("词云.html")
)

照片下载

最后来下载小姐姐照片吧,直接用 request.get() 方法请求 images 里面的地址。

for line in file_object:
    item = json.loads(line)
    if item == None:
        continue
    images = item['images']
    id = item['id']

    index = 0
    for i in images:
        index = index + 1
        url = i.get('large').get('url')
        r = requests.get(url);
        with open('./image/{}-{}.jpg'.format(id, index), 'wb') as f:
            f.write(r.content) 

总结

这篇爬虫到这里就结束了,派森酱在这里祝愿朋友们都能找到自己的良人。

年度爆款文案

星球即将涨价,速来!

关于用Python写一个征婚小程序的代码总结 这是接触Python完成的一个比较有意思的小程序代码 我们一起来看一下:首先我们打开Python,在左上角的的文件夹下邮件选择“new”选项,然后选择新建一个python文件既然是征婚,我们来既定以下征婚对象和征婚条件,为了方便查看和整理逻辑,这里我们最好把既定的条件以注释方式写在python中方便查看,条件如下:然后,我们根据征婚的内容先来写出必要的5个条件    然后,我们把条件转换为以int... 阅读详情

相关推荐

(python爬虫项目)某婚恋网的简单数据爬取

爬取项目目标网站: www.7rdao.com 想要获得的数据: 获取想要省份用户基本信息。 (你想要哪个省就爬哪个省份咯) 既然目标明确,工具齐备. 话不多说,直接打开网页分析. 网页分析: 这是我们想获取的信息.先提交一次看有什么反应! 完整的URL: http://www.7rdao.com/user/search.aspx?sex=0&ddl_StartAg...

AkingBnitss的博客 6131

【Python--数据结构分析】海伦一直使用在线交友网站寻找适合的交友对象,为了方便分析,她将交友数据存放在datingTestSet.csv文件中。

数据结构分析--基于Python实现,关于思考与练习。

WoNiu921的博客 2099

使用python自动寻找抖音上漂亮的小姐姐,再也不愁没有小姐姐看

前一段时间在知乎上看到了一个关于python的话题,看到这个有意思的小程序,于是自己也来写一个,先看看效果。 首先我们先做准备工作: 到百度AI开放平台申请一个人脸识别API。 adb调试工具。 python环境必须有(废话) 下面我们开始正式开始: 申请到百度的人脸识别api接口后,在控制台可以找到百度给我们的API Key和Secret Key 通过查看百度的人脸识别api文档,找到以下...

weixin_45626962的博客 1083

【python】python社交交友平台系统设计与实现(源码+数据库)【独一无二】

基于一门高级语言,搭建一个简易平台,所使用的数据库可以是MySQL或其他合适的数据库。例如类似以下内容的社交平台,可基于自己理解做适当变动,也可以自行设计其他应用场景,逻辑自治即可。 **用户端:** - 用户端用户可以注册,初始化用户id和密码 - 用户可以登录,并修改个人基本信息,如姓名、性别、出生日期、年龄 - 用户可以搜索、添加、删除好友,并将好友分组管理 - 用户可以发表、修改朋友圈(朋友圈有字数限制),记录朋友圈最后更新时间 - 用户可以查看好友的朋友圈(包含最后更新时间、其他人的评论),并进

测试开发自动化 2367

Python抓取某相亲网站用户大数据分析【女】

【郑重声明】本文章统计数据均来自新县网用户数据,未通过任何非公开及违法渠道获取广大用户的个人隐私信息! 【技术参考】Python、selenium、pyecharts(自编自写的python脚本抓取的新县网公开信息) 摘要 喜逢春日佳节之际,受到新型冠状病毒肺炎的影响,窝在家里实在难受,为了防止屁股坐的生疮,闲来无事爬了爬新县网,本文统计的实际新县网城缘女性用户为176位,VIP用户未统计在列(原...

奔跑的五花肉 1642

单相PWM整流器四象限运行原理

简述单相PWM整流器四象限运行原理。

m0_75208156的博客 8301

某农业学校python(二)

该内容主要是针对函数的应用的问题

qssssss79的博客 8089

从Multibit到Debanking:芯片设计中的时序优化完整流程解析(含真实案例)

本文深入解析芯片设计中Multibit技术与Debanking的时序优化完整流程,结合7nm移动SoC真实案例,详细探讨Multibit的核心优势、实施条件及潜在风险,并提供Debanking的触发时机与操作策略。通过平衡Multibit与Debanking,工程师可有效优化PPA(Power-Performance-Area),提升芯片设计效率。

weixin_30316097的博客 460

python实验题

华中农业大学pythonitc实验题

追风小小少年的博客 2万+

Anki小白必看:手把手教你打造高颜值个性化笔记模板(附Leaflyer模板下载)

本文为Anki新手提供详细的个性化笔记模板设计指南,从基础配置到高级定制技巧,帮助用户打造高效记忆系统。特别推荐Leaflyer模板下载,通过视觉优化和功能强化,显著提升学习体验和记忆效率。

weixin_28717969的博客 433

IWR6843ISK+DCA1000EVM 本人遇到的所有报错和解决方案

本文详解了初次使用DCA1000EVM和mmave studio遇到的一系列的问题以及解决方法

2301_77883976的博客 3304

python实现豆瓣电影评价感情分析

先上图:(资源链接蓝奏云:https://zyjblogs.lanzous.com/iGjjfe2jyaj) 1.词云图 2.评价星级饼图 3.简报(好评率,最好评价,最差评价) 最好评价:很好看的!剧情有倒叙说看不懂的往下看就行!任嘉伦演技很厉害了,那岚岳林敬两个人很容易分开,演可爱也是一点不尴尬就是很不错!张慧雯长的也挺可爱的~关于剧情倒叙很多伏笔很多,作为一个原创剧本我个人很满意!每个人都有自己的小心思小秘密,需要观众一点一点揣摩~没有绝对坏人,对于明尊我也不是很讨厌,可能因为演技太

逝水无痕博客 8486

机器学习-深嵌交叉验证(Nested Cross-Validation)

Section I: Code and Analyses 第一部分:代码 from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.svm import SVC from...

Santorinisu Blogs 2716

【转】人大女生清华征友及回帖

发信人: flyingpig (飞天小猪||开始练习如何飞), 信区: PieBridge 标  题: 【转】人大女生清华征友及回帖 发信站: 同舟共济站 (Mon Feb 28 12:48:42 2005), 站内      相信未来——诚征GG 代友征友,她的QQ:173862914,无意者勿扰 请直接和她联系,勿回信箱! 由于工作原因,不便贴照片,但是可以在QQ里发送 我的基本资料是: 年龄

§为艺术而技术§ 3415

SerDes学习笔记:接收机CTLE均衡架构示例(USB3.1、PCIe3.0\4.0\5.0)

本文分析了USB3.1和PCIe标准中连续时间线性均衡器(CTLE)的设计演进。USB3.1Gen1采用一阶CTLE,其传递函数在长信道下具有有源滤波器特性;Gen2版本延续类似架构,通过Adc参数调节零点频率。PCIeGen3/4保持一阶结构但调整极点位置,Gen5升级为二阶传递函数,扩展Adc调节范围至-5dB~-15dB。研究表明,CTLE能有效改善信号完整性,通过参数优化可平衡信号衰减与码间干扰抑制。

一只豌豆象的博客 626

【系统架构设计师】预测试卷一:综合知识(75道选择题)

软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,架构风格反映领域中众多系统所共有的结构和 (48),强调对架构(49)的重用。 (48) A. 语义特性 B. 功能需求 C. 质量属性 D. 业务规则 (49) A. 分析 B. 设计 C.实现

数据知道的博客 7766

豆瓣爬虫-找到共同爱好多的人

注册豆瓣10年以上了, 最近想找下 和自己共同爱好比较多的人 但豆瓣不提供这个功能,查了查一本爬虫的书,目前简单些了下,已经跑通了流程,实现了核心功能 代码在这 https://github.com/haithink/doubanSpyder ...

haithink的专栏 705

linux arm64 Debian12移植操作手册

2023年6月10号Debian官方出了debian12 arm64版本的。如果需要完全适配这个系统的话,需要linux6.10版本。应客户的需求,需要在Debian11升级为Debian12版本。

qq_45147279的博客 2169

Python打造一个互动交友聊天室,免费在线聊天

男女撩人的套路情话一问一答,各种套路满满的句子对话。接下来跟随我一起学习如何用 python 语言实现轻松撩人。 目录 1 项目准备 1.1 了解你的本地主机地址 1.2 辅助工具——网络调试助手 1.3 环境配置 2 编写代码 2.1 编写UDP程序发送socket数据 2.2编写UDP程序接收socket数据 2.3 聊天器 1 项目准备 1.1 了解你的本地主机地址 输入,在终端输入,即可看到你的本地主机地址。 1.2 辅助工具——网络调试助手 ...

闭关修炼——暂退 7544

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

scrapy-redis案例(二)爬取中国红娘相亲网站

前言:本案例将分为三篇。第一篇,使用scrapy框架来实现爬取中国红娘相亲网站。第二篇,使用scrapy-redis 简单的方式爬取中国红娘相亲网站。(使用redis存储数据,请求具有持续性,但不具备分布式)第三篇,使用scrapy-redis 分布式的方法爬取中国红娘相亲网站。(1)祭出scrapy-redis 的框架图scrapy-redis 只是在scrapy 的基础上增加了reids 的扩...

qq1164014750 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

全球最大同性交友网站 GitHub 10 岁了!

(点击上方公众号,可快速关注)编译:程序员的那些事(ID:iProgrammer)什么鬼?最大同性交友网站 GitHub?嗯,你没看错~  这是 GitHub 在程序员圈子的另外一个名字咯~十年中的重要时刻2008 年 4 月 10 日,GitHub 结束了内测,正式上线。2018 年 4 月 10 日, GitHub 官方在本月 10 日发布了一个庆祝页面( https://github.com

程序员的那些事 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

小猪的Python学习之旅 —— 17.Python数据分析:我主良缘交友了解下

小猪的Python学习之旅 —— 17.Python数据分析:我主良缘交友了解下 标签:Python 一句话概括本文: 爬取我主良缘交友所有的妹子信息,利用Jupyter Notebook对五个方面: 身高,学历,年龄,城市和交友宣言进行分析,并把分析结果通过pyecharts 进行数据可视化。 引言: 本节应该是Python数据分析入门的最后一节了,数据分析的水可是深...

Coder-Pig的猪栏 1万+

手把手教你用Python做一个哄女友神器,小白可上手

大数据文摘出品作者:诗风悠存、蒋宝尚哄女朋友最高的境界是什么?除了用心之外,每天不重复的甜言蜜语必然是少不了的。虽然语文老师上学的时候也教了一些东西,但是日子长了必然“江郎才尽”。大家都是混科技圈的,借助自动化的手段能不能一次性的解决问题呢?嗯,显然是可以的。Github作为全球最大的同性交友网站,小伙伴们不仅可以在上面交流编程技巧,还能学到如何开发一个自动哄女友神器。先附上Github地址:ht...

BigDataDigest的博客 5512
上一篇: Python 一行代码算出每个省面积的神器—Geopandas
下一篇: 16岁黑客入侵腾讯系统入狱,后做手游创业赚数亿,如今31岁的他在哪里?
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值