文系大学生によるプログラミング勉強記録です
主にPython(機械学習,データ分析),Web系中心、それと日常も2割程度で呟きます

「AIによる国政政党党首になれる確率の判定アプリ」の作成

今回は「AIによる国政政党党首になれる確率の判定アプリ」を作成してみたのでその紹介をしてみます。

f:id:Ryosuke0224:20181226182614p:plain

(精度がまだ60%程度なのでデプロイはしていません..)

 

判定基準はDeeplearningによる顔判別で、それ以外の難しい変数等はありません。

遊び方は簡単です。

試しに僕の写真で試してみましょう。

f:id:Ryosuke0224:20181226183827g:plain

アップした写真と似ている国政政党党首とその近侍率から割り出した「国政政党党首になれる確率」をAI が教えてくれます。

f:id:Ryosuke0224:20181226184304p:plain

 

作成にあたり使用したものは以下の通りです。

Python

google-images-download

Flicker

・Deeplearning

・Flask

・HTML

CSS

JavaScript

Photoshop

 

それでは大まかな流れを紹介します。

 ①google-images-download及びFlicker-APIから画像を入手する。

お勧めはgoogle-images-downloadですね。日本のデータの数が多くコードも簡単です。 

②不適切な画像を手作業で処理する。

自動で入手した画像を確認すると、異なる人物や背景が大きく写り込んだ画像が混ざっています。これらを一枚一枚丁寧に消去しなければその後の精度に関わる為非常に重要かつめんどくさい作業です...

③画像の母数を増やす。

Deeplearningの場合、判別するにあたり判断基準となる画像データの数は多くなければいけません。その為、画像を5度づつ回転・左右反転の処理をします。

③Deeplearningのモデルを構築する

今回は単純なアルゴリズムで作成しましたが、画像数がかなりの数だったので相当時間がかかりました。(その間に相棒https://kanitamago5503.hatenablog.comと男2人の悲しきX'masパーティーをしながら待っていました...)

③flaskでのWebアプリ化を行う。

PythonのWebフレームワークといえば「Django」と「Flask」が有名でどちらを使用すれば良いか迷いどころですが、 簡単なWebアプリではFlaskを断然お勧めします。ログイン機能を実装したり他の技術を使おうとする場合Djangoの方が理解しやすい場合もありますが、今回のようなケースでは基本的な構文とレンダリングの方法を理解すればすぐに実装することができるようになります。

④HTML CSSJavaScriptでのデザインの装飾

 

以上が簡単な流れになります。

①〜④の詳細はググれば詳細に説明している記事が多く掲載されているので困ることはないと思います。

今後、精度を上げる余裕があれば改良しデプロイするかもしれませんが、その際はURLを追記します。

 

次回はスクレイピング機械学習を用いた Webアプリに挑戦します!!

 

 

数弱私文大学生によるプログラミング関連blog

初めまして。

休学中の数弱私文大学生のQooです。

 

最初に軽く自己紹介をします。

僕は現在大学を休学中で、主にPythonやWeb系の勉強をしています。

Pythonはデータ分析・機械学習が中心で、周辺知識をつついてる感じですね。

大学入学当初は政治家志望だったので政治学社会学を中心に勉強したり、2年次には雄弁部(弁論や研究活動を行う学術系の部活)に所属していた為弁論の全国大会に出場したりしていました。さらには某参議院議員議員秘書を経験したりと政治漬けの大学生活を謳歌していました。

www.youtube.com

 

...ここまでプログラミングのプの字にも触れていません(笑)

 

そんな僕がプログラミングに目覚めたきっかけは、3年次に所属していたゼミにて「タイ国チェンマイ地方における狂犬病を撲滅させるためのメディアアプリ開発」を研究テーマに選んだことがきっかけです。

日本では狂犬病と聞いても時代錯誤に思えるかもしれませんが、未だに狂犬病が完全に浄化されている国は日本を含め数カ国しか存在しません。現行政策として主たるのは①野犬の処分②犬・人ともにワクチン接種の励行ですが、人々のリテラシーや資金面等の要因からそれらの政策が有効に機能していない為、21世紀の現代でもなお狂犬病が世界中に猛威を振るっている状況です。

 

そこで考えたのが「字が読めない子供達でも理解しやすいスマホアプリで狂犬病の知識を有効に付与できないか」ということでした。

事前現地調査の結果、途上国の学校に通えていない子供達でもスマホは持ってるんですよね...

 

アプリ自体はC#・Unityで作成したのですが、これがまたosとiosの違いすらわからなかった私文には難しい..けど、楽しい。プログラミング楽しい。

また、PythonやらRといったプログラミングによるデータ分析の存在を知り、そこからPythonの魅力に取り憑かれ今に至ります。

 

↑これに関してはおいおいアプリと研究紹介の記事にしようと思ってるのでこの辺で。

 

そして、現在は狂犬病研究時代の共著者である相棒と共に休学し同じような勉強をしています。

kanitamago5503.hatenablog.com

お互いブログを始めたばかりですが、今後は作成したpythonのアプリ,Web系,kernelの解説や機械学習関係の記事を書いていこうと思います。

 

同じようなPython好きの大学生とかいたらコメントもらえるとモチベ上がるので喜びます!!