中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)站開發(fā)湛江西安搜索引擎優(yōu)化

網(wǎng)站開發(fā)湛江,西安搜索引擎優(yōu)化,昆明軟件開發(fā)公司有哪些,wordpress調(diào)用外部樣式表文章目錄 介紹機器學習的實戰(zhàn)框架1.定義問題2.收集數(shù)據(jù)和預(yù)處理(1).收集數(shù)據(jù)(2).數(shù)據(jù)可視化(3).數(shù)據(jù)清洗(4).特征工程(5).構(gòu)建特征集和標簽集(6).拆分訓練集、驗證集和測試集。 3.選擇算法并建立模型4.訓練模型5.模型的評估和優(yōu)化 介紹機器學習的實戰(zhàn)框架 一個機器學習項目從開…

文章目錄

  • 介紹機器學習的實戰(zhàn)框架
    • 1.定義問題
    • 2.收集數(shù)據(jù)和預(yù)處理
      • (1).收集數(shù)據(jù)
      • (2).數(shù)據(jù)可視化
      • (3).數(shù)據(jù)清洗
      • (4).特征工程
      • (5).構(gòu)建特征集和標簽集
      • (6).拆分訓練集、驗證集和測試集。
    • 3.選擇算法并建立模型
    • 4.訓練模型
    • 5.模型的評估和優(yōu)化


介紹機器學習的實戰(zhàn)框架

一個機器學習項目從開始到結(jié)束大致分為 5 步,分別是定義問題、收集數(shù)據(jù)和預(yù)處理、選擇算法和確定模型、訓練擬合模型、評估并優(yōu)化模型性能。這 5 步是一個循環(huán)迭代的過程,你可以參考下面的圖片:
在這里插入圖片描述

1.定義問題

我們項目的目標就是,建立一個機器學習模型,根據(jù)點贊數(shù)和轉(zhuǎn)發(fā)數(shù)等指標,估計一篇文章能實現(xiàn)多大的瀏覽量

因為要估計瀏覽量,所以在這個數(shù)據(jù)集中:點贊數(shù)、轉(zhuǎn)發(fā)數(shù)、熱度指數(shù)、文章評級,這 4 個字段都是特征,瀏覽量就是標簽。這里我們已經(jīng)有要估計的標簽了,所以這是一個監(jiān)督學習問題。再加上我們的標簽是連續(xù)性的數(shù)值,因此它是一個回歸問題。

2.收集數(shù)據(jù)和預(yù)處理

(1).收集數(shù)據(jù)

首先是收集數(shù)據(jù),這一步又叫采集數(shù)據(jù)。

在現(xiàn)實中,收集數(shù)據(jù)通常很辛苦,要在運營環(huán)節(jié)做很多數(shù)據(jù)埋點、獲取用戶消費等行為信息和興趣偏好信息,有時候還需要上網(wǎng)爬取數(shù)據(jù)。

收集數(shù)據(jù)的方法有很多,這里推薦之前寫過的相關(guān)文章:
數(shù)據(jù)爬蟲(JSON格式)&數(shù)據(jù)地圖可視化(pyecharts)【步驟清晰,一看就懂】:https://blog.csdn.net/weixin_42504788/article/details/134588642

數(shù)據(jù)爬取+數(shù)據(jù)可視化實戰(zhàn)_哪里只得我共你(Dear Jane)_詞云展示----網(wǎng)易云:https://blog.csdn.net/weixin_42504788/article/details/134622850

數(shù)據(jù)爬取+可視化實戰(zhàn)_告白氣球_詞云展示----酷狗音樂:https://blog.csdn.net/weixin_42504788/article/details/134622575

處理Json格式的數(shù)據(jù),如何用Python將數(shù)據(jù)存放入Excel中(步驟清晰,一看就懂):https://blog.csdn.net/weixin_42504788/article/details/134543733

(2).數(shù)據(jù)可視化

數(shù)據(jù)可視化是個萬金油技能,能做的事非常多。比如說,可以看一看特征和標簽之間可能存在的關(guān)系,也可以看看數(shù)據(jù)里有沒有“臟數(shù)據(jù)”和“離群點”等。

常用的工具包有:

