如何解开机器学习的面纱?

640?wx_fmt=gif


目前,人工智能的应用日渐广泛。


而作为人工智能核心的机器学习,是一门多领域的交叉学科,专门研究计算机模拟或实现人类学习行为的方法,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。


简单来说,机器学习就是优化数学方程式的过程。但在实际生活中,机器学习已经在金融、科研等领域蓬勃发展。

640?wx_fmt=png举个例子,运用爬虫技术来获取东方财富网的股票信息


首先,明确需要获取的信息:

总市值、净资产、净利润、市盈率、市净率、毛利率、净利率 ROE


根据目标,准备以下材料:

东方财富网址:http://quote.eastmoney.com/stocklist.html

环境:python2.7/python3.6

需要安装:BeautifulSoup包、requests包、lxml包


进入我们事先准备的东方财富网站,先爬取股票汇总页面,如下图所示:

640?wx_fmt=png

(直看得眼花缭乱)


接着进入每只股票的详情页,爬取每只股票的具体信息,以下图两家为例:


640?wx_fmt=png


那我们是如何获取到想要的数据的呢?


来瞧瞧撬动这个冰山一角的代码:

#coding=utf-8

import requests,re,json,time,os

import heapq

 

from bs4 import BeautifulSoup

 

class GPINFO(object):

    """docstring for GPINFO"""

    def __init__(self):

        self.Url = 'http://quote.eastmoney.com/stocklist.html'

        self.BaseData = []

        self.Date = time.strftime('%Y%m%d')

        self.Record = 'basedata'+self.Date

        if os.path.exists(self.Record):

            print ('record exist...')

            self.BaseData = self.get_base_data_from_record()

        else:

            print ('fuck-get data again...')

            self.get_data()

 

    #将数据写入到记录文件

    def write_record(self,text):

        with open(self.Record,'ab') as f:

            f.write((text+'\n').encode('utf-8'))

 

    #从记录文件从读取数据

    def get_base_data_from_record(self):

        ll = []

        with open(self.Record,'rb') as f:

            json_l = f.readlines()

            for j in json_l:

                ll.append(json.loads(j.decode('utf-8')))

        return ll

 

    #爬虫获取数据

    def get_data(self):

        #请求数据

        orihtml = requests.get(self.Url).content

        #创建 beautifulsoup 对象

        soup = BeautifulSoup(orihtml,'lxml')

        #采集每一个股票的信息

        count = 0

        for a in soup.find('div',class_='quotebody').find_all('a',{'target':'_blank'}):

            record_d = {}

            #代号

            num = a.get_text().split('(')[1].strip(')'#获取股票代号

            if not (num.startswith('00') or num.startswith('60')):continue #只需要6*/0*    只要以00或60开头的股票代号

            record_d['num']=num

            #名称

            name = a.get_text().split('(')[0#获取股票名称

            record_d['name']=name

            #详情页

            detail_url = a['href']

            record_d['detail_url']=detail_url

 

            cwzburl = detail_url

            #发送请求

            try:

                cwzbhtml = requests.get(cwzburl,timeout=30).content  #爬取股票详情页

            except Exception as e:

                print ('perhaps timeout:',e)

                continue

            #创建soup对象

            cwzbsoup = BeautifulSoup(cwzbhtml,'lxml')

 

            #财务指标列表 [浦发银行,总市值    净资产    净利润    市盈率    市净率    毛利率    净利率    ROE] roe:净资产收益率

            try:

                cwzb_list = cwzbsoup.find('div',class_='cwzb').tbody.tr.get_text().split()  #获取class为cwzb的div下第一个tbody下第一个tr获取内部文本,并使用空格分割

            except Exception as e:

                print ('error:',e)

                continue

            #去除退市股票

            if '-' not in cwzb_list:

                record_d['data']=cwzb_list   #将数据加入到字典中

                self.BaseData.append(record_d)  #将字典加入到总数据总

                self.write_record(json.dumps(record_d))  #将字典类型转化为字符串,写入文本

                count=count+1

                print (len(self.BaseData))

 

def main():

    test = GPINFO()

    result = test.BaseData

    #[浦发银行,总市值    净资产    净利润    市盈率    市净率    毛利率    净利率    ROE] roe:净资产收益率]

    top_10 = heapq.nlargest(10,result,key=lambda r:float(r['data'][7].strip('%')))   #获取前10名利率最高者的数据

    for item in top_10:

        for key in item['data']:

            print(key),

        print('\n')

#打印字符串时,使用print str.encode('utf8');

#打印中文列表时,使用循环 for key in list:print key

 

#打印中文字典时,可以使用循环,也可以使用json:

#  import json

# print json.dumps(dict, encoding='UTF-8', ensure_ascii=False)

 

if __name__ == '__main__':

    main()


除此之外,机器学习还可以

通过文字信息进行文本分析;

搭建回测系统;

开发交易平台等等。


既然机器学习如此牛逼,那如何追赶这股技术潮流呢?


现超级数学建模携手唐老师以Python为基础,为大家精心准备《Python机器学习》系列课程。


唐老师将系统讲解Python的基础知识常用的工具包和算法以及四个主流的Python库,并借助真实案例带领大家进行项目实战,全程还会附送完整的代码进行课程教学与实战演练。


相信,每天都能感受到能力的提升!


《Python机器学习》系列课程介绍


基础篇(共131学时)

(课程大纲)

《Python机器学习实战课程》(¥398)

第一章 AI时代人工智能入学指南(免费试学)

第二章 Python快速入门(免费试学)

第三章 Python工具:科学计算库Numpy

第四章 Python工具:数据分析处理库Pandas

第五章 Python工具:可视化库Matplotlib

第六章 算法:线性回归算法

第七章 算法:梯度下降原理

第八章 算法:逻辑回归算法

第九章 案例:Python实现逻辑回归与梯度下降

第十章 案例:使用Python分析科比生涯数据

第十一章 案例:信用卡欺诈检测

第十二章 算法:决策树

第十三章 决策树Sklearn实例

第十四章 算法:随机森林与集成算法

第十五章 案例:Kaggle竞赛案例:泰坦尼克获救预测

第十六章 算法:线性支持向量机

第十七章 非线性支持向量机

第十八章 支持向量调参实战

第十九章 计算机视觉挑战

第二十章 神经网络必备基础知识点

第二十一章 最优化与反向传播

第二十二章 神经网络整体架构    

第二十三章 案例实战CIFAR图像分类任务 

第二十四章 Tensorflow框架    

第二十五章 Mnist手写字体识别    

第二十六章 PCA降维操作与SVD矩阵分解    

第二十七章 聚类与集成算法  

第二十八章 机器学习业务流程   

长按识别二维码

即可报名学习

640?wx_fmt=png


进阶篇(共113学时)

(课程大纲)


《Python机器学习实战——进阶课程》(¥398)

第一章:Seaborn可视化库(免费试学)

第二章:降维算法-线性判别分析

第三章:Python实现线性判别分析

第四章:PCA主成分分析

第五章:Python实现PCA主成分分析

第六章:EM算法

第七章:GMM聚类实践

第八章:Xboost算法

第九章:推荐系统

第十章:推荐系统实践

第十一章:贝叶斯算法

第十二章:Python文本数据分析

第十三章:KMEANS聚类

第十四章:DBSCAN聚类

第十五章:聚类实践

第十六章:时间序列ARIMA模型

第十七章: 时间序列预测任务

第十八章:语言模型

第十九章:自然语言处理word2vec

第二十章:使用word2vec进行分类任务

第二十一章:Gensim中文词向量建模

第二十二章:自然语言处理-递归神经网络

第二十三章:递归神经网络实战-情感分析

第二十四章:探索性数据分析-赛事数据集分析

第二十五章:探索性数据分析-农粮数据分析

长按识别二维码

即可报名学习

640?wx_fmt=png


拓展篇(共88学时)

(课程大纲)


《Python数据科学必备四大主流库》(¥198)

第一章:Python基础(免费试学)

第二章:科学计算库Numpy

第三章:数据分析处理库Pandas

第四章:可视化库Matplotlib

第五章:Seaborn可视化库


长按识别二维码

即可报名学习

640?wx_fmt=png

课程特色

  • 学习平台——腾讯课堂

  • 上课形式——录播(可反复观看)

  • 学习周期——两个月(学习建议:2小时/周)

  • 答疑方式——课程配有专属学习群,老师随时解答

  • 课程资料——配有专属课件代码与实战案例

  • 课程收益——快速掌握机器学习的基础知识;掌握机器学习的四大主流库;独立完成项目实战

适用群体

  • 零基础使用者

  • 机器学习、深度学习爱好者

  • 科研工作者,特别是打算迈入人工智能领域的工作者

授课老师

作为主讲人,唐老师将把多年的机器学习经验和Python使用技巧分享给大家。因此课程传授的不仅是知识,还有思维和方法


640?wx_fmt=png


特别提醒

基础篇

  • 课程价格——¥398

  • 课程优惠

新学员

限量发放50元优惠券,公众号后台对话框回复机器学习领取

老学员(报名过我们任一付费课程的学员)

评价已报名的课程,并截图发给助教,即可领取55元优惠券


进阶篇

  • 课程价格——¥398

  • 课程优惠

新学员

限量发放50元优惠券,公众号后台对话框回复实战进阶领取

老学员(报名过我们任一付费课程的学员)

评价已报名的课程,并截图发给助教,即可领取55元优惠券


拓展篇

  • 课程价格——¥198

  • 课程优惠

本课程暂无优惠


注意事项

Python交流群:114109947

课程有疑问成功报名均请联系助教

640?wx_fmt=jpeg

小七微信:zwjlee001

大鱼QQ:210187565

案例来源:

https://blog.csdn.net/luanpeng825485697/article/details/78425612

作者:栾鹏

本文由数据与算法之美整理

案例版权归原作者所有,如有侵权请留言联系删除,感谢合作。

640?来吧,点击下方“阅读原文”,跟随着老师的脚步,提升自我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Net与Flex入门

开源项目FluorineFx就是专门针对.NET平台与Flex通信提供的AMF(ActionScript Message Format)协议通信网关,我们可以通过FluorineFx很方便的完成与.NET的通信。 另外还可以轻松的实现及时文字沟通、视频语音通信等及时交互系统的开发。 Fluori…

MAUI来了

各位很久没有和大家说端的开发了,技术发展特别快,我不知道还有多少国内的开发人员还坚守用Xamarin,但是.NET的迭代变化还是让国内.NET社区热闹起来了。去年虽然疫情,但微软还是在Build上发布了MAUI。微软这次把MAUI完全整合到了.N…

编程到底难在哪里? 从一个美国实习生的故事说起

记得之前组里来了一个美国实习生小伙子,很极客的那种,干活快,一天能给你写2000行代码(我复查的速度跟不上他写的速度),让做什么东西,上午告诉做个这个功能,下午就能在测试环境跑起来演示了。跟他单独开会的…

温故知新,DotNet Core SDK和.Net CLI十八般武艺

简介.NET命令行接口 (CLI) 工具是用于开发、生成、运行和发布.NET应用程序的跨平台工具链。https://docs.microsoft.com/zh-cn/dotnet/core/tools/SDK.NET SDK (Software Development Kit) v5.0.201.exe里程碑发布日期.NET Core 2.1.x (servicing)LTS (Long Term Support) rele…

谁说数学没用,一旦我们用在赚钱上,全世界都害怕

今天来说说“量化”投资这个门派的开山祖师、美国“赌神”——爱德华 索普。爱德华 索普是一位大教授,天才数学家,非常喜欢扑克牌博弈游戏。一般人玩扑克也就只盯着眼前输赢,爱德华 索普却花了两年时间利用早期的IBM计算机和概率论中的凯利…

2021年春招Elasticsearch面试题

1、Elasticsearch是如何实现master选举的?1、对所有可以成为master的节点根据nodeId排序,每次选举每个节点都把自己所知道节点排一次序,然后选出第一个(第0位)节点,暂且认为它是master节点。 2、如果对某个…

android qq红包,Android实现QQ抢红包插件

又想到快要过年了,到时候还不知道群里要发好多红包,所以我将之前在网上宕的一份微信抢红包的代码修改了一下,实现了QQ抢红包!可以支持抢QQ拼手气红包,普通红包,口令红包,现在再也不怕20年单身手…

8个Python高效数据分析的技巧

不管是参加Kaggle比赛,还是开发一个深度学习应用,第一步总是数据分析。这篇文章介绍了8个使用Python进行数据分析的方法,不仅能够提升运行效率,还能够使代码更加“优美”。一行代码定义List定义某种列表时,写For 循环过…

NET问答: 如何在 ASP.NET Core Web API 的 Response 中添加自定义的 Header ?

咨询区 JDawg:我正在将 Web API 2 移植到 ASP.NET Core Web API 上,以前我都直接在 Response 属性上添加自定义的 Header,如下代码所示:HttpResponseMessage response new HttpResponseMessage(HttpStatusCode.OK); response.Hea…

一个免费兑换iPhone X的机会,就这样被你错过了

嗨~我是大家最爱的小树,第一次写文,有点小鸡冻!!!小树此行是带着超模君的礼物来的哦!上周准备会员周回馈粉丝的时候,超模君突然决定要送模友们:iPhone X !!&a…

正则表达式学习神器!

推荐一款优秀的正则表达式在线可视化工具我相信很多朋友第一次听到正则表达式时,都感觉这是一个高大上的名词。其实,简单来说,正则表达式就是用来匹配文本的。正则表达式里的 “正” 是指常客,即经常出现、通用的意思;…

数据可视化,带给你的惊艳并不止这一点!

在大数据时代的现今,数据庞大且繁杂,仅通过简单的数据整理得出清晰的结论,已经不太合理。实际上,若要简明扼要地展示出结论,不妨考虑一下数据可视化。那么,什么是数据可视化呢?数据可视化&#…

关于C3P0容错和自动重连特性的研究

为什么80%的码农都做不了架构师?>>> 最近常有数据库和网络设备升级和搬迁等事情,而各个应用都是基于数据库连接池做的,大部分都是基于C3P0,数据库或网络状况的变动都会导致客户端连接池中的connection失效&#xff0c…

android otg主从切换,一种自动切换OTG设备主从模式下的Vbus电压的方法与电路与流程...

本发明涉及otg设备的检测领域,更具体地说,涉及一种自动切换otg设备主从模式下的vbus电压的方法与电路。背景技术:现有技术中,具备otg功能的设备通过检测usb_id引脚的状态来判断工作为host(主模式/usb_id悬空)或者device(从模式/us…

又一起.NET程序挂死, 用 Windbg 抽丝剥茧式的真实案例分析

一:背景 1. 讲故事前天有位粉丝朋友在后台留言让我帮忙看看他的 Winform程序 UI无响应 410线程 到底是啥情况,如下图:说实话,能看到这些真实案例我是特别喜欢的???????????? ,就像医生看病,光…

别乱说,算法才不是脑筋急转弯

老崔去某厂笔试时,遇到了经典的「狼、羊、白菜 过河问题」。由于经常看算法方面的内容,这道对于他来说,so easy。题目大概是这样:题号1:农夫需要把狼、羊、菜和自己运到河对岸去,只有农夫能够划船&#xff…

HTML坐标不随着屏幕大小改变,HTML热区map坐标,随窗口大小自适应办法(javascript)...

为图片添加MAP:/>/>/>/>图片大小随页面变化,需要MAP中每个area的坐标也随页面等比例变化。Javascript实现:adjust();var timeout null;//onresize触发次数过多,设置定时器window.onresize function () {clearTimeou…

NET问答: Find() 和 Where().FirstOrDefault() 该如何选择 ?

咨询区 KingOfHypocrites:我经常看到别人用 Where.FirstOrDefault() 获取某一个匹配集合的第一个元素,我在想为什么他们不使用 Find() 呢 ? 是不是前者更高级一点?有人能告诉我它们的差别吗?比如下面的代码:namespace…

python实战,教你用微信每天给女朋友说晚安

但凡一件事,稍微有些重复,我就考虑怎么样用程序来实现它。这里给各位程序员朋友分享如何每天给朋友定时微信发送”晚安“,故事,新闻等等。最好运行在服务器上,这样后台挂起来更方便。准备:**微信号** pip i…

学计算机与学英语作文,初二英语作文(关于计算机与学习)

鲁铁华回答:Thereisabiginfluenceoftechniqueonourdailylife.Electronicdevices,multimediaandcomputersarethingswehavetodealwitheveryday.EspeciallytheInternetisbecomingmoreandmoreimportantfornearlyeverybodyasitisoneofthenewestandmostforward-lookingmed…