1. 程式人生 > >隨機森林簡單例子

隨機森林簡單例子

# -*- coding: utf-8 -*-

import os

import pandas as pd

import numpy as np

os.chdir('E:/MYPROJECT/PythonProject')

## 訓練集

traindata=pd.read_csv("traindata.csv")

traindata_colname=list(traindata.columns) #修改列名,注意該技巧

traindata_colname[0]='hotelid'

traindata.columns=traindata_colname

## 測試集

#列名一個名稱為亂碼

testdata=pd.read_csv("0720.csv",sep=',') #檢查資料,看分割符是否正確

testdata_colname=list(testdata.columns) #修改列名,注意該技巧

testdata_colname[0]='hotelid'

testdata.columns=testdata_colname

## 第一天預測

colnames=['notcancelcii', 'week_constant', 'working_day_constant', 'cii_ahead_sameoneweek_constant',

'cii_ahead_sametwoweeks_avg_constant', 'cii_ahead_samethreeweeks_avg_constant', 'cii_ahead_samefourweeks_avg_constant',

'simple_estimate_constant','cii_ahead_1day_1', 'cii_ahead_3days_avg_1', 'cii_ahead_7days_avg_1',

'order_ahead_lt_1days_1', 'order_ahead_lt_2days_1', 'order_ahead_lt_3days_1', 'order_ahead_lt_7days_1',

'order_ahead_lt_14days_1', 'order_alldays_1']

train_set=traindata.loc[:,colnames[1:]] #訓練集選取

train_target=traindata.loc[:,colnames[0:1]] #訓練集選取

testset=testdata.loc[:,colnames[1:]] #測試集選取

## 模型訓練:rf

#trainset.describe() #檢視資料的描述統計

#trainset.dtypes #檢視各行的資料格式

from sklearn.ensemble import RandomForestRegressor

rf=RandomForestRegressor()#這裡使用了預設的引數設定

#rf.fit(np.array(train_set),np.array(train_target).ravel())#進行模型的訓練,形式ok

rf.fit(train_set, np.array(train_target).ravel())#進行模型的訓練,形式ok

pred=rf.predict(testset)

acvalue=testdata.loc[:,colnames[0:1]]

#acvalue.to_csv('myfirst.csv')

#np.array(pred)-np.array(acvalue).ravel() #這樣資料就可以作差了

#acvalue.to_csv("myfirst.csv") #這樣就可以儲存了

## 如何儲存結果至csv

## 如何構建資料框

#酒店ID 佔比/重要性 真實值 預測值(非線性)

acvalue.columns=["真實值"]

result=acvalue

result['預測值(非線性)']=pd.DataFrame(pred) #轉換為矩陣框

result['佔比/重要新']=testdata['rate']

result['絕對誤差']=abs(result['預測值(非線性)']-result['真實值'])

result['相對誤差']=abs(result['預測值(非線性)']-result['真實值'])/result['真實值']

result=result.sort('佔比/重要新',ascending=0)

MAE100=np.average(result['絕對誤差'][0:100])

MAE500=np.average(result['絕對誤差'][0:500])

MAE1w=np.average(result['絕對誤差'][0:10000])

MRE100=np.average(result['相對誤差'][0:100])

MRE500=np.average(result['相對誤差'][0:500])

print 'output'

print '[email protected]', MAE100

print '[email protected]', MAE500

print '[email protected]', MAE1w

print '[email protected]', MRE100

print '[email protected]', MRE500

result.to_csv('result0720.csv')

#case

#x=pd.DataFrame({'a':[1,5,4,2],'b':[100,101,102,103]})

#x.sort('a',ascending=0)

相關推薦

隨機森林簡單例子

# -*- coding: utf-8 -*- import os import pandas as pd import numpy as np os.chdir('E:/MYPROJECT/PythonProject') ## 訓練集 traindata=pd.rea

隨機森林--簡單示例

隨機森林屬於模式識別中有監督的分類中的一種方法。它的原理是以決策樹為基本分類器的一個整合學習模型,它包含多個由Bagging整合學習技術訓練得到的決策樹,當輸入待分類的樣本時,最終的分類結果由決策樹的輸出結果的眾數決定。 一、基本原理列出如下: 從原始資料m*n維

決策樹ID3、C4.5、CART、隨機森林的原理與例子

(寫在前面:作者是一名剛入學的模式識別專業的碩士生,第一次寫部落格,有錯誤的地方還請大家多多指教評論,一起交流呀~) 決策樹的基本流程 ①劃分特徵的選擇(常見的選擇方法有:資訊增益、增益率、基尼指數,下文會詳細介紹) ②劃分停止準則:停止準則表示該節點不再劃分

隨機森林演算法的簡單總結及python實現

  隨機森林是資料探勘中非常常用的分類預測演算法,以分類或迴歸的決策樹為基分類器。演算法的一些基本要點:   *對大小為m的資料集進行樣本量同樣為m的有放回抽樣;         *對K個特徵進行隨機抽樣,形成特徵的子集,樣本量的確定方法可以有平方根、自然對數等;     

