簡單邏輯回歸預測泰坦尼克號生存率
機器學習步驟:
其中:
理解數據包含:
1、採集數據
2、數據導入
3、查看數據
數據清洗:
1、數據預處理,處理缺失數據,數據類型轉化
2、特徵工程
構建模型:
特徵放入機器學習演算法
讀取數據過程中遇到路徑問題,是轉義引起的,加上r禁止轉義即可
這個在正則表達式中經常使用
pandas讀取csv文件提示不存在是什麼原因呢?測試:
先獲取訓練數據和測試數據的總數:
shape解釋:from《Python for Data Analysis》
shape是一個元組,記錄數據的維數
元祖支持下標[ ]訪問
返回的數據類型:
將測試數據和訓練數據合併方便數據處理:
其中ignore方法是忽略原來的index排列 參見官網例子如下
使用pandas的concat方法也是可以的
異常值:
1、年齡總個數遠小於最大行數是不對的
2、船票價格不會出現0
使用info查看數據幀的詳細信息
http://data.info方法見
pandas.DataFrame.info - pandas 0.23.0 documentationpandas.DataFrame.info - pandas 0.23.0 documentation
pandas.DataFrame.info - pandas 0.23.0 documentationinfo方法顯示總的行數,以及每一列的具體信息,包括非空值的數目,類型
其中non_null解釋如下:
參見:
http://pandas.pydata.org/pandas-docs/stable/options.htmlOptions and Settings
Options and Settings
只有當真箇數據的維度小於系統推薦的維度大小,info才會檢測nonnull值,如果大於的話就不會檢測non_null值,系統默認如下
填充缺失值:
填充年齡和船票價格,使用平均值填充
fillna方法
方法1:
方法2:
方法3:
字元串填充:
這裡用到value_counts方法
pandas.Series.value_counts - pandas 0.23.0 documentation該方法返回元素出現頻率的遞減順序序列,第一個元素是出現頻率最高的元素
這裡直接替換元素數據中的登錄港口值
統計船艙號出現的頻率發現空值的數量最多
這裡設置dropna = False 統計包含空值
填充U表示空值
建立特徵工程:
特徵提取:
和熟悉業務邏輯的人溝通
數據類型包含:
數值類型:
時間序列:
分類數據:
one-hot編碼:
詳細介紹:
one hot 編碼及數據歸一化 - CSDN博客個人理解就是將一位數組拆分為二維矩陣,每一列表示類型,
其中每一行只有一個1,其餘都是0,表示只能有一種可能取值
猴子:Kaggle如何入門
Kaggle如何入門?取性別
提取登船港口
這裡用到get_dummies方法,主要用來轉換分類的值
登船港口已經設置為one-hot編碼,這裡把one-hot編碼和原來的數據拼接起來,同時刪除原始登船港口這一列數據
同理對船艙等級進行one-hot編碼
和上面一樣,合併數據,刪除原始數據
對姓名進行one-hot編碼
先提取姓名
進行one-hot編碼
最後如上一樣,合併刪除
船艙等級也是一樣的提取
合併,去除原始序列數據
對家庭類別劃分
計算相關係數矩陣
獲取各個特徵和生存率相關係數
選取排名靠前的相關係數特徵
分離訓練數據和測試數據
導入邏輯回歸演算法
最後預測測試數據
推薦閱讀:
※0019數據處理:數據計算之加減乘除和平均數
※python入門第一課(2)——如何讓你擁有兩個版本的python?
※第一次製作數據報告
※如何做一場直播
※手把手教您搭建Python數據分析環境
TAG:數據分析 |