進軍人工智慧,怎麼能少了它?
目前,人工智慧的應用日漸廣泛。
而作為人工智慧核心的機器學習,是一門多領域的交叉學科,專門研究計算機模擬或實現人類學習行為的方法,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。
簡單來說,機器學習就是優化數學方程式的過程。但在實際生活中,機器學習已經在金融、科研等領域蓬勃發展。
舉個例子,運用爬蟲技術來獲取東方財富網的股票信息。
首先,明確需要獲取的信息:
總市值、凈資產、凈利潤、市盈率、市凈率、毛利率、凈利率 ROE
根據目標,準備以下材料:
環境:python2.7/python3.6
需要安裝:BeautifulSoup包、requests包、lxml包
進入我們事先準備的東方財富網站,先爬取股票匯總頁面,如下圖所示:
(直看得眼花繚亂)
接著進入每隻股票的詳情頁,爬取每隻股票的具體信息,以下圖兩家為例:
那我們是如何獲取到想要的數據的呢?
來瞧瞧撬動這個冰山一角的代碼:
#coding=utf-8
importrequests,re,json,time,os
importheapq
frombs4importBeautifulSoup
classGPINFO(object):
"""docstring for GPINFO"""
def__init__(self):
self.BaseData = []
self.Date = time.strftime("%Y%m%d")
self.Record ="basedata"+self.Date
print ("record exist...")
self.BaseData =self.get_base_data_from_record()
else:
print ("fuck-get data again...")
self.get_data()
#將數據寫入到記錄文件
defwrite_record(self,text):
withopen(self.Record,"ab")asf:
f.write((text+"
").encode("utf-8"))
#從記錄文件從讀取數據
defget_base_data_from_record(self):
ll = []
withopen(self.Record,"rb")asf:
json_l = f.readlines()
forjinjson_l:
ll.append(json.loads(j.decode("utf-8")))
returnll
#爬蟲獲取數據
defget_data(self):
#請求數據
orihtml = requests.get(self.Url).content
#創建 beautifulsoup 對象
soup = BeautifulSoup(orihtml,"lxml")
#採集每一個股票的信息
count =
forainsoup.find("div",class_="quotebody").find_all("a",{"target":"_blank"}):
record_d = {}
#代號
num = a.get_text().split("(")[1].strip(")")#獲取股票代號
ifnot(num.startswith("00")ornum.startswith("60")):continue#只需要6*/0* 只要以00或60開頭的股票代號
record_d["num"]=num
#名稱
name = a.get_text().split("(")[]#獲取股票名稱
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#爬取股票詳情頁
exceptExceptionase:
print ("perhaps timeout:",e)
continue
#創建soup對象
cwzbsoup = BeautifulSoup(cwzbhtml,"lxml")
#財務指標列表 [浦發銀行,總市值 凈資產 凈利潤 市盈率 市凈率 毛利率 凈利率 ROE] roe:凈資產收益率
try:
exceptExceptionase:
print ("error:",e)
continue
#去除退市股票
if"-"notincwzb_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))
defmain():
test = GPINFO()
result = test.BaseData
#[浦發銀行,總市值 凈資產 凈利潤 市盈率 市凈率 毛利率 凈利率 ROE] roe:凈資產收益率]
top_10 = heapq.nlargest(10,result,key=lambdar:float(r["data"][7].strip("%")))#獲取前10名利率最高者的數據
foritemintop_10:
forkeyinitem["data"]:
print(key),
print("
")
#列印字元串時,使用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矩陣分解
第二十七章 聚類與集成演算法
第二十八章 機器學習業務流程
※虐狗的原理是什麼?看看中科院的井蓋你就知道了
※如何通俗解釋最優化問題
TAG:超級數學建模 |