【機器學習實戰1】泰坦尼克號:災難中的機器學習(一)數據預處理

  • 🌸博主主頁:@釉色清風
  • 🌸文章專欄:機器學習實戰
  • 🌸今日語錄:不要一直責怪過去的自己,她曾經站在霧里也很迷茫。

🌼實戰項目簡介

本次項目是kaggle上的一個入門比賽 :Titanic——Machine Learning from Disaster(泰坦尼克號——災難中的機器學習),比賽選擇了泰坦尼克號作為背景,并提供了樣本數據以及測試數據,要求我們使用機器學習創建一個模型,預測哪些乘客在泰坦尼克號沉船中幸存下來。

🌼數據文件說明

🌻泰坦尼克號項目頁面:Titanic——Machine Learning from Disaster

🌻可下載的Data頁面:


可下載包括三個文件:

  • train.csv:訓練數據
  • test.csv:測試數據
  • gender_submission.csv :提交結果案例

🌻數據變量說明

下載好文件,可知,每個乘客有12個屬性。

  • Passengerld :乘客唯一識別ID
  • Survived:是否存活,0為否,1為是
  • Pclass :客艙等級,分為1、2、3等級,與英國的階級分層有關
  • Name:姓名
  • Sex:性別
  • Age:年齡
  • SibSp:泰坦尼克號上的兄弟姐妹/配偶數量(與該乘客一起旅行的)
  • Parch:泰坦尼克號上的父母/孩子數量(與該乘客一起旅行的)
  • Ticket:船票號
  • Fare:船票價格
  • Cabin:客艙編號
  • Embarked:上船的港口編號(S=Southampton,英國南安普頓[啟航點];C=Cherbourg,法國瑟堡市[途徑點];Q=Quenstown,愛爾蘭昆市[途徑點])

🌼數據預處理

數據的質量直接決定模型預測的結果。所以,在進行訓練模型之前,我們必須要進行數據清洗。
接下來我們使用Jupyter Notebook來進行接下來的數據描述和預處理。

🌻讀入數據

首先,我們導入pandas庫,它是python中進行數據分析和處理的一個庫。然后我們讀入我們的訓練數據集。

🌾導入數據

🌾打印數據的前幾行


默認是打印前五行,如下:

🌻做簡單的統計分析


統計特性如下:

統計有

  • count: 這一列的數量(只要不是缺失值就被統計)
  • mean:平均值
  • std : 方差
  • min:最小值
  • 25%:下四分位數
  • 50%:中位數
  • 75%:上四分位數
  • max: 最大值

通過大致的瀏覽,我們可以看到,Age列含有缺失值。

🌻對[Age]列缺失值進行填充

一般對于缺失值的填充用到均值、中位數等。在這里,我們采用均值對Age列的缺失值進行填充。在填充缺失值這里我們用到了fillna函數。

🌾fillna函數

  • fillna是一個用于填充缺失值的函數,它是pandas庫中的一個方法。
  • fillna函數的基本語法如下:
  • DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

🌾對[Age]列的缺失值采用均值填充法填充


填充完之后,我們再次describe。

如下圖:

🌻將字符型轉化為數值型數據


我們知道,計算機是可以處理數字的,但是無法處理字符。為了方便統計,我們將性別[Sex]和上船港口編號[Embarked]這兩列列進行處理。

🌾對[Age]列進行替換


我們在這里用到DataFrame的loc屬性:

  • 在Python中,loc是一個用于數據框(DataFrame)的屬性,它用于選擇滿足特定條件的行。loc可以通過標簽或布爾數組來選擇行。
  • 常見的用法有:
    1. 使用標簽選擇行:
      df.loc[label]
      2.使用布爾數組選擇行:
      df.loc[bool_array]
      3.使用標簽和列選擇行和列:
      df.loc[start_label:end_label, start_column:end_column]

這里我們則采用3進行替換:

🌾對[Embarked]列進行替換


替換:

然后我們進行統計新描述,發現中的數量889,存在從缺失值。

這時,我們對三個登船地點進行統計計數。發現0是最多的,即在S處登船的人最多。

所以對于缺失值,我們將用0進行填充。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711521.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711521.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711521.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

錨索測力計數據處理與分析:MCU自動測量單元的應用

錨索測力計作為一種重要的工程監測工具,在橋梁、大壩、隧道等結構物的健康監測中發揮著日益重要的作用。如何高效、準確地處理和分析,錨索測力計所獲取的數據成為了工程師們面臨的重要問題。近年來,隨著微控制器(MCU)技術的快速發展&#xff…

Python繪制實時空氣質量地圖

我們將使用 Google Colab 中的 Python 創建包含實時空氣質量數據的交互式地圖。 ??簡介 如果有人想查看地圖上各個傳感器的空氣質量分布情況,以檢查特定位置的空氣質量數據,該怎么辦?我接下來將解決這個問題。我們重點關注基于名為 PurpleAir 的密集空氣質量網絡來識別我們…

spring: HandlerInterceptor

文章目錄 一、什么是HandlerInterceptor二、應用示例 一、什么是HandlerInterceptor HandlerInterceptor 是 Spring 框架中的一個接口,用于攔截處理程序執行。在 Spring MVC 中,你可以使用 HandlerInterceptor 來在處理程序執行前、執行后或渲染視圖之前…

51-n皇后(回溯算法)

題目 按照國際象棋的規則,皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。 n 皇后問題 研究的是如何將 n 個皇后放置在 nn 的棋盤上,并且使皇后彼此之間不能相互攻擊。 給你一個整數 n ,返回所有不同的 n 皇后問題 的解決方案。 每一…

