標籤:

簡單邏輯回歸預測泰坦尼克號生存率

簡單邏輯回歸預測泰坦尼克號生存率

機器學習步驟:

其中:

理解數據包含:

1、採集數據

2、數據導入

3、查看數據

數據清洗:

1、數據預處理,處理缺失數據,數據類型轉化

2、特徵工程

構建模型:

特徵放入機器學習演算法

讀取數據過程中遇到路徑問題,是轉義引起的,加上r禁止轉義即可

這個在正則表達式中經常使用

pandas讀取csv文件提示不存在是什麼原因呢??

www.zhihu.com圖標

測試:

先獲取訓練數據和測試數據的總數:

shape解釋:from《Python for Data Analysis》

shape是一個元組,記錄數據的維數

元祖支持下標[ ]訪問

返回的數據類型:

將測試數據和訓練數據合併方便數據處理:

其中ignore方法是忽略原來的index排列 參見官網例子如下

使用pandas的concat方法也是可以的

異常值:

1、年齡總個數遠小於最大行數是不對的

2、船票價格不會出現0

使用info查看數據幀的詳細信息

data.info方法見

pandas.DataFrame.info - pandas 0.23.0 documentation?

pandas.pydata.org

pandas.DataFrame.info - pandas 0.23.0 documentation

pandas.DataFrame.info - pandas 0.23.0 documentation?

pandas.pydata.org

info方法顯示總的行數,以及每一列的具體信息,包括非空值的數目,類型

其中non_null解釋如下:

參見:

http://pandas.pydata.org/pandas-docs/stable/options.html?

pandas.pydata.org

Options and Settings

Options and Settings?

pandas.pydata.org

只有當真箇數據的維度小於系統推薦的維度大小,info才會檢測nonnull值,如果大於的話就不會檢測non_null值,系統默認如下

填充缺失值:

填充年齡和船票價格,使用平均值填充

fillna方法

方法1:

方法2:

方法3:

字元串填充:

這裡用到value_counts方法

pandas.Series.value_counts - pandas 0.23.0 documentation?

pandas.pydata.org

該方法返回元素出現頻率的遞減順序序列,第一個元素是出現頻率最高的元素

這裡直接替換元素數據中的登錄港口值

統計船艙號出現的頻率發現空值的數量最多

這裡設置dropna = False 統計包含空值

填充U表示空值

建立特徵工程:

特徵提取:

和熟悉業務邏輯的人溝通

數據類型包含:

數值類型:

時間序列:

分類數據:

one-hot編碼:

詳細介紹:

one hot 編碼及數據歸一化 - CSDN博客?

blog.csdn.net

個人理解就是將一位數組拆分為二維矩陣,每一列表示類型,

其中每一行只有一個1,其餘都是0,表示只能有一種可能取值

猴子:Kaggle如何入門

Kaggle如何入門??

www.zhihu.com圖標

取性別

提取登船港口

這裡用到get_dummies方法,主要用來轉換分類的值

登船港口已經設置為one-hot編碼,這裡把one-hot編碼和原來的數據拼接起來,同時刪除原始登船港口這一列數據

同理對船艙等級進行one-hot編碼

和上面一樣,合併數據,刪除原始數據

對姓名進行one-hot編碼

先提取姓名

進行one-hot編碼

最後如上一樣,合併刪除

船艙等級也是一樣的提取

合併,去除原始序列數據

對家庭類別劃分

計算相關係數矩陣

獲取各個特徵和生存率相關係數

選取排名靠前的相關係數特徵

分離訓練數據和測試數據

導入邏輯回歸演算法

最後預測測試數據


推薦閱讀:

0019數據處理:數據計算之加減乘除和平均數
python入門第一課(2)——如何讓你擁有兩個版本的python?
第一次製作數據報告
如何做一場直播
手把手教您搭建Python數據分析環境

TAG:數據分析 |