日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

c罗python可视化分析_关于C罗“冲刺速度”这种隐私问题,我们在Kaggle上找到了数据集,然后。。。...

發布時間:2023/12/8 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c罗python可视化分析_关于C罗“冲刺速度”这种隐私问题,我们在Kaggle上找到了数据集,然后。。。... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:關于C羅“沖刺速度”這種隱私問題,我們在Kaggle上找到了數據集,然后。。。

今日份知識你攝入了么?

你知道 FIFA 么?在線踢足球那種,賊老多人玩兒這個游戲,本仙女作為非深度玩家卻總是有技能狂勝各路資深玩家。我并不是個小心機策略怪,我更喜歡看我操控的球員匹配使用沖刺速度,難以捉摸的突然跑位和轉向。這些方法讓我能夠在對方半場制造空缺,順利運球到位。

為了讓我的戰術更穩定地發揮,也讓我的戰術擁有數據支持,我決定發揮一下我的技能,于是我尋找了 Kaggle 上的數據集:FIFA 19 complete player dataset (后臺回復 FIFA 獲取數據集下載鏈接)

今天這篇文章,就讓我給你細細描述如何用這些可愛的數據們根據變量和特點預測出球員的速度,畢竟這可能是世界上存在的最好戰斗攻略了。

第一趴:線性回歸

線性回歸可以概括為試圖模擬一個或多個自變量與特定結果或因變量之間的關系。為使該算法有效,獨立變量和因變量之間必須存在線性關系。應用于數據的是兩個或多個變量之間存在的中等到強的相關性,它可以通過找到一條最擬合結果的線來進行結果預測,這是個非常有用的起點。

Y = MX +B

這背后的數學很簡單,特別是在你只看一個自變量的情況下。Y表示結果或因變量,而M表示斜率,X表示自變量,B表示y軸截距。簡單地說,假設X和Y之間存在線性關系,如果你知道線的斜率和自變量的價值,你可以預測結果。然而在我的情況下,我將查看多個獨立變量,因此所需的公式稍有變化。

F(x) = A +(B1*X1) +(B2*X2)+(B3*X2)+(B4*X4)...+(Bn*Xn)

有了這個公式,我假設我需要考慮n個自變量。在這種情況下,F(x) 是該線性模型的預測結果,A是y軸截距,X1到Xn是預測變量/自變量,B1到Bn是回歸系數 (相當于簡單線性回歸中的斜率)。在這個公式中代入相應的數字后得出預測結果,在這個例子中,是玩家在FIFA19上的沖刺速度。

第二趴:與數據進行“心連心的交流”

我選擇使用Python去分析,從 Kaggle 上下載數據,將其上傳到我的 Google 云端硬盤,加載到 Google Colab 并使用 pandas 的 read.csv 函數上傳數據。在加載了scipy,numpy和 pandas 庫后,我將繼續進行數據清理。

第三趴:數據清理

我開始時先做了些假設,我認為沖刺速度很大程度上受高度,重量,年齡,加速度以及球員的體重和身高之間的比例的影響。在觀察數據集時,我注意到高度和重量以字符串格式記錄(比如5’11和180lbs),另外作為更習慣公制度量標準的人,我想將這些測量值分別改成厘米和千克。

對于體重來說,這個單位轉換過程包括通過查找撇號作為分隔符來拆分字符串,將其轉換為句點(小數點分隔符)并應用lambda函數將字符串格式(string)轉換為浮點型格式(float)并將其轉換成厘米。我將字符串轉換為浮點數是因為我知道計算會返回一個基本上是浮點型的數字。

執行此操作后,我將繼續使用數據中的平均高度值填充所有NaN值,并將數字轉換為整數(小于100行)。我的假設是用平均值填充缺失值對于我的分析比向前填充,省略NaN行數據或將其更改為0更好。我后來才知道這些列不適用于我的分析,但是我決定將其包含在內來展示我必須做的數據列清理工作。

在將相同的清理應用到高度的數據列后,我定義了一個函數應用于列,使用該列的平均值填充所有的NaN值并將該數字轉換為整數格式(int)。在我用于分析的數據列上測試后,我在相關數據列上應用了這個函數。

第四趴:檢測相關性和顯著性測試

為了測試每列和結果列(沖刺速度)之間的相關性,我選擇使用scipy包中的spearmanr函數。該函數計算相關性并返回x和y之間的相關性以及p值或該相關性的顯著性概率。

使用此函數,我遍歷了數據集中的不同列,以確定我將用于回歸模型的列。我選擇使用存在至少0.50或低于-0.50的中等到強相關的列。用這個基準我得到了我需要的自變量的列:敏捷,加速,平衡,定位,技能移動,控球,交叉,整理和反應。

通常當你測量線性時,你可能需要使用散點圖來可視化每一列來確定線性關系確實存在。純粹依賴于相關系數有個問題,有影響的異常值可以顯著地增大或減小相關系數,使得當實際不存在什么相關性時看起來好像有強/弱相關。通過了解球員得分如何在國際足聯中分布,我假設并不需要考慮這個問題,我們不會得到極具影響力的奇異值(除了銷售價格之類的列)。

