1. 程式人生 > >RandomForestClassifier隨機森林補充缺失值(以TItanic資料集為例)

RandomForestClassifier隨機森林補充缺失值(以TItanic資料集為例)

上一篇是分類填補缺失值,用了迴圈函式。這此呢,我們利用隨機森林補充缺失資料。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from  sklearn.ensemble import RandomForestClassifier
df=pd.read_csv('E:\\Users\\Administrator\\Desktop\\pythonNotebook\\train.csv',index_col=0)
data=df[['Survived', 'Pclass', 'Sex', 'Age', 'SibSp', 'Parch','Fare', 'Cabin', 'Embarked']]
#更改分類變數對應的值
data.loc[data['Sex']=='male','Sex']=0
data.loc[data['Sex']=='female','Sex']=1
#同理,更改Embarked對應的值
data.loc[data['Embarked']=='S','Embarked']=0
data.loc[data['Embarked']=='C','Embarked']=1
data.loc[data['Embarked']=='Q','Embarked']=2
te=data[data['Embarked'].notnull()]#非空的embarked對應的行
te_X=te[['Survived','Pclass','Sex','SibSp','Parch','Fare']]#設定輸入的X
te_Y=te[['Embarked']]#設定輸入的Y
te_X=te_X.astype(float)#轉換資料型別,不轉換成數值型的,到後面輸入模型會報錯。
te_Y=te_Y.astype(float)#轉換資料型別,不轉換成數值型的,到後面輸入模型會報錯。
tr=data[data['Embarked'].isnull()]
tr_X=tr[['Survived','Pclass','Sex','SibSp','Parch','Fare']].astype(float)
tr_Y=tr['Embarked'].astype(float)
fc=RandomForestClassifier()
fc.fit(te_X,te_Y)
pr=fc.predict(tr_X)
data[data['Embarked'].isnull(),'Embarked']=pr#將預測的缺失值補充到原來的缺失的位置
這裡只是簡單的舉例,利用隨機森林(可以是RandomForestClassifier,RandomForestRegressor,這裡用的是前者)去補充缺失值。同理也可以對age資料補充,這裡就要用到RandomForestRegressor了,相應的前面應該是from sklearn.ensemble import RandomForestRegressor。如果有提示報錯的話,還是要看看資料型別的有沒有弄錯。

相關推薦

RandomForestClassifier隨機森林補充缺失(TItanic資料)

上一篇是分類填補缺失值,用了迴圈函式。這此呢,我們利用隨機森林補充缺失資料。import pandas as pd import matplotlib.pyplot as plt import numpy as np from sklearn.ensemble import

ML之預測:某個資料從0到1深入理解科學預測之分類問題的思路框架

ML之預測:以某個資料集為例從0到1深入理解科學預測之分類問題的思路框架 總體思路設計框架         1、獲取資料集,並確定新資料集的規模 資料集規模為(208*61) 2、確定資料集每個屬性的型別 &

No.3 ssd-caffe(2):訓練ssd-caffe模型:(VOC資料)

2.訓練ssd-caffe模型:(以VOC資料集為例) 使用caffe進行目標檢測,我們的需要標註了標籤的圖片作為訓練樣本,訓練模型。推薦使用開源的標註工具labelimg,來對我們的圖片進行標註。標註之後,會產生.xml檔案,用於標識圖片中物體的具體資訊。

基於資料探勘的高校個性化學生管理方案研究——A高校資料(未發表,使用或引用前請提前告知)

基於資料探勘的高校個性化學生管理方案研究——以A高校資料集為例 馬  鑫 摘 要:高校資訊系統中儲存著大量產生頻率非常迅速且型別繁雜的資料,傳統的高校學生管理模式已很難適用於我國現階段高校學生管理。依據資料探勘演算法理論,採用k-prototypes聚類演算法代替傳統的人工貼標

FCN網路的訓練——SIFT-Flow 資料

參考文章: http://blog.csdn.net/u013059662/article/details/52770198  caffe的安裝配置,以及fcn的使用在我前邊的文章當中都已經提及到了,這邊不會再細講。在下邊的內容當中,我們來看看如何使用別人提供的資料集來訓練自己的模型!在這篇文章之後,我計劃還

1.6 python資料結構之雙向連結串列/迴圈連結串列——OrderedDict資料結構

在連結串列這一部分的最後,我們以python中十分強大的collections包中的OrderedDict為例,看一下雙向迴圈列表的功能實現。 OrderedDict 它提供了有序的dict結構,因此他不是常規的雜湊雜湊表,為了保證儲存物件有序,它用連結串列實現了這一功能,