import matplotlib.pyplot as plt # Matplotlib – Python畫圖工具庫
import seaborn as sns # Seaborn – 統(tǒng)計學數(shù)據(jù)可視化工具庫

(3).數(shù)據(jù)清洗

處理缺失的數(shù)據(jù):用均值填充、眾數(shù)填充或0。如果建模用樹模型,也可以不填充,樹模型算法自身可以處理缺失值。
處理重復(fù)的數(shù)據(jù):完全相同,刪去即可。
處理錯誤的數(shù)據(jù):部門人數(shù)、銷量、銷售金額小于0,遇到這類情況刪去即可。
處理不可用的數(shù)據(jù):建模的時候,數(shù)據(jù)必須是數(shù)字,不能是中英文等情況。比如性別出現(xiàn)男女字樣,需要轉(zhuǎn)化后再進行建模
在這里插入圖片描述

查看空缺值NaN出現(xiàn)的次數(shù):df.isna().sum()
把出現(xiàn)了NaN的數(shù)據(jù)行刪掉:df = df.dropna()

(4).特征工程

特征貼合業(yè)務(wù)實際,特征越豐富,模型效果會更好

(5).構(gòu)建特征集和標簽集

特征是輸入機器學習模型的變量。

X = df.drop(['瀏覽量'],axis=1)
X.head()

在這里插入圖片描述

標簽是結(jié)果或目標。

y = df.瀏覽量
y.head()

在這里插入圖片描述

(6).拆分訓練集、驗證集和測試集。

一般為了簡化,驗證集會省略,這里展示如何從數(shù)據(jù)中切分出訓練集跟測試集

#將數(shù)據(jù)集進行80%(訓練集)和20%(驗證集)的分割
from sklearn.model_selection import train_test_split #導(dǎo)入train_test_split工具
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

random_state設(shè)置一個值,保證每次切分的數(shù)據(jù)都一致,再次運行建模的效果也出現(xiàn)一致性。

X_train:訓練集的特征
X_test:測試集的特征
y_train:訓練集的標簽
y_test:測試集的標簽

3.選擇算法并建立模型

進行多個機器學習算法進行比較,將最優(yōu)的算法作為baseline
這里舉個經(jīng)典的邏輯回歸例子,

from sklearn.linear_model import LinearRegression # 導(dǎo)入線性回歸算法模型
linereg_model = LinearRegression() # 使用線性回歸算法創(chuàng)建模型

對于 LinearRegression 模型來講,它的外部參數(shù)主要包括兩個布爾值:

  • fit_intercept ,默認值為 True,代表是否計算模型的截距。
  • normalize,默認值為 False,代表是否對特征 X 在回歸之前做規(guī)范化。

4.訓練模型

訓練模型就是用訓練集中的特征變量和已知標簽,根據(jù)當前樣本的損失大小來逐漸擬合函數(shù),確定最優(yōu)的內(nèi)部參數(shù),最后完成模型

fit 方法是機器學習的核心環(huán)節(jié),里面封裝了很多具體的機器學習核心算法,我們只需要把特征訓練數(shù)據(jù)集和標簽訓練數(shù)據(jù)集,同時作為參數(shù)傳進 fit 方法就行了。

linereg_model.fit(X_train, y_train) # 用訓練集數(shù)據(jù),訓練機器,擬合函數(shù),確定內(nèi)部參數(shù)

不要小看上面那個簡單的 fit 語句,這是模型進行自我學習的關(guān)鍵過程。

fit 的核心就是減少損失,使函數(shù)對特征到標簽的模擬越來越貼切。
在這里插入圖片描述

這個擬合的過程,同時也是機器學習算法優(yōu)化其內(nèi)部參數(shù)的過程。而優(yōu)化參數(shù)的關(guān)鍵就是減小損失。

那什么是損失呢?它其實是對糟糕預(yù)測的懲罰,同時也是對模型好壞的度量。如果模型的預(yù)測完全準確,則損失為 0;如果不準確,就有損失。

