- システム開発
- 2017/06/01
【 機械学習を体験!】人気オンライン講師が教える初学者でもわかるPythonプログラミング
2016年あたりから、データサイエンスやAIが脚光を浴びています。中には人間の仕事がAIに取って代わられるのではないかという脅威論まで出てきています。しかし、2017年現在の人工知能は万能ではありません。
今回はPythonの機械学習ライブラリ(Scikit Learn)を使って、ボストン郊外の住宅価格データを分析するチャレンジしてみたいと思います。
機械学習とPython
みなさんが普段仕事で使用するExcelは数万行くらいのデータまではスムーズに扱えます。しかしウェブサイトのアクセスログなどより大きなサイズのデータを扱うとPCがフリーズしてしまいます。そこで、多くの企業ではリレーショナルデータベース(RDBMS)やHadoop(より大きなサイズのデータを扱えるデータベースシステム)などが使われています。
こうしたデータベースからデータを取り出したり、売り上げデータを分析して、商品開発をしたりするのに、SQL(データベース問合せ言語)やPythonなどのプログラミングツールを使うと、データサイズが大きくなっても高速にデータを集計したり、スムーズに分析が行えます。さらにPythonを使用することでウェブシステムと連携したり、データを機械に分析(学習)させたりして、お勧め商品を提示するリコメンデーションなどが実現できます。
一度体験しておくと恐怖感も減らせますので、ぜひこの機会に動画も参照しながらトライしてみましょう。
Pythonの実行環境をインストールしよう
Pythonはプログラミング言語の1つで、無料で入手・使用が可能です。今回は、Pythonにデータサイエンス用のパッケージを同梱したAnacondaというパッケージを導入し、線形回帰問題を解いてみます。
このサイトからあなたの環境にあったインストーラーをダウンロードし、インストールを実行しましょう。Windowsの場合は32ビット版と64ビット版があるので注意しましょう。macOSでは64ビット版を使用します。インストールを終えたら、Anaconda Navigatorを起動してメニューが出ることを確認しておきましょう。
Housing データセットについて
Housingデータセットは統計解析の授業などでよく使用される題材で、1978年にD.HarissonとD.L. Rubinfeldによって収集され、UCI(カリフォルニア大学アーバイン校)Machine Learning Repositoryで公開され、ダウンロードできます。今回はプログラムの中からダウンロードして、プログラムに読み込んで使用します。
データセットを配布しているページ(housing.data)
データセットに含まれる値は以下のようになっています。1行に1件のデータが入っています。
- CRIM: 犯罪発生率
- ZN: 25,000平方フィート以上(広い)区画の割合
- INDUS: 非商店用土地の割合
- CHAS: チャールズ川沿いかどうか
- NOX: 空気汚染度(窒素酸化物の割合)
- RM: 1戸の平均部屋数
- AGE: 古い(1940以前)建物の割合
- DIS: オフィス街への距離
- RAD: 環状道路へのアクセスしやすさ
- TAX: 10,000あたりの所得税率
- PTRATIO:教師あたりの生徒数(少ない方がベター)
- B: (Bk – 0.63)^2 Bkはアフリカンアメリカンの割合
- LSTAT: 低額所得者の割合
- MEDV: 住宅価格の中央値(単位1000ドル)
今回はこの中でMEDV(住宅価格)を部屋数などの値から推測するプログラムを書いてみます。
データセット(ファイル)を開いたところ
Jupyter Notebookで回帰分析を実行してみよう(わかりやすい動画解説付!)
Anaconda Navigatorを起動したら、Jupyter Notebookを起動しましょう。そして、ビデオで紹介されているコードを入力し、1行ごとにShift + Enterを押して実行していきます。
データの読み込みと確認
線形回帰(最小二乗法)の実行
結果のグラフ表示
いかがだったでしょうか?予想外に少ないプログラムで2つの変数の関係を分析できました。部屋数のところを変更すると、さまざまな変数と住宅価格の関係性を分析できます。また、売り上げデータやアクセスログなどを対象にすれば、みなさんが担当しているプロダクトやサービスの売れ筋を分析したり、今後の予測や商品開発に役立てることができるようになります。
Pythonにはこうした統計解析に役立つライブラリが多数あり、基礎的な統計解析から、最先端のディープラーニングまで学ぶことができます。
あなたも動画の手順を参考にしながら、ビジネスにも活かせるデータサイエンスや人工知能の基礎を学んでみませんか?
エンジニアに役立つ目的別講座
Pythonの基本~応用をマスター
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

現役シリコンバレーエンジニアが教えるPython入門講座。Python3の基本を取得できます。
Webサイトのコーディングができるように
ウェブ開発入門完全攻略コース - プログラミング をはじめて学び創れる人へ!未経験から現場で使える開発スキルを習得!

HTML, CSS, Bootstrap, JavaScript, MySQL, Ruby, Ruby on Rails, AWS Cloud9, Git, GitHubを用いたWebアプリケーション開発の方法を総合的に学べます。
AWSを基礎から学ぶ
これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)

AWSの基本資格「AWS 認定ソリューションアーキテクト – アソシエイト試験」を合格を目指し、そのための知識や経験を獲得できるように!
ITプロジェクトの資料作成はお任せ!
手を動かして学ぶITプロジェクトの資料作成!システム開発のドキュメンテーション技術と成果物テンプレート

ITプロジェクトの資料作成を学べる人気講座。フェーズ毎に、どんな資料を作ればいいのか悩んでいる人におすすめ。
関連記事

AnacondaでPythonの環境構築!概要~インストール方法まで解説
機械学習やディープラーニングの技術が浸透するにつれて、これ…

【初心者向け】Jupyter Notebookの使い方!インストール方法から解説
「Jupyter Notebook」は、Webブラウザ上でソフトウェアを開発…

エクセルの互換モードとは?保存と解除の仕方を徹底解説
エクセルファイルを開くと、ファイル名の後ろに「互換モード」…

【入門者でもわかる】Kerasとは?基礎から丁寧に解説!
ここ数年でバズワードとなっているのが「人工知能(AI)」です…
最新情報・キャンペーン情報発信中