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.2k
不動産webサービスを強くする機械学習の使い方
2016/07/28(木) 19:30〜
【不動産テック勉強会#1】人工知能時代に備えて不動産関連データについて色々語らう勉強会
※画像や物件名などについてはマスクしております。ご了承下さい。
hiddy
July 29, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
540
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
390
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
La gouvernance territoriale des données grâce à la plateforme Terreze
bluehats
0
160
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
460
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
320
Android Audio: Beyond Winning On It
atsushieno
0
110
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
910
AI開発ツールCreateがAnythingになったよ
tendasato
0
120
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
140
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Cult of Friendly URLs
andyhume
79
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
A Modern Web Designer's Workflow
chriscoyier
696
190k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Scaling GitHub
holman
463
140k
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վળϑΟϧλ ࣜτΠϨఆث
ͬͱ݅બͼΛ ָ͍͠ͷʹͯ͠ ͍͖·͠ΐ͏ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