[deeplearning-001] stotisticks gradient descent隨機梯度下降演算法的最簡單例子解釋

1.gradient descent梯度下降優化 1.1假設要優化一個函式f(x)=(x−1)2求它的最小值。這個函式在x=1 時有最小值,這是解析解。如果用梯度下降法,是這樣的: f′(x)=2(x−1) 每一步的迭代公式是: xi+1=xi−ηf′(

從幾個簡單例子隨機優化技術

1. 關於隨機優化(stochastic optimization) 隨機優化技術常被用來處理協作類問題,它特別擅長處理:受多種變數的影響,存在許多可能解的問題,以及結果因這些變數的組合而產生很大變化的問題。例如: 在物理學中,研究分子的運動 在生物學中,預測蛋白質的結構 在電腦科學中,預測演算法

決策樹與隨機森林

隨機 tro 過程 能夠 ots pull 葉子節點 合並 pan 決策樹   決策樹學習采用的是自頂向下的遞歸方法, 其基本思想是以信息熵為度量構造一棵熵值下降最快的樹,到葉子節點處的熵值為零,   此時每個葉節點中的實例都屬於同一類。 決策樹三種生成算法 ID3 -

【機器學習】隨機森林 Random Forest 得到模型後,評估參數重要性

img eas 一個 increase 裏的 sum 示例 增加 機器 在得出random forest 模型後,評估參數重要性 importance() 示例如下 特征重要性評價標準 %IncMSE 是 increase in MSE。就是對每一個變量 比如 X1

(原創)Maven+Spring+CXF+Tomcat7 簡單例子實現webservice

produces per back targe xsd lean listener ans 控制 這個例子需要建三個Maven項目,其中一個為父項目,另外兩個為子項目 首先,建立父項目testParent,選擇quickstart: 輸入項目名稱和模塊名稱,然後創建:

AutoConf自動生成Makefile(基於helloworld簡單例子

programs tom change col -a 二進制 自己 int 生成 新建一個簡單的helloworld工程文件夾,目錄結構如下 hello.h代碼: #include<stdio.h> void fprint() { printf("h

決策樹模型組合之隨機森林與GBDT(轉)

get 9.png 生成 代碼 margin ast decision 損失函數 固定 版權聲明: 本文由LeftNotEasy發布於http://leftnoteasy.cnblogs.com, 本文可以被全部的轉載或者部分使用,但請註明出處,如果有問題,請

ASP.NET 創建WebService——簡單例子

本地 解析 com 調用 net XML ges png hone Web service是一個基於可編程的web的應用程序,用於開發分布式的互操作的應用程序,也是一種web服務 WebService的特性有以下幾點: 1.使用XML(標準通用標記語言)來作為數據交互的

ASP.NET JS調用WebService——簡單例子

例子 頁面 bsp ima 技術 .com images ebs png 一、創建好WebService 二、編輯頁面與js 三、 運行頁面並點擊按鈕,結果如下 簡單調用吧! ASP.NET JS調用WebService——簡單例子

用socket.io實現websocket的一個簡單例子

soc .html www sock 在線 ket log html 簡單例子 http://biyeah.iteye.com/blog/1295196 socket.io的介紹 http://www.cnblogs.com/mazg/p/5467960.html

.net使用abot爬蟲簡單例子

ldoc edt pan cat style 指定 gles ted 應該 abot是.net爬蟲框架中的一種,Abot是一個開源的.net爬蟲,速度快,易於使用和擴展。項目的地址是https://code.google.com/p/abot/。 爬取的html解析,我們使

C語言多線程的一個簡單例子

color oid blog stdlib.h null bsp 等待 creat 多線程   多線程的一個簡單例子:    #include <stdio.h> #include <stdlib.h> #include <string.h&

隨機森林算法demo python spark

and led != stc gin 隨機 相對 overfit resin 關鍵參數 最重要的,常常需要調試以提高算法效果的有兩個參數:numTrees,maxDepth。 numTrees(決策樹的個數):增加決策樹的個數會降低預測結果的方差,這樣在測試時會有更高

spark 隨機森林算法案例實戰

方法 ring table shel evel 算法 下使用 org trap 隨機森林算法 由多個決策樹構成的森林,算法分類結果由這些決策樹投票得到,決策樹在生成的過程當中分別在行方向和列方向上添加隨機過程,行方向上構建決策樹時采用放回抽樣(bootstraping)得到

C# Socket簡單例子(服務器與客戶端通信)

項目 回車 pop ace log () client protocol comm 這個例子只是簡單實現了如何使用 Socket 類實現面向連接的通信。 註意:此例子的目的只是為了說明用套接字寫程序的大概思路,而不是實際項目中的使用程序。在這個例子中,實際上還有很多問題

webservice簡單例子

web space new gets asp ret rms png tool 1、添加web服務。 /// <summary> /// demo 的摘要說明 /// </summary> [WebService(Name