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
2025年夏 コーディングエージェントを統べる者
nwiizo
0
140
フィンテック養成勉強会#56
finengine
0
140
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.4k
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
120
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
370
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
210
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
エラーとアクセシビリティ
schktjm
1
1.2k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
320
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
220
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Balancing Empowerment & Direction
lara
3
610
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Optimizing for Happiness
mojombo
379
70k
Building Adaptive Systems
keathley
43
2.7k
4 Signs Your Business is Dying
shpigford
184
22k
A designer walks into a library…
pauljervisheath
207
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
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վળϑΟϧλ ࣜτΠϨఆث
ͬͱ݅બͼΛ ָ͍͠ͷʹͯ͠ ͍͖·͠ΐ͏ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