如何撬动机器学习的冰山一角?

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?来吧,点击下方“阅读原文”,跟随着老师的脚步,提升自我!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值