在機器學習中,我們追求的當然是比較小的損失。不過,模型好不好,還不能僅看單個樣本,還要針對所有數(shù)據(jù)樣本,找到一組平均損失“較小”的函數(shù)模型。樣本的損失大小,從幾何意義上基本可以理解為預(yù)測值和真值之間的幾何距離。平均距離越大,說明誤差越大,模型越離譜。在下面這個圖中,左邊是平均損失較大的模型,右邊是平均損失較小的模型,模型所有數(shù)據(jù)點的平均損失很明顯大過右邊模型。

在這里插入圖片描述

回歸模型的擬合,它的關(guān)鍵環(huán)節(jié)就是通過梯度下降,逐步優(yōu)化模型的參數(shù),使訓練集誤差值達到最小。這也就是我們剛才講的那個 fit 語句所要實現(xiàn)的最優(yōu)化過程。

在這里插入圖片描述

就像圖里這樣,梯度下降其實就和下山一樣。你可以想象一下,當你站在高處,你的目標就是找到一系列的參數(shù),讓訓練數(shù)據(jù)集上的損失值最小。那么你該往哪走才能保證損失值最小呢?關(guān)鍵就是通過求導(dǎo)的方法,找到每一步的方向,確??偸峭〉膿p失方向前進。

5.模型的評估和優(yōu)化

梯度下降是在用訓練集擬合模型時最小化誤差,這時候算法調(diào)整的是模型的內(nèi)部參數(shù)。而在驗證集或者測試集進行模型效果評估的過程中,我們則是通過最小化誤差來實現(xiàn)超參數(shù)(模型外部參數(shù))的優(yōu)化。

機器學習工具包(如 scikit-learn)中都會提供常用的工具和指標,對驗證集和測試集進行評估,進而計算當前的誤差。比如 R2 或者 MSE 均方誤差指標,就可以用于評估回歸分析模型的優(yōu)劣。

當我們預(yù)測完測試集的瀏覽量后,我們要再拿這個預(yù)測結(jié)果去和測試集已有的真值去比較,這樣才能夠求出模型的性能。而這整個過程也同樣是一個循環(huán)迭代的過程

在這里插入圖片描述

預(yù)測測試集的瀏覽量,只需要用訓練好的模型 linereg_model 中的 predict 方法,在 X_test(特征測試集)上進行預(yù)測,這個方法就會返回對測試集的預(yù)測結(jié)果。

y_pred = linereg_model.predict(X_test) #預(yù)測測試集的Y值

拿到預(yù)測結(jié)果后,我們再通過下面的代碼,把測試數(shù)據(jù)集的原始特征數(shù)據(jù)、原始標簽真值,以及模型對標簽的預(yù)測值組合在一起進行顯示、比較。

df_ads_pred = X_test.copy() # 測試集特征數(shù)據(jù)
df_ads_pred['瀏覽量真值'] = y_test # 測試集標簽真值
df_ads_pred['瀏覽量預(yù)測值'] = y_pred # 測試集標簽預(yù)測值
df_ads_pred #顯示數(shù)據(jù)

在這里插入圖片描述

如果你想看看現(xiàn)在的模型長得什么樣?你可以通過 LinearRegression 的 coef_ 和 intercept_ 屬性打印出各個特征的權(quán)重和模型的偏置來。它們也就是模型的內(nèi)部參數(shù)。

print('當前模型的4個特征的權(quán)重分別是: ', linereg_model.coef_)
print('當前模型的截距(偏置)是: ', linereg_model.intercept_)# 輸出結(jié)果:
# 當前模型的4個特征的權(quán)重分別是:  [   48.08395224    34.73062229 29730.13312489  2949.62196343]
# 當前模型的截距(偏置)是:  -127493.90606857178

這也就是說,我們現(xiàn)在的模型的線性回歸公式是:
yy=48.08x1?(點贊)+34.73x2?(轉(zhuǎn)發(fā))+29730.13x3?(熱度)+2949.62x4?(評級)?127493.91

對當前這個模型,給出評估分數(shù):

print("線性回歸預(yù)測評分:", linereg_model.score(X_test, y_test)) # 評估模型# 輸出結(jié)果:
# 線性回歸預(yù)測評分: 0.7085754407718876

一般來說,R2 的取值在 0 到 1 之間,R2 越大,說明所擬合的回歸模型越優(yōu)。現(xiàn)在我們得到的 R2 值約為 0.708,在沒有與其它模型進行比較之前,我們實際上也沒法確定它是否能令人滿意。

