利用mysql建立随机森林_随机森林算法实例 - osc_4imme0wh的个人空间 - OSCHINA - 中文开源技术交流社区...
根據成年人數據集來預測一個人的收入
1.準備數據集
我下載好了一個成年人數據集,從百度云下載
鏈接:https://pan.baidu.com/s/10gC8U0tyh1ERxLhtY8i0bQ
提取碼:4zzy
準備好了數據集,那就把這個數據集與你的jupyter notebook放在同一目錄.如果你是直接打開命令提示符啟動jupyter notebook那么路徑為:
或者你也可以在D盤創建一個目錄并在這個目錄啟動jupyter notebook,把數據集放入其中
2.在jupyter notebook中導入這個數據集
############################# 隨機森林實例 #######################################
#導入pandas庫
import pandas as pd
#導入數據集拆分工具
from sklearn.model_selection import train_test_split
from sklearn import tree,datasets
#用pandas打開csv文件
data = pd.read_csv('adult.csv',header=None,index_col=False,names=['年齡','單位性質','權重','學歷','受教育時長','婚姻狀況','職業','家庭情況','種族','性別','資產所得','資產損失','周工作時長','原籍','收入'])
#為了方便展示,我們選取其中一部分數據
data_lite = data[['年齡','單位性質','學歷','性別','周工作時長','職業','收入']]
#下面看一下數據的前五行是不是我們想要的結果
display(data_lite.head())
3.用get_dummies處理數據
#使用get_dummies將文本數據轉化為數值
data_dummies = pd.get_dummies(data_lite)
#對比樣本原始特征和虛擬變量特征
print('樣本原始特征:\n',list(data_lite.columns),'\n')
print('虛擬變量特征:\n',list(data_dummies.columns))
#顯示數據集中的前5行
data_dummies.head()
#定義數據集的特征值
features = data_dummies.loc[:,'年齡':'職業_ Transport-moving']
#將特征數值賦值為X
X = features.values
#將收入大于50K作為預測目標
y = data_dummies['收入_ >50K'].values
print('\n\n\n')
print('代碼運行結果')
print('====================================\n')
#打印數據形態
print('特征形態:{} 標簽形態:{}'.format(X.shape,y.shape))
print('\n====================================')
print('\n\n\n')
代碼運行結果
====================================
特征形態:(32561, 44) 標簽形態:(32561,)
====================================
4.用決策樹建模并作出預測
#將數據集拆分為訓練集和測試集
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=0)
#用最大深度為5的隨機森林擬合數據
go_dating_tree = tree.DecisionTreeClassifier(max_depth=5)
go_dating_tree.fit(X_train,y_train)
print('\n\n\n')
print('代碼運行結果')
print('====================================\n')
#打印數據形態
print('模型得分:{:.2f}'.format(go_dating_tree.score(X_test,y_test)))
print('\n====================================')
print('\n\n\n')
代碼運行結果
====================================
模型得分:0.80
====================================
#將Mr Z的數據輸入給模型
Mr_Z = [[37, 40,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0]]
#使用模型做出預測
dating_dec = go_dating_tree.predict(Mr_Z)
print('\n\n\n')
print('代碼運行結果')
print('====================================\n')
if dating_dec == 1:
print("這哥們月薪過5萬了")
else:
print("月薪不過五萬")
print('\n====================================')
print('\n\n\n')
代碼運行結果
====================================
月薪不過五萬
====================================
注:這個數據集只是用來演示決策樹的用法,其結論參考意義不大
總結:
在使用隨機森林算法中,明白了參數對其調節的影響.
在決策樹與隨機森林算法中對高位數據集進行分析,我們可以在諸多特征中選擇保留最重要的幾個,方便我們對數據集手動降維處理.
文章引自 : 《深入淺出python機器學習》
總結
以上是生活随笔為你收集整理的利用mysql建立随机森林_随机森林算法实例 - osc_4imme0wh的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 八开头的成语有哪些啊?
- 下一篇: layui一个表格中怎么接两个接口的值_