YOLOv3 實練(VOC2007、2012資料

訓練裝置:Lenovo 拯救者; GPU:1070ti; 視訊記憶體:8GB; 第一次訓練:採用預設引數,以預訓練好的darknet53.conv.74.1為預載入權重開始訓練;視訊記憶體,卒;報錯:out of memory; 第二次訓練:更改引數

FCN語義分割訓練資料siftflow和voc2012資料

截至目前,現已經跑通了siftflow-fcn32s,voc-fcn32s,並製作好了自己的資料集,現在就等大批資料的到來,進而針對資料進行引數fine-tuning,現對我訓練的訓練流程和訓練過程中遇到的問題,做出總結和記錄,從而對以後的學習作鋪墊。 通過這篇分析語義分割

隨機森林解決kaggle競賽中Titanic問題

作為一個初學小白,十分清楚實踐才能深入理解內容,所以看過大神們關於隨機森林解決kaggle房價預測問題(House_Prices)的解答以後,照著完成了一個Titanic生還預測 Competition Description 問題描述如下: The sinking

均勻分佈構造離散型隨機變數(泊松分佈)python

我們知道,把服從(0,1)均勻分佈的隨機變數代入任一連續性分佈函式的反函式,即可得到服從該分佈的隨機變數。那麼,若分佈是離散型的呢? 其實與構造連續性隨機變數的思想是一樣的。因為分佈函式在[0,1]內

和右的區別(a++和++a

左值(lvalue)和右值(rvalue)最先來源於編譯。在C語言中表示位於賦值運算子兩側的兩個值,左邊的就叫左值,右邊的就叫右值。 定義: 左值指的是如果一個表示式可以引用到某一個物件,並且這個物件是一塊記憶體空間且可以被檢查和儲存,那麼這個表示式就可以作為一個左值。 右值指的是引用了一個儲存在某個記憶

機器學習(一):用sklearn進行資料預處理:缺失處理、資料標準化、歸一化

在我們平時進行資料資料探勘建模時,一般首先得對資料進行預處理,其中就包括資料缺失值、異常值處理、資料的標準化、歸一化等等。 下面主要介紹如何對一個數據檔案進行資料的缺失值處理、標準化和歸一化 MID_SP MID_AC MID_R25 MID_COND LITHO1 55.

國付寶,如何完成給某一個平臺提供線上充功能

線上充值  每一個支付平臺都有一個支付平臺需要傳遞的引數,請參考支付寶文件 1. 首先我定義了一個類,來確定該平臺是和哪個支付平臺做合作,可以通過傳遞引數的不同,很容易解決public interface Constant { //與資料庫配置保持一致 public

關於Android手機MTP模式連接的一些設置(win7和ubuntu下,紅米1s

sta start .net eno bcm htm web date ati 有些手機的MTP模式在電腦上識別不了,須要一些設置才幹夠,以下就網上收集來的一些設置方法集中貼過來: 一、 win7下 參考:http://blog.ammrli.com/?p=11

linux 磁盤分區,主分區,擴展分區,邏輯分區sata接口

sat pos linux內核 tracking 限制 設置 art lin pop ?? 以sata接口(依據linux內核檢測其順序 sda,sdb...)為例, 1, 硬盤的限制,最多僅僅能設置4個分區(主分區+擴展分區),路徑例如以下, /dev/sda1

又見關系並查 POJ 1182 食物鏈

for _id scanf rac sin merge als ++ mod 簡單的關系並查集一般非常easy依據給出的關系搞出一個有向的環,那麽兩者之間的關系就變成了兩者之間的距離。 對於此題: 若u。v不在一個集合內,則顯然此條語句會合法(暫且忽略後兩條。下

基於HttpClient實現網絡爬蟲~百度新聞

rom pcl 音頻 lba 瀏覽器中 sts 更新 @override erro 轉載請註明出處:http://blog.csdn.net/xiaojimanman/article/details/40891791 基於HttpClient4.5實現網絡爬蟲

關於端口被占用的問題(61440端口

internet 其他 直接 按鍵 str es2017 查看 window 原因   先來說一下寫這篇blog的原因吧,本人今天下午回到宿舍打開電腦準備上網下載開發Python的環境,結果發現下載速度和以前相比是大大的不如。然後看了一下室友的網絡一切ok,然後我突然只能登

當你輸入一個網址/點擊一個鏈接,發生了什麽?(www.baidu.com

var aid 查找 style str 在服務器 開始 傳輸 http響應 >>>點擊網址後,應用層的DNS協議會將網址解析為IP地址; DNS查找過程: 瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果緩存中有,這個解析過程就將結束。 如果

linux 忘記root(這裏centos 6.5)密碼的解決辦法

理發 我們 bsp ext sso 用戶模式 正常 修改 啟動 在使用linux的過程中有時候會忘記root用戶的密碼(尤其是進行交接而文檔內容不全的時候),這個時候我們就可以進入單用戶模式來重置root用戶密碼。下面來講解重置root密碼的方式,也可以說是破解root密碼