如果模型的評估分數(shù)不理想,我們就需要回到第 3 步,調(diào)整模型的外部參數(shù),重新訓練模型。要是得到的結(jié)果依舊不理想,那我們就要考慮選擇其他算法,創(chuàng)建全新的模型了。如果很不幸,新模型的效果還是不好的話,我們就得回到第 2 步,看看是不是數(shù)據(jù)出了問題。
在這里插入圖片描述

當模型通過了評估,就可以去解決實際問題了,機器學習項目也算是基本結(jié)束。


學習機器學習的參考資料:
(1)書籍
利用Python進行數(shù)據(jù)分析
西瓜書
百面機器學習
機器學習實戰(zhàn)
阿里云天池大賽賽題解析(機器學習篇)
白話機器學習中的數(shù)學
零基礎(chǔ)學機器學習
圖解機器學習算法

(2)機構(gòu)
光環(huán)大數(shù)據(jù)
開課吧
極客時間
七月在線
深度之眼
貪心學院
拉勾教育
博學谷

http://www.risenshineclean.com/news/8533.html

相關(guān)文章:

  • 網(wǎng)站部分頻道完全不收錄了怎么做百度指數(shù)查詢移動版
  • 全球50個大網(wǎng)站開發(fā)語言昆明抖音推廣
  • 珠海市住房建設(shè)局網(wǎng)站十大外貿(mào)平臺
  • 如何自學網(wǎng)站制作網(wǎng)絡(luò)宣傳怎么做
  • 高端外貿(mào)網(wǎng)站建設(shè)服裝百度pc端首頁
  • 南京網(wǎng)站設(shè)計網(wǎng)站北京搜索引擎關(guān)鍵詞優(yōu)化
  • 網(wǎng)站設(shè)計需要什么專業(yè)關(guān)鍵詞優(yōu)化外包服務(wù)
  • 如何做盆栽蔬菜網(wǎng)站百度知道官網(wǎng)登錄入口
  • 專門做生鮮的網(wǎng)站打開百度搜索網(wǎng)站
  • 網(wǎng)上做任務(wù)賺錢的比較正規(guī)的網(wǎng)站seo顧問服務(wù) 樂云踐新專家
  • wordpress怎么看展現(xiàn)量北京百度推廣優(yōu)化排名
  • 什么網(wǎng)站做電器出租做網(wǎng)站建網(wǎng)站公司
  • 機關(guān)網(wǎng)站建設(shè)征求意見最新最好的磁力搜索
  • 大學生創(chuàng)業(yè)做網(wǎng)站網(wǎng)站流量統(tǒng)計分析
  • 公司網(wǎng)站的seo怎么做軟文推廣廣告
  • 汽車網(wǎng)站建設(shè)模板百度引流推廣哪家好
  • 紅谷灘園林建設(shè)集團有限公司 網(wǎng)站百度文庫首頁
  • 湖南網(wǎng)站托管哪家好廣州網(wǎng)站優(yōu)化步驟
  • 清遠專業(yè)網(wǎng)站制作公司360優(yōu)化大師官方下載最新版
  • 如何登錄網(wǎng)站空間sns營銷
  • 移動網(wǎng)站開發(fā)百度百科seo網(wǎng)絡(luò)優(yōu)化
  • 山東高端網(wǎng)站建設(shè)nba排名西部和東部
  • 網(wǎng)站開發(fā)的經(jīng)驗怎么提高百度關(guān)鍵詞排名
  • 人才網(wǎng)站建設(shè)臨沂網(wǎng)站建設(shè)方案服務(wù)
  • 做微網(wǎng)站平臺廣州網(wǎng)站建設(shè)公司
  • 網(wǎng)站制作方案范文太原網(wǎng)站建設(shè)方案咨詢
  • 網(wǎng)站加入地圖學網(wǎng)絡(luò)運營在哪里學比較好
  • 深圳市建設(shè)混凝土投標網(wǎng)站seo教程論壇
  • 個人建站提供軟件下載軟文發(fā)稿平臺有哪些
  • 隴南做網(wǎng)站網(wǎng)絡(luò)營銷課程論文