前端開發項目必備神器之node工具整理

前言: 在我們開發項目中,node是我們必備的工具,在為了適應各種不同的開發需求的同時,node也有很多好用的插件提供給我們,這里整理個人的使用分享給大家! 一、node相關 1、node官方網站,可以安裝…

模擬算法題練習(二)(DNA序列修正、無盡的石頭)

(一、DNA序列修正) 問題描述 在生物學中,DNA序列的相似性常被用來研究物種間的親緣關系。現在我們有兩條 DNA序列,每條序列由 A、C、G、T 四種字符組成,長度相同。但是現在我們記錄的 DNA序列存在錯誤,為了…

ubuntu基礎操作(1)-個人筆記

搜狗輸入法Linux官網-首頁搜狗輸入法for linux—支持全拼、簡拼、模糊音、云輸入、皮膚、中英混輸https://pinyin.sogou.com/linux 1.關閉sudo密碼: 終端(ctrl alt t)輸入 sudo visudo 打開visudo 找到 %sudo ALL(ALL:ALL) ALL 這一行…

羊大師分享,羊奶奶有哪些對健康有益的喝法?

羊大師分享,羊奶奶有哪些對健康有益的喝法? 羊奶奶有多種對健康有益的喝法,以下是一些建議: 直接飲用:將羊奶直接煮沸后飲用,可以保留羊奶中的營養成分,為身體提供全面的滋養。羊奶的豐富蛋白質…

代碼隨想錄算法訓練營第二十八天補|93.復原IP地址 ● 78.子集 ● 90.子集II

組合問題:集合內元素的組合,不同集合內元素的組合 分割問題:本質還是組合問題,注意一下如何分割字符串 回溯模板偽代碼 void backtracking(參數) {if (終止條件) {存放結果;return;}for (選擇:本層集合中元素&#xf…

Softmax

Softmax函數是一種在機器學習和深度學習中廣泛使用的激活函數,特別是在處理多分類問題時。它將一個含任意實數的向量轉換成一個概率分布,其中每個元素的值代表了屬于對應類別的概率。Softmax函數的輸出是所有可能類別的概率分布,這些概率的總…

【六袆 - MySQL】MySQL 5.5及更高版本中,InnoDB是新表的默認存儲引擎;

InnoDB 這是一個MySQL組件,結合了高性能和事務處理能力,以確保可靠性、健壯性和并發訪問。它體現了ACID設計哲學。它作為一個存儲引擎存在,處理使用ENGINEINNODB子句創建的或修改的表。請參閱第14章“InnoDB存儲引擎”以獲取有關架構細節和管…

【解決】虛幻導入FBX模型不是一個整體

問題: 現在有一個汽車的fbx模型,導入虛幻引擎,導入后變成了很多汽車零件模型。 解決: 把“合并網格體”勾選上,解決問題。

移動端app如何設計測試用例?

🍅 視頻學習:文末有免費的配套視頻可觀看 🍅 關注公眾號【互聯網雜貨鋪】,回復 1 ,免費獲取軟件測試全套資料,資料在手,漲薪更快 1、用戶界面測試 布局和元素 驗證所 有UI元素(如…

C語言拼接字符串操作

代碼解法不唯一,請在評論區留下你的實現方式和想法,我會將好的解法更新到文章中!! 要拼接 “字符串1” 和 “字符串2” ,可以使用字符串連接操作。在C語言中,您可以使用strcat函數來將兩個字符串連接起來。…

Unity 佳能SDK 及數據獲取

1. 填寫信息跟官方申請SDK,大概1-2個工作日會郵件回復你 佳能(中國)- 佳定制(佳能影像產品),SDK,EDSDK,CCAPI,軟件開發包下載 2. 將SDK這兩個文件放到 Unity Plugins文件夾 3. 把CameraControl 下面只要是綠色的 .cs 文件都復制到Unity 中

ElasticSearch搜索引擎使用指南

一、ES數據基礎類型 1、數據類型 字符串 主要包括: text和keyword兩種類型,keyword代表精確值不會參與分詞,text類型的字符串會參與分詞處理 數值 包括: long, integer, short, byte, double, float 布爾值 boolean 時間 date 數組 數組類型不…

基于ssm學生公寓管理系統的設計與開發論文

學生公寓管理系統的設計與實現 摘要 如今,科學技術的力量越來越強大,通過結合較為成熟的計算機技術,促進了學校、醫療、商城等許多行業領域的發展。為了順應時代的變化,各行業結合互聯網、人工智能等技術,紛紛開展了…

P1160 隊列安排題解

題目 一個學校里老師要將班上N個同學排成一列,同學被編號為1~N,他采取如下的方法: 先將1號同學安排進隊列,這時隊列中只有他一個人; 2~N號同學依次入列,編號為i的同學入列方式為:老師指定編…

下載huggingface數據集到本地并讀取.arrow文件遇到的問題

文章目錄 1. 524MB中文維基百科語料(需要下載的數據集)2. 下載 hugging face 網站上的數據集3. 讀取 .arrow 文件報錯代碼4. 糾正后代碼 1. 524MB中文維基百科語料(需要下載的數據集) 2. 下載 hugging face 網站上的數據集 要將H…

MATLAB環境下一種新穎的類脈沖信號的高分辨率時頻分析方法

一般情況下,機械振動信號或地震信號是非平穩的。而傳統傅立葉變換只能應用于平穩信號分析,故不適用于非平穩信號。所以,我們需要采用時頻分析方法。時頻分析方法能達到同時在時間域和頻率域對信號進行分析的目的,得到信號在不同時…