機器學習線性回歸案例講解 機器學習實戰 線性回歸

2021-10-14 04:35:00 字數 2241 閱讀 5182

本文將用「泰坦尼克船員獲救**」這一案例展示一下使用線性回歸建模的流程。

首先匯入原始的資料並展示資料的前5行,大致了解一下資料的情況。

原始資料中分別有以下幾列資訊:passengerid、survived、pclass、name、***、age、sibsp、parch、ticket、fare、cabin、embarked。其中survived表示是否存活也就是本次建模的目標變數。而顯然passengerid、name、ticket、cabin是無意義或無法使用的變數。

import pandas as pdtitanic = pd.read_csv("train.csv") #匯入資料titanic.head() #展示原始資料的前5行,觀察資料的概況

輸入變數中性別和上船地點為字串型別,需要轉化為數值型別才能用於建模。

titanic["***"].unique() #展示「性別」列的所有取值可能性,只有male和femaletitanic["embarked"].unique()#展示「上船地點」列的所有取值可能性,有s、c、q、nulltitanic.loc[titanic["***"]=="male","***"]=0titanic.loc[titanic["***"]=="female","***"]=1titanic.loc[titanic["embarked"]=="s","embarked"]=0titanic.loc[titanic["embarked"]=="c","embarked"]=1titanic.loc[titanic["embarked"]=="q","embarked"]=2
剛才我們看到上船地點一列中還有一部分缺失值,可以這一列中取值概率最大的值來填充。

titanic.groupby("embarked").size() #變數不同取值的分布情況

可以看到取值概率最大的為0,即s。使用0對上船地點一列的缺失值進行填充。

titanic["embarked"]=titanic["embarked"].fillna(0)
列印資料集的統計資訊,繼續觀察資料。可以發現年齡一列存在缺失值。

使用年齡的中位數對缺失值進行填充。

titanic["age"]=titanic["age"].fillna(titanic["age"].median())
在建模這一步需要先對資料集進行劃分,分為訓練集和測試集,這裡我們採用k重交叉驗證的方法。然後只要呼叫線性回歸模型,設定相應的引數然後代入資料進行訓練即可。

訓練完成之後就可以通過測試集得到的**值通過混淆矩陣等方法對模型進行評估。下面我們可以先對**值進行處理,然後計算模型的準確率。

import numpy as nppredictions = np.concatenate(predictions,axis=0)#將測試集得到的**值連線起來放到乙個變數中。在測試時由於是多重交叉驗證,所以得到的結果實際上是存在三個陣列中的predictions[predictions >.5] = 1predictions[predictions <=.5] = 0predictions.dtype = "float64"#將**值大於0.5的定義為存活,**值小於等於0.5的定義為未存活print("測試資料總數量",len(predictions))print("正確的數量:",sum(predictions == titanic["survived"]))accuracy = sum(predictions == titanic["survived"]) / len(predictions)print("準確率為:",accuracy)

可以看到此次建模的準確率約為78%,並不是十分理想。對於這種情況,我們可以從資料處理技巧、建模演算法、引數調節等方面繼續深入探索,以得到更優的模型。

機器學習線性回歸案例講解 機器學習例項 線性回歸

一 問題引入 1.首先明確幾個概念目前三大最常見的機器學習任務 1.回歸問題 2.分類問題 3.聚類問題 machine learning機器學習是artificial inteligence的核心,分為四類 1 supervised learning監督學習 是有特徵 feature 和標籤 la...

機器學習2 回歸案例

為了衡量func set中的某個function的好壞,我們需要乙個評估函式,即loss function,損失函式,簡稱l loss function是乙個function的function l f l w,b l f l w,b l f l w,b gradient descent的厲害之處在於...

多元線性回歸案例

fromnumpyimportgenfromtxt importnumpyasnpy fromsklearnimportdatasets,linear model filepath r g 六西格瑪 第一階段 深度學習基礎 與素材 與素材 2 machinelearning multilinearr...