如何解开机器学习的面纱?
目前,人工智能的应用日渐广泛。
而作为人工智能核心的机器学习,是一门多领域的交叉学科,专门研究计算机模拟或实现人类学习行为的方法,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
简单来说,机器学习就是优化数学方程式的过程。但在实际生活中,机器学习已经在金融、科研等领域蓬勃发展。
举个例子,运用爬虫技术来获取东方财富网的股票信息。
首先,明确需要获取的信息:
总市值、净资产、净利润、市盈率、市净率、毛利率、净利率 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
作者:栾鹏
本文由数据与算法之美整理
案例版权归原作者所有,如有侵权请留言联系删除,感谢合作。
来吧,点击下方“阅读原文”,跟随着老师的脚步,提升自我!
如何解开机器学习的面纱?相关推荐
- Machine Learning -- 揭开机器学习的面纱
揭开机器学习的面纱 1. 何为机器学习? 2. 机器学习的前世今生 3. 机器学习的常用算法 4.机器学习的分类 4.1 按照学习方式类 4.1.1 监督学习 4.1.2 无监督学习 4.1.3 强化 ...
- 解开机器学习模型黑盒的 4 种方法(终极指南)
这是解释机器学习模型输出的终极指南 更多机器学习系列请看:芯媒机器学习系列文章和资料 许多人都认为机器学习模型的输出是莫名其妙的,模型预测或决策可能是可靠的,但你无法知道模型是根据什么做出的决策. 这 ...
- ES6 Promise - 让我们解开的面纱(遵循Promise/A+规范)
Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息.ECMAscript 6 原生提供了 Promise 对象.而且ES7中的async/await也是Promise基础实现的.Pr ...
- 【问答集锦】减少专家依赖,自动化机器学习如何实现AI普惠?
2020腾讯广告算法大赛专题直播周是由腾讯广告打造的一档大咖直播活动,特邀2020腾讯广告算法大赛的专家评委,针对联邦学习.机器学习.大数据等前沿领域的核心话题进行分享,并为算法爱好者们答疑解惑.我们 ...
- 【算法大赛直播周】如何让人人都可以使用AI技术?北大崔斌教授亲解自动化机器学习
2020腾讯广告算法大赛已于近日落下帷幕(点击回顾),但算法研习之路永无止境.为了更好地推动前沿技术的分享和交流,持续助力产学研融合落地,腾讯广告特邀三位大赛顶级评委开启"2020腾讯广告算 ...
- 从零开始写高性能的人脸识别服务器(二)
文章目录 从零开始写高性能的人脸识别服务器(二) 1 高性能服务器架构 1.1 BIO 1.2 NIO 1.3 架构发展 1.4 网络IO模型对比 2 protobuf序列化协议 2.1 什么是序列化 ...
- 微服务业务系统(Biz-UI)的中台构建之路
导读 中台是近两年软件开发领域的热点话题,相关的文章也成为了各个技术社区和媒体争相报道的网红内容.作为企业支撑业务开发的核心系统,中台的重要性不言而喻,很多企业也开始尝试中台的构建和落地工作.Biz- ...
- parallelstream启动的线程数_谈谈并行流parallelStream
一.parallelStream是什么 Java8中提供了能够更方便处理集合数据的Stream类,其中parallelStream()方法能够充分利用多核CPU的优势,使用多线程加快对集合数据的处理速 ...
- 数据结构之数组、链表、栈和队列
1.数组 1.1:概念 数组是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据.这里我们要抽取出三个跟数组相关的关键词:线性表,连续内存空间,相同数据类型:数组具有连续的内存空 ...
最新文章
- SQL函数--- SQL FIRST()
- python手机版下载官方-Python
- 【一周入门MySQL—4】数据库进阶练习
- 嵌入式linux完整top命令,linux的top命令详解
- superset可视化-world map
- eslint规范_规范统一前端代码风格
- HTMLCSS 超简单的前端设计入门-2!
- hid在linux上的轮训时间,linux 自定义hid速度优化
- mormot json操作
- 使用 CSS3 实现 3D 图片滑块效果
- 【渝粤教育】国家开放大学2018年春季 7392-21TMatlab语言及其应用 参考试题
- paip.rmvb视频的无损分割与截取
- Qt For Android | QT安卓开发环境搭建
- 黑苹果oc清除nvram_小新Pro13 黑苹果/多系统心得
- 独家对话阿里巴巴副总裁华先胜: 基础科研的突破,是大浪的源头
- 最大子段和C语言实现
- Ubuntu下录制gif动图
- 英语用c语言表示什么意思,英语中to是什么意思,什么时候用to,B to B和C to C是什么意思?...
- Oracle导出FSG,SQL语句 - FSG行集、列集定义导出
- 新手云服务器系统,新手云服务器系统
热门文章
- 直接使用汇编编写 .NET Standard 库
- 使用Magicodes.SwaggerUI快速配置SwaggerUI以及设置API分组
- .Net Core3.0 配置Configuration
- Bumblebee微服务网关之请求统一验证
- GitHub的CI实践(xUnit / OpenCover /Appveyor / Coveralls.net)
- Linux中以单容器部署Nginx+ASP.NET Core
- eShopOnContainers 知多少[4]:Catalog microservice
- .NET Core中的CSV解析库
- .net core实践系列之短信服务-为什么选择.net core(开篇)
- .NET MVC CSRF/XSRF 漏洞