目前,人工智能的应用日渐广泛。
而作为人工智能核心的机器学习,是一门多领域的交叉学科,专门研究计算机模拟或实现人类学习行为的方法,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
简单来说,机器学习就是优化数学方程式的过程。但在实际生活中,机器学习已经在金融、科研等领域蓬勃发展。
举个例子,运用爬虫技术来获取东方财富网的股票信息。
首先,明确需要获取的信息:
总市值、净资产、净利润、市盈率、市净率、毛利率、净利率 ROE
根据目标,准备以下材料:
东方财富网址:http://quote.eastmoney.com/stocklist.html
环境:python2.7/python3.6
需要安装:BeautifulSoup包、requests包、lxml包
进入我们事先准备的东方财富网站,先爬取股票汇总页面,如下图所示:
(直看得眼花缭乱)
接着进入每只股票的详情页,爬取每只股票的具体信息,以下图两家为例:
那我们是如何获取到想要的数据的呢?
来瞧瞧撬动这个冰山一角的代码:
#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矩阵分解
第二十七章 聚类与集成算法
第二十八章 机器学习业务流程
长按识别二维码
即可报名学习
进阶篇(共113学时)
(课程大纲)
《Python机器学习实战——进阶课程》(¥398)
第一章:Seaborn可视化库(免费试学)
第二章:降维算法-线性判别分析
第三章:Python实现线性判别分析
第四章:PCA主成分分析
第五章:Python实现PCA主成分分析
第六章:EM算法
第七章:GMM聚类实践
第八章:Xboost算法
第九章:推荐系统
第十章:推荐系统实践
第十一章:贝叶斯算法
第十二章:Python文本数据分析
第十三章:KMEANS聚类
第十四章:DBSCAN聚类
第十五章:聚类实践
第十六章:时间序列ARIMA模型
第十七章: 时间序列预测任务
第十八章:语言模型
第十九章:自然语言处理word2vec
第二十章:使用word2vec进行分类任务
第二十一章:Gensim中文词向量建模
第二十二章:自然语言处理-递归神经网络
第二十三章:递归神经网络实战-情感分析
第二十四章:探索性数据分析-赛事数据集分析
第二十五章:探索性数据分析-农粮数据分析
长按识别二维码
即可报名学习
拓展篇(共88学时)
(课程大纲)
《Python数据科学必备四大主流库》(¥198)
第一章:Python基础(免费试学)
第二章:科学计算库Numpy
第三章:数据分析处理库Pandas
第四章:可视化库Matplotlib
第五章:Seaborn可视化库
长按识别二维码
即可报名学习
课程特色
学习平台——腾讯课堂
上课形式——录播(可反复观看)
学习周期——两个月(学习建议:2小时/周)
答疑方式——课程配有专属学习群,老师随时解答
课程资料——配有专属课件代码与实战案例
课程收益——快速掌握机器学习的基础知识;掌握机器学习的四大主流库;独立完成项目实战
适用群体
零基础使用者
机器学习、深度学习爱好者
科研工作者,特别是打算迈入人工智能领域的工作者
授课老师
作为主讲人,唐老师将把多年的机器学习经验和Python使用技巧分享给大家。因此课程传授的不仅是知识,还有思维和方法。
特别提醒
基础篇
课程价格——¥398
课程优惠
①新学员
限量发放50元优惠券,公众号后台对话框回复“机器学习”领取
②老学员(报名过我们任一付费课程的学员)
评价已报名的课程,并截图发给助教,即可领取55元优惠券
进阶篇
课程价格——¥398
课程优惠
①新学员
限量发放50元优惠券,公众号后台对话框回复“实战进阶”领取
②老学员(报名过我们任一付费课程的学员)
评价已报名的课程,并截图发给助教,即可领取55元优惠券
拓展篇
课程价格——¥198
课程优惠
本课程暂无优惠
注意事项
①Python交流群:114109947
②课程有疑问或成功报名均请联系助教☟
小七微信:zwjlee001
大鱼QQ:210187565
案例来源:
https://blog.csdn.net/luanpeng825485697/article/details/78425612
作者:栾鹏
本文由数据与算法之美整理
案例版权归原作者所有,如有侵权请留言联系删除,感谢合作。
来吧,点击下方“阅读原文”,跟随着老师的脚步,提升自我!