Pythonではじめる機械学習 [part.2]
今日も今日とて昨日の続きです. www.oreilly.co.jp
k-最近傍法
本日はk-最近傍法について.
k-最近傍法の識別器を使い,forgeデータを識別してみる.
kNeighborClassifierをsklearnで呼び出し,1最近傍法,3最近傍法,9最近傍法で
分類した場合の違いを確認する.
import mglearn import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier X, y = mglearn.datasets.make_forge() # データセットを分割 X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0) # 識別器の生成 clf = KNeighborsClassifier(n_neighbors=3) # 識別器の訓練 clf.fit(X_train, y_train) # KNeighborsClassifierの解析 fig, axes = plt.subplots(1, 3, figsize=(10, 3)) for n_neighbors, ax in zip([1, 3, 9], axes): clf = KNeighborsClassifier(n_neighbors=n_neighbors).fit(X, y) mglearn.plots.plot_2d_separator(clf, X, fill=True, eps=0.5, ax=ax, alpha=.4) mglearn.discrete_scatter(X[:, 0], X[:, 1], y, ax=ax) ax.set_title("{} neighbors(s)".format(n_neighbors)) ax.set_xlabel("feature 0") ax.set_ylabel("feature 1") axes[0].legend(loc=3) # 結果表示 print("Test set predictions:{}".format(clf.predict(X_test))) print("Test set accuracy:{:.2f}".format(clf.score(X_test, y_test))) # 判例 plt.legend(["Class 0", "Class 1"], loc=4) plt.xlabel("First feature") plt.ylabel("Second feature") print("X.shape: {}".format(X.shape)) # グラフ化 mglearn.plots.plot_knn_classification(n_neighbors=3) plt.plot() plt.savefig("image.png") plt.show()
結果は以下.
これにより,近傍数による違いがわかる. つまり,k-最近傍法では,
近傍数が小さいほど訓練データに近い決定境界[細かい]
近傍数が大きいほど訓練データを滑らかにした決定境界[荒い]
ということができるわけだ.
これらから,k-最近傍法は下記が言える.
メリット:了解性が高い
最も距離が近いクラスとして分類するため,理解が容易
デメリット:速度が遅い&疎なデータの性能が悪い
属性数が多くなると決定境界を判断するために,計算量が多くなる
ただ,デメリットが大きいため基本の分類手法だが,使っている人は少ないとのこと.
なるほど.
ちなみに,
mglearn.plots.plot_2d_separator(clf, X, fill=True, eps=0.5, ax=ax, alpha=.4)
この箇所の意味がイマイチわかってない・・・
では.
季節の変わり目にヤル気が出る&Pythonではじめる機械学習[part.1]
100日間を振り返って
前回のブログで本気出す,と言いつつ何の音沙汰もなかったが,どうだったかというと,,,
続いてませんでしたorz
本を買って読み始めて読み終わらずに満足することってアルヨネ〜
反省...
というわけで改めて勉強を復活しようと思う.
ただ続けても前回と同じく挫折するので,目標を決めて続けていこうと思う.
目標1:1〜2日に1度はブログ更新
目標2:決めた本を最後までやりきる
(1冊/月でやりたいが,厳しそうなので始めは1冊/2ヶ月を目標に)
1冊目はこの本.
300ページなので1日10ページ.(そう考えるとイケそう)
※今更だけどML,Python初心者には丁度いいハズ
今日の学習内容
とりあえず2章に入ったので,今日やったことのおさらい.
k-最近傍法(k-NN)
テストデータの最も近い点のクラスに分類.最も近い複数の値の多数決でクラスを分類することもある.
import mglearn import matplotlib.pyplot as plt X, y = mglearn.datasets.make_forge() # データセットをプロット mglearn.discrete_scatter(X[:, 0], X[:, 1], y) # 判例 plt.legend(["Class 0", "Class 1"], loc=4) plt.xlabel("First feature") plt.ylabel("Second feature") print("X.shape: {}".format(X.shape)) mglearn.plots.plot_knn_classification(n_neighbors=3) plt.plot() plt.savefig("image.png")
こう書くだけで,データセットの3近傍法が使える. 図はこんな感じで表示される.

今日はこんなところで.
では!
ちょっと本気で頑張ってみようと思う
ブログをサボって気が付けば,ちょうど2年.
サボってというかほとんど続かなかったが (笑)
この2年に色々あったが,ブログを再開しようと思う.
理由はいたって簡単だ.
「最近頑張ってこなかった自分が頑張ったらどれだけ成長できるか」
を示したい.
もしかすると,すぐに挫折して終わるかもしれない.
その場合はその程度の人間だったってことだ.
「ちょっと」本気とか言っている時点で予防線張りまくりなのはご容赦願いたい.
とりあえず頑張る項目は下記の4つ
なんか1つガッツリ趣味が混じっているのは気にしない^^
アウトプットはここに残していければと思う.
自分はそろそろ中堅どころの社会人だが,かのエライ人は言っていた.
新しいことを始めるには,,,

【Tech】DIGITAL DIVIERZで感じた新たな価値観と高尚なイミフ体験

今年も梅雨入りですね、梅雨入りすると何故か梅酒を造りたくなりますね。
ろきです。
すっかりブログを放ったらかしていました。。。
またここから定期的に書いていきますよ。
というわけで、今回は以前の記事で紹介した「DIGITAL DIVERZ」に行ってきたので紹介をします。
5月某日16時頃。知り合いと原宿で待ち合わせて、いざ向かうはGalaxy Gingakei!
名前からして近未来感が溢れてますね(きっと)。
会場に到着したら促されるままに名前を記入しようとすると、前に名前を書いていた人はみんなカタカナで書いてるんですよね。
早くもアート業界の洗礼を全身に受けつつも、その辺の人間を一緒にするんじゃねぇと思いながら名前を記入しました。
もちろん、カタカナで。
中は小奇麗なクラブハウスという感じ。
入って直ぐの机に「Take Free」と書かれた紙が張られていたので、チラシかな、と思ったら、ジュースとビール。
ん?