第五趴:多元線性回歸模型

我的機器學習算法(假設你考慮使用一個線性回歸機器學習模型)主要依賴于sklearn庫。在導入這個庫后,我選擇應用80/20規則來劃分數據成訓練集和測試集,我認為我不想使用超過20%的數據以便更加確定我的模型可以推廣到整個數據集。

我繼續定義我想在模型里使用的特征或自變量和我想預測的目標或因變量,并且訓練用線性回歸訓練我的模型。訓練涉及到查看自變量與因變量之間的相關性,以及進行計算來使模型能夠預測測試數據的結果。

第六趴:測試模型

Mean Absolute Error Formula

為了測試數據集的預測誤差(損失函數)我使用了sklearn里的指數模塊來計算訓練集和測試集的平均絕對誤差MAE。在這個公式里n代表了數據里的誤差數,Σ代表了加和,代表了每個觀察值和預測值的絕對誤差。這個公式把所有絕對誤差相加并除以總觀察數,返回一個代表預測值和實際沖刺速度的平均絕對誤差的數字。

理想情況下,我希望得到的MAE盡可能的小,并且與我的預測成功率結果一起報告。我可以選擇使用類似于MAE的均方根誤差RMSE,同樣返回一個顯示預測值與預測值的偏差的數字。RMSE 只是找到MAE的平方根(但是我們會在這個例子中對絕對誤差進行平方)。

為了測試這個模型的準確性,我選擇運用了r2_score_metric(coefficient of determination 確定系數)。R2 Score 或 R-squared 衡量數據與回歸模型的擬合程度,數字越接近1模型越接近,表明線性回歸模型解釋了相當大比例的數值-表明預測能力更強。

正如我的控制器報告,預測模型解釋了我測試數據的85.61%,平均偏差大約4.2(預測值與實際值之間的平均偏差)。舉個例子,根據結果,如果我們使用該模型對沖刺速度為90的玩家進行預測,則實際沖刺速度平均在86和94之間的概率非常大。

根據R-squared的理解,我為我的模型加入越多的預測變量,R-squared值會增加,因為我會在數據里考慮更多的變化。考慮到這一點,我可以看調整后的R-squared值,它會懲罰更多預測因此的使用,這種懲罰的大小取決于預測因子的數量與數據中有可能的預測因子(所有其他列)的大小之間的關系。

結果是只有當添加的預測變量使模型比偶然的預期提升更大時,調整過的R-squared值(adjusted R-squared)才會增加。

Adjusted R Squared

在上述公式中,k代表了預測變量的數量而n代表數據中的總列數。

在我想測試此模型與其他模型的適合度的情況下,此百分比將變得更有用。

我注意到使用預測因子的另一個問題是,一些預測因子與其他預測因子產生多重共線性。但是根據我的理解,這對我的模型的預測能力沒有顯著影響,它對估計每個預測器對我的模型的影響的能力有更大的效果

第七趴:做出預測

現在讓我們設想使用這個模型來進行實際預測。我們在數據里隨機選擇一個選手。這恰好是現年21歲,英格蘭出生的約瑟夫?亞爾尼。這個選手正好出現在我的測試集里的第26行。

Josef Yarney Source: WorldFootball.net

我繼續定位這個選手并且提取相關統計信息以josef_stats這個變量進行記錄。然后我用創造的多元線性回歸公式來對選手的沖刺速度進行預測,得到了預測沖刺速度51 vs 實際沖刺速度48。

第八趴:可視化公式

Visualising the multivariate linear regression equation for the FIFA dataset

我們需要再次看下我們的多元線性方程來可視化我們的預測公式。

簡單來說,預測值是關于每個預測因子的斜率與他們的值的乘積的函數(比如加速度是80,我們把加速度的斜率與80相乘),我們把這些加在一起并且把總共的數字加到y軸的截距。

我們可以用.coef_ 函數來得到每個因子的系數或斜率。

我們之后可以用接下來的Python代碼來解讀這個等式。

運用這個公式,我們可以把josef_stats 列表里的每個值和它對應的斜率相乘,把他們相加然后加上我們用model.intercept_函數得到的截距,得出預測的沖刺速度51。

喜歡咱們今天這個優秀的分析咩~ 喜歡的話就右下角給我們點一個 “在看” 呀!

原文作者:Emmanuel Sibanda

翻譯作者:Manxi

美工編輯:Miya

校對審稿:卡里

原文鏈接:https://hackernoon.com/using-a-multivariable-linear-regression-model-to-predict-the-sprint-speed-of-players-in-fifa-19-530618986e1c返回搜狐,查看更多

責任編輯:

總結

以上是生活随笔為你收集整理的c罗python可视化分析_关于C罗“冲刺速度”这种隐私问题,我们在Kaggle上找到了数据集,然后。。。...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。