Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
JuliaTokyo #1
Julia 0.3でランダムフォレスト
@gepuro
自己紹介
@gepuro
生息地: 電通大
専攻: 信頼性工学
よく使う手法: 生存時間解析
言語: R、たまにPython
Juliaを触ってた時間は、
24時間もない。
DecisionTree.jl
● bensadeghiさんが開発
○ 他には、
■ MineSweeperSolver.jl
■ METADATA.jl
■ pyplot.jl
○ なども開発に関わっている。
● MITライセンス
● 決定木...
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
http://www.slideshare.net/hamadakoichi/introduction-torandomfores...
パッケージの追加
Pkg.add("DecisionTree")
パッケージの読み込み
using DecisionTree
using RDatasets
irisデータを利用出来るようにするために、
RDatasetsも読み込みました。
データの準備
iris = dataset("datasets", "iris")
features = array(iris[:, 1:4])
labels = array(iris[:, 5])
モデルの構築と予測
# モデルの構築, 引数(木の変数の数, 木の数)
model = build_forest(labels, features, 2, 10)
#予測
apply_forest(model, features)
クロスバリデーション
accuracy = nfoldCV_forest(labels, features, 2, 10, 3)
何分割するか
Mean Accuracy: 0.9466666666666667
3-element Array{...
ソースコードを覗いてみる(分類)
function build_forest(labels::Vector, features::Matrix, nsubfeatures::Integer,
ntrees::Integer, partialsa...
ソースコードを覗いてみる(回帰)
function build_forest{T<:FloatingPoint,U<:Real}(labels::Vector{T},features::Matrix{U},
nsubfeatures::Inte...
参考
● bensadeghi/DecisionTree.jl https://github.com/bensadeghi/DecisionTree.jl
● 「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」...
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
Juliaのパッケージをつくろう!
Next
Download to read offline and view in fullscreen.

4

Share

Download to read offline

Julia0.3でランダムフォレスト

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Julia0.3でランダムフォレスト

  1. 1. JuliaTokyo #1 Julia 0.3でランダムフォレスト @gepuro
  2. 2. 自己紹介 @gepuro 生息地: 電通大 専攻: 信頼性工学 よく使う手法: 生存時間解析 言語: R、たまにPython Juliaを触ってた時間は、 24時間もない。
  3. 3. DecisionTree.jl ● bensadeghiさんが開発 ○ 他には、 ■ MineSweeperSolver.jl ■ METADATA.jl ■ pyplot.jl ○ なども開発に関わっている。 ● MITライセンス ● 決定木はID3 algorithmで実装されている。 CARTで実装されたランダムフォレストは、 @bicycle1885さんが開発している。 https://github.com/bicycle1885/RandomForests.jl
  4. 4. 「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11 http://www.slideshare.net/hamadakoichi/introduction-torandomforest-tokyor
  5. 5. パッケージの追加 Pkg.add("DecisionTree")
  6. 6. パッケージの読み込み using DecisionTree using RDatasets irisデータを利用出来るようにするために、 RDatasetsも読み込みました。
  7. 7. データの準備 iris = dataset("datasets", "iris") features = array(iris[:, 1:4]) labels = array(iris[:, 5])
  8. 8. モデルの構築と予測 # モデルの構築, 引数(木の変数の数, 木の数) model = build_forest(labels, features, 2, 10) #予測 apply_forest(model, features)
  9. 9. クロスバリデーション accuracy = nfoldCV_forest(labels, features, 2, 10, 3) 何分割するか Mean Accuracy: 0.9466666666666667 3-element Array{Float64,1}: 0.92 0.94 0.98 出力結果
  10. 10. ソースコードを覗いてみる(分類) function build_forest(labels::Vector, features::Matrix, nsubfeatures::Integer, ntrees::Integer, partialsampling=0.7) partialsampling = partialsampling > 1.0 ? 1.0 : partialsampling Nlabels = length(labels) Nsamples = int(partialsampling * Nlabels) forest = @parallel (vcat) for i in [1:ntrees] inds = rand(1:Nlabels, Nsamples) build_tree(labels[inds], features[inds,:], nsubfeatures) end return Ensemble([forest]) end ● バージョン0.2の頃に合わせているのか、データの持ち方がVectorとMtrixになってる。 ● arrayとの違いはなんだろうか? ● 引数は、nsubfeatrues, ntrees, partialsamplingの3つ ● partialsamplingは、指定しなくても動作する ● 並列処理に対応しているっぽい
  11. 11. ソースコードを覗いてみる(回帰) function build_forest{T<:FloatingPoint,U<:Real}(labels::Vector{T},features::Matrix{U}, nsubfeatures::Integer, ntrees::Integer, maxlabels=0.5, partialsampling=0.7) partialsampling = partialsampling > 1.0 ? 1.0 : partialsampling Nlabels = length(labels) Nsamples = int(partialsampling * Nlabels) forest = @parallel (vcat) for i in [1:ntrees] inds = rand(1:Nlabels, Nsamples) build_tree(labels[inds], features[inds,:], maxlabels, nsubfeatures) end return Ensemble([forest]) end ● Javaでいうオーバーライドが出来るのかな? ● 関数を宣言した直後に型を指定? ● パラメータにmaxlabelsが追加されている。葉あたりの平均サンプル数を指定する
  12. 12. 参考 ● bensadeghi/DecisionTree.jl https://github.com/bensadeghi/DecisionTree.jl ● 「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11 http://www.slideshare.net/hamadakoichi/introduction- torandomforest-tokyor
  • masatosano37

    Apr. 12, 2016
  • hugokawamura

    Sep. 2, 2014
  • TeruyukiSakaue

    Jul. 6, 2014
  • KanSakamoto

    Jul. 5, 2014

Views

Total views

5,972

On Slideshare

0

From embeds

0

Number of embeds

3,908

Actions

Downloads

14

Shares

0

Comments

0

Likes

4

×