Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
不動産webサービスを強くする機械学習の使い方
Search
hiddy
July 29, 2016
Technology
3
1.1k
不動産webサービスを強くする機械学習の使い方
2016/07/28(木) 19:30〜
【不動産テック勉強会#1】人工知能時代に備えて不動産関連データについて色々語らう勉強会
※画像や物件名などについてはマスクしております。ご了承下さい。
hiddy
July 29, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
550
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
310
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
20250307_エンジニアじゃないけどAzureはじめてみた
ponponmikankan
2
130
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
100
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
350
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
780
クラウド食堂とは?
hiyanger
0
130
サバイバルモード下でのエンジニアリングマネジメント
konifar
21
7.1k
IAMのマニアックな話2025
nrinetcom
PRO
6
1.4k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
1.6k
アジリティを高めるテストマネジメント #QiitaQualityForward
makky_tyuyan
1
290
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fireside Chat
paigeccino
35
3.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Visualization
eitanlees
146
15k
Embracing the Ebb and Flow
colly
84
4.6k
Music & Morning Musume
bryan
46
6.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վળϑΟϧλ ࣜτΠϨఆث
ͬͱ݅બͼΛ ָ͍͠ͷʹͯ͠ ͍͖·͠ΐ͏ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