どうやらこういうオシャレなイベントでは、アルコールが提供されるそうです。
こちらが提供したものと言えばカタカナの本名なのに、イベントの参加+ビールを貰えるなんてこんな上手い話があるはずがない!
とか数ミリ秒考えましたが、速攻でビールを掴みその場で乾杯。しかも微妙にぬるい。
いい感じになったところで、
ここからは見た作品の中で印象に残ったものを紹介していきます。
次世代の漫画 I
--------------------------------------------------------------------------------------------------------
スマホで漫画を読むと自ずと上から下へスライドさせていくが、その常識を逆手に取って、「スマホ×漫画」の読み方を変えた作品。
どうやら今でも作品自体は見れるそうなので、乗せておきます。
- マンボウの書:(デバイスの特性を生かした漫画)
http://hackist.jp/UNDER/fm/01_manbou/
- ガラスの椅子:(WEBならではの時間操作や演出を組み合わせた立地WEB漫画)
http://hackist.jp/UNDER/fm/02_glass/
今回の作品で一番驚きを感じたのが、これ。
Pechat
--------------------------------------------------------------------------------------------------------
ぬいぐるみにアタッチメントとして取り付けることで、あたかもぬいぐるみが喋っているように見せるアイテム。
技術自体は難しくなく、
・スマホのアプリで文字を入力
・入力された情報を近距離無線通信(確かBluetooth)で伝達
・自然言語処理をかませてボタン型スピーカーから発声
みたいになっていると思われます。
ただ、このアイテム何が凄いかというと、入力した文章がきちっと文に聞こえる、ということです。
いや、当たり前なんですが、例えば
「きょうのばんごはんはカレーライスです」と入力すると、人なら、
「今日の 晩ご飯は カレーライス です」というように理解するが、コンピュータでこの所謂“文節”を区切り、文節に合わせて発声させる、というのは中々難しいんです。
それをこのアイテムはかなり流暢に発声していました。
これなら商品かできるんじゃね?とか思っていると、既になっていました(笑
いくらするか不明ですが、数千円程度ならプレゼントとかにいいかもしれませんね。
https://www.youtube.com/watch?v=z98-KGMeJ5I
別世鏡
--------------------------------------------------------------------------------------------------------
最後に紹介するのは、体験型作品です。
説明者のお姉さんいわく、「自分がキャラクターに成り代わって漫画からリアルへ、リアルから漫画へ次元の境が曖昧になっていく体験をしてほしい」とのコンセプトで創られたようです。
まずは漫画を渡され、読むように言われます。
「人生には1度だけ、別の世界へ通じる扉が姿を表す時がある。その扉に自らを映し出せばー」という内容で書かれていて、最後のコマは真っ黒になっており伏せられています。
その状態で体験室に導かれます。
体験室では、占い師の部屋のような道具が散りばめられており、目の前には鏡(実際はスクリーン)がおかれています。しばらくするとそのスクリーンに女の子が映りますが、この子は自分の動作を真似て動きます。
こちらが右手を振れば女の子も右手を振り、首を傾げれば女の子も首をかしげます。
そして…
具体的にどんな体験なのかは、動画がありました。
[Live2D_2016] Live2Dインスタレーション作品「別世鏡(べつせかがみ)」
ただ、この作品、正直、自分には高尚すぎてイミフでした。。。笑
漫画のストーリーと実際の体験をリンクさせることで、2次元と3次元の境を曖昧にし、自分が漫画で描かれなかった1コマを体験する、というものと思いますが、
体験室での導入部分が短く、没入感がないため、なかなか主人公(女の子)に成り代われませんでした(笑
あとは、雪かきをすればカロリー計算ができるアプリやスマホに書いた絵をFAXのように転送するアプリ+デバイスのサービスがあり、面白そうなものからこれはかなりいらないな、というものもありました。
そんな感じですが、やはりプロトタイプとして実際に作って動かしてみるってのは大切ですね。実際に作って使ってもらわないと良いところも悪いところもわかりませんしね。
またこういうイベントがあったら行ってレポしてみたいですね。
それでは、おしまい。
IWF2016 備忘録②〜TALK SESSION編その2〜
DIGITAL DIVERZ 5/21〜5/28

エロにより技術が発展し、技術によりサブカルチャーが進化し、そして
やがてはサブカルチャーがエロに吸収される。
そんな好循環な世界をみたい。
こんばんは、ろきです。
今日は先日書いたIWF2016の続き、、、ではなく面白そうなイベントの紹介です。
主催はHACKistというアートとテクノロジーを融合させ、人の5感を刺激するコンテンツを提供しているクリエイティブ集団。
[ 開催概要 ]
DIGITAL DIVERZ
[ 場所]
Galaxy 銀河系
[ 料金]
なんと無料!
そう、なんとこのイベント参加するだけなら無料なんです。
※オープニング&クロージングライブ除く
このイベントのオススメは?と聞かれても、正直わかりません。
ただ、HPで、「プロトタイピングをひたすら繰り返す」とか謳ってるんで、
体感できるようなイベントになっていそうな気がします。
今週は無理っぽいので、来週の土曜か日曜に行こうと思っているので、
これを見た方で興味があれば言ってみてはいかがでしょうか。
end
IWF2016 備忘録①〜TALK SESSION編その1〜
