當前位置:
首頁 > 知識 > 進軍人工智慧,怎麼能少了它?

進軍人工智慧,怎麼能少了它?

目前,人工智慧的應用日漸廣泛。

而作為人工智慧核心的機器學習,是一門多領域的交叉學科,專門研究計算機模擬或實現人類學習行為的方法,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。

簡單來說,機器學習就是優化數學方程式的過程。但在實際生活中,機器學習已經在金融、科研等領域蓬勃發展。

舉個例子,運用爬蟲技術來獲取東方財富網的股票信息。

首先,明確需要獲取的信息:

總市值、凈資產、凈利潤、市盈率、市凈率、毛利率、凈利率 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:超級數學建模 |