Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
不動産webサービスを強くする機械学習の使い方
hiddy
July 29, 2016
Technology
2
1k
不動産webサービスを強くする機械学習の使い方
2016/07/28(木) 19:30〜
【不動産テック勉強会#1】人工知能時代に備えて不動産関連データについて色々語らう勉強会
※画像や物件名などについてはマスクしております。ご了承下さい。
hiddy
July 29, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
サイボウズの アジャイル・クオリティ / Agile Quality at Cybozu
cybozuinsideout
PRO
2
1.6k
Data in Google I/O - IO Extended GDG Seoul
kennethanceyer
0
140
ソフトウェアライセンス 2022 / Software License 2022
cybozuinsideout
PRO
1
740
インタラクティブなメディアの地図投影法: WebメルカトルからAdaptive Projectionsへ / MIERUNE 社内勉強会 #033
sorami
2
210
アーキテクチャを明文化して開発に臨んだ話
akihiyo76
0
230
ログ基盤をCloudWatchLogからNewRelic Logs + S3に変えたら 利便性も上がってコストも下がった話
onohiroshi1
0
150
UWBを使ってみた
norioikedo
0
340
視座とアジャイル / shiza_and_agile
kyoshimoto
0
180
音のような言葉 〜ちゃちゃっとチャットで楽しむちょっとしたコツ〜 / words like sounds
satoryu
1
1.3k
JFrog 最新情報 - JFrog DevOps プラットフォームの今までとこれから / jfrog-update-for-devopskaigi-2022
tsuyo
0
140
MoT TechTalk #12 タクシーアプリ『GO』大規模トラフィックを捌く分析データ基盤の全容に迫る!
mot_techtalk
0
260
Camp Digital 2022: tailored advice
kyliehavelock
0
130
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
YesSQL, Process and Tooling at Scale
rocio
157
12k
How to name files
jennybc
40
60k
The Language of Interfaces
destraynor
148
20k
The Cult of Friendly URLs
andyhume
68
4.8k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
The Mythical Team-Month
searls
209
39k
KATA
mclloyd
7
8.7k
Clear Off the Table
cherdarchuk
79
280k
Embracing the Ebb and Flow
colly
73
3.4k
Transcript
ෆಈ࢈XFCαʔϏεΛڧ͘͢Δ ػցֶशͷ͍ํ ෆಈ࢈ςοΫษڧձ 5XJUUFS!IJEEZZ
͓ଋ ͜ͷ-5εϐʔΧʔݸਓͷ ݟղͰ͋Γɺॴଐ͢ΔاۀஂମΛද͢Δ ͷͰ͋Γ·ͤΜɻ Disclaimer This LT expresses the viewpoints
of ME and is not reviewed for correctness or accuracy by my company.
୭ʁ
*%!IJEEZZ ৬ۀɿ1.ʢϓϩμΫτͷ΄͏ʣ ͓ࣄɿΨνίʔσΟϯάҎ֎ ಛٕɿXFCαʔϏεͮ͘Γ ɹͦΕඞཁʁͱݴ͍์ͭ ݴޠɿ3MFWFMͪΐͬ͜ͱSVCZSBJMT ઐ߈ɿܭྔܦࡁֶʢ541ʣ
͜Ε·Ͱ࡞ͬͨܞΘͬͨαʔϏε ohmy!Ո
ି݅ใαΠτΛ͍ͬͯ·͢
σʔλੳɺϏδϡΞϥΠθʔγϣϯʹΑΓɺ Ϣʔβʔ͕݅બͼΛ͘͢͢͠Δ
ࠓ-3ିͰͷ ػցֶशͷ ͍ํΛ ͝հ͍ͨ͠
ڪΔ͖͕݅ଘࡏ͢Δ
None
None
None
None
͜ͷΜΘ͔Γ͍͢
͜ͷΜΘ͔Γ͍͢ ೖྗϛε
None
͜ΕϗϯϞϊ
None
͜ΕχηϞϊ
ՈؒऔΓɺ͞ͳͲͱ ͍Ζ͍Ζؔ࿈͍ͯ͠Δ
ՈؒऔΓɺ͞ͳͲͱ ͍Ζ͍Ζؔ࿈͍ͯ͠Δ ͘͡ͷ͕ΊΜͲ͍͘͞
ՈؒऔΓɺ͞ͳͲͱ ͍Ζ͍Ζؔ࿈͍ͯ͠Δ ͘͡ͷ͕ΊΜͲ͍͘͞ Ϟσϧͱ͔ߟ͑ͨ͘ͳ͍
0OFDMBTT47. TWN͞Μ͕దʹ֎Εఆͯ͘͠ΕΔ ڭࢣσʔλΛ༻ҙ͠ͳͯ͘ΠΠ Βͪ͘Μ
One-class svm library(kernlab) # make data to one-class svm model
DF <- data.frame(DF, class=1) outlier.svm <- ksvm(x=class ~bukken_shubetsu +struct +struct_all +madori +history_TOTAL +log_price_with_kanrihi, data=DF, type="one-svc",C=1000,scaled=TRUE,nu=0.01, kernel="rbfdot") #judge outlier DF$outlier <- predict(outlier.svm, DF, type = "response") ݅छผ ݐஙλΠϓ ઐ༗໘ੵ ؒऔΓ ங ཧඅࠐΈՈʢରԽʣ
None
None
Կߟ͑ͣ ߦ͘Β͍Ͱ ֎Ε͚ͨ͡ʂ 0 ʾ˜ʽ 0ƂŖŘ̇
ʢతʣ ೖྗϛεσʔλͷݮ ʢख๏ʣ "OPNBMZ%FUFDUJPO ʢํ๏ʣ 0OFDMBTT47.
͞ΒͳΔ
None
࢛ɺ෩࿊ແɺτΠϨڞಉɺτΩϫͷΑ͏ͳ݅
χʔζ ͋Δ͔͠Εͳ͍
χʔζ ͋Δ͔͠Εͳ͍ ʢ͕ͩʣ
͋·Γʹଟ͘ ϦετϖʔδʹͰΔͱ ݟ͕ͨѱ͍ɻɻ
ΑΖ͍͠ɺ ͳΒɺ ఆثΛͭ͘Ζ͏
ಛघ݅ΛਓྗͰ݅ఔऩू ਓྗͰݟʂ ʢϋʔτΛڧͭ͘͜ͱʣ ˞݅ࣗମѱ͋͘Γ·ͤΜ
ಛघ݅ΛਓྗͰ݅ఔऩू ಛघ݅Ͱͳ͍ͷΛ݅நग़ ͜͜Կߟ͑ͳͯ͘ΠΠ
Boro detection svm library(kernlab) boro.svm <- ksvm( boro~bukken_shubetsu +struct +struct_all
+madori_num +madori_type_num +history_TOTAL +log_price_with_kanrihi, data=DF, C=1.584893, scaled=TRUE,nu=0.01, kernel="rbfdot",kpar=list(sigma=10),cross=13) ಛघ݅ΛਓྗͰ݅ఔऩू ಛघ݅Ͱͳ͍ͷΛ݅நग़ 47.ʹͯɺʮಛघ݅ఆثʯΛੜ ݅छผ ݐஙλΠϓ ઐ༗໘ੵ ؒऔΓ ؒऔΓλΠϓ ཧඅࠐΈՈʢରԽʣ ங http://d.hatena.ne.jp/sleepy_yoshi/20120624/p1 Λνϡʔχϯάͷࢀߟʹ͠·ͨ͠
None
ಛघͳ͕݅ Ϧετ্Ґʹग़ͳͬͨ͘ʂ 0 ʾ˜ʽ 0ƂŖŘ̇
ʢతʣ Ϧετϖʔδͷ69վળ ʢख๏ʣ ̎ྨث ʢํ๏ʣ 47.
ࣈ͍͋͛ͨͰ͢ ઌੜɻ
$73͕͋Βͳ͍͔ͳʔ ʢ͕͋Βͳ͍ʣ
ͦ͏͔ɺ $7ʢ߹ͤʣ͞ΕΔ ͨ ݅ʹͳʹ͔ಛ͕͋Δ ͷͰʁ
8FCϚʔέతΞϓϩʔνͩͱɺ ϢʔβʔηάϝϯτΛ͖Γɺ ରԠ͢Δ݅Λஸೡʹਫ਼ߴ͘ Ϩίϝϯυ͢Δͱ͜Ζ͕ͩɺɺɺ
ࡶʹ σʔλυϦϒϯͰ $73վળ͍ͤͨ͞
σʔλαΠΤϯςΟετϨϕϧද IUUQEIBUFOBOFKQTIBLF[P
Ϩϕϧ ϨϕϧͷਓୡूܭੳʹՃ͑ͯɺ࠷ݶͷػցֶश ౷ܭֶͷख๏Λ͍ͬͯ·͢ɻ47.ϥϯμϜϑΥϨ ετͳͲͷϝδϟʔͳख๏Λ֮͑ɺσʔλੳ͕໘ന͘ ͳͬͯ͘ΔࠒͰ͢ɻ͔͠͠ͳ͕Β34144ͳͲͷઐ༻ ιϑτΛৗʹσϑΥϧτઃఆͷύϥϝʔλͰੳ͍ͯ͠ ͨΓɺಛྔબલॲཧͷॏཁੑΛ͘ݟΔ͕͋ Γ·͢ɻ ͍ۙ͏ͪʹݱ࣮ͷσʔλJSJTͷΑ͏ʹ͘ͳ͍͜ͱΛ Δ͜ͱʹͳΔͰ͠ΐ͏ɻ
͋Γ͕ͪͳൃݴ ʮϥϯμϜϑΥϨετ࠷ڧʯ
͋Γ͕ͪͳൃݴ ʮϥϯμϜϑΥϨετ࠷ڧʯ
͋Γ͕ͪͳൃݴ ʮϥϯμϜϑΥϨετ࠷ڧʯ
ϥϯμϜϑΥϨετͰ $7͞Ε͍݅͢Λ༧ଌ
ϥϯμϜϑΥϨετͰ $7͞Ε͍݅͢Λ༧ଌ http://nakhirot.hatenablog.com/entry/20130704/1372874761 ΑΓൈਮ
ϥϯμϜϑΥϨετͰ $7͞Ε͍݅͢Λ༧ଌ CVͨ͠ ݅σʔλ CV͠ͳ͔ͬͨ ݅σʔλ 3BEPN 'PSFTU ʢύλʔϯೝࣝʣ ࠓͷ
݅σʔλ $7ͦ͠͏ͳ ݅σʔλʂ Πϝʔδ ֶश ֶश ༧ଌ
3ͷSBOHFSQBDLBHFͳΒ QSPCBCJMJUZ͕ग़ྗՄೳ install.packages('Rcpp') install.packages('ranger') # make CV model CV.ranger <-
ranger(formula = CV ~ walk_time1+struct+struct_all +level3+direction+madori_num+madori_type_num+price_with_kanrihi +history_TOTAL+station1+bukken_shubetsu+gyosha_no, data = DFtrain, num.trees=300, write.forest =TRUE, probability =TRUE, always.split.variables= "station1") # prediction of CV model cv.predict <- predict(CVmodel,DF) # draw probabilities cv.predict$predictions[,2]
$71SPCBCJMJUZͷߴ͍ ॱʹϦετදࣔ
$71SPCBCJMJUZͷߴ͍ ॱʹϦετදࣔ ্
ʢతʣ $73վળ ʢख๏ʣ ̎ྨʢ$7֬Λܭࢉʣ ʢํ๏ʣ 3BOEPN'PSFTU RͩͱrangerͳͲ৽͍࣮͕͠Φεεϝʂʂ
ƅƁƅ Űŕ
ʮਓೳ࣌ʹඋ͑ͯ ෆಈ࢈ؔ࿈σʔλʹ͍ͭ ͯ৭ʑޠΒ͏ษڧձʯ
ਓೳͷఆٛ
ਓೳͷఆٛ %FFQ-FBSOJOHͰ ͳΜ͔Ͱ͖ͳ͍͔ͳʔ
%FFQ-FBSOJOH ͱ͍͑ը૾ղੳ
͜Ε·Ͱͷ݅αΠτʹ ͳ͍ըظతػೳʂ
ࣜτΠϨఆث
ࣜτΠϨఆث ࣜτΠϨ͚ͩઈରʹݏͩʂ ͱݴ͏ਓ͖ͬͱ͍Δʹ͕͍ͪͳ͍
H2O Deeplearning library(h2o) # Deep learningͰֶशͤ͞Δ localH2O <- h2o.init(ip =
"localhost", port = 54321, startH2O = TRUE, nthreads=-1) res.dl <- h2o.deeplearning(x = 2:10001, y = 1, training_frame = as.h2o(target), activation = "TanhWithDropout", hidden=rep(160,5), epochs = 20) pred.dl <- h2o.predict(object=res.dl, newdata = as.h2o(target)) pred <- as.data.frame(pred.dl) # ਖ਼ղΛ֬ೝ print(1-sum(abs(round(pred[,1]) - target[,1]))/length(target[,1])) ࣜτΠϨը૾ΛਓྗͰ݅ఔऩू ը૾αΠζΛἧ͑ͯɺάϨʔεέʔϧʹม %FFQMFBSOJOHͰࣜτΠϨఆثΛ࡞
H2O Deeplearning ਖ਼ղɿ ࣜτΠϨը૾ΛਓྗͰ݅ఔऩू ը૾αΠζΛἧ͑ͯɺάϨʔεέʔϧʹม %FFQMFBSOJOHͰࣜτΠϨఆثΛ࡞
ʢࠓͷ͓ʣ ೖྗϛεσʔλআ ಛघ݅ఆ $73վળϑΟϧλ ࣜτΠϨఆث
ͬͱ݅બͼΛ ָ͍͠ͷʹͯ͠ ͍͖·͠ΐ͏ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