LogoMark.png

データサイエンス/2021/1112

第9回 Python によるデータ解析1

データサイエンス/20212021.11.12

AGENDA


以下、LIVE動画をご覧下さい。記事に沿って解説します。
記録動画は後日、学科サイトの特設ページ(要ログイン)に移動します。



https://youtu.be/jIx_h5B-b2g

CONTENTS




はじめに

各回の内容

前回 事後質問への回答

「パクる」と「真似る」の違い

21世紀、インターネットの文化圏には、誰もが自由に情報共有できることを前提としたオープンな仕組みが数多く存在します。誰かの情報があなたの学びに役立つと同時に、あなたが公開する情報が誰かの役に立っています。



データの取り扱い

データとは

データ(Data)とは、一般に情報伝達、解釈、処理を目的として符号化された情報(与件・所与)のことです。

データファイルの基本構造

TableElements.png

データファイルは一般に2次元の表形式で与えられます。以下の用語を理解しておくことが必要です。

表の先頭行にはフィールド名(項目見出し)が並ぶのが一般的です。
出典:https://commons.wikimedia.org/wiki/File:Table_Elements.svg

様々なデータファイル形式

オープンデータについて

オープンデータとは、著作権、特許などの制限なしで、全ての人が自由に利用・再掲載できるデータ(またその考え方)です。
OpenData



データ解析のキーワード

要約統計量(記述統計量)

標本の性質を要約するための統計量を「要約統計量」といいます。Python では、これを一行のコードで一覧出力することができます。

相関

2つの変数の間の関係を測る指標で、「身長が高い人は体重が大きい」、「数学の点数が高い人は物理の点数も高い」など、「ああであれば、こうである」ということの程度を示します。相関係数 r が正のとき確率変数には正の相関が、負のとき確率変数には負の相関があるといいます。

レポート等で相関の有無について語る場合、一般的な目安は以下です。

クロス集計

2つないし3つの情報に限定して、データの分析や集計を行なう方法。 縦軸と横軸に項目を割り振って、項目間の相互関係を視覚的に見やすくしたものです。アンケート調査の手法としては、ポピュラーなものの一つです。
参考:GoogleImage:クロス集計




Pythonによるデータ解析

Python言語を用いたデータ解析には、Pandas という定番のライブラリーがあります。今回の演習でも、これを使ってデータ解析を行います。

DataFrame

Pandas を使用するにあたって重要な概念が DataFrame と呼ばれる表構造です。 そこでは「表」を data、index、columns で把握しています。

一般にデータフレームは、CSV や Excel 等のデータを読み込んで生成しますが、直接書いて定義する場合は、以下のように書きます。

df = pd.DataFrame(
     data = [ [ '佐藤', 170, 60 ] , ['田中', 160, 50 ] , [ '鈴木', 165, 58 ] ] ,
     index = ['S01', 'S02', 'S03'],
     columns =[ 'name' , 'height', 'weight']
)
df
-------------------------------------
          name  height  weight
S01    佐藤     170         60
S02    田中     160         50
S03    鈴木     165         58

df は DataFrame の略として一般によく用いられる変数名で、これが表の全体を包括して把握している・・というイメージになります。

解析自体は1行のコードで実現

関連リンク

https://pandas.pydata.org/
https://github.com/pandas-dev
https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf
https://ja.wikipedia.org/wiki/Pandas




データ解析体験1|Web上の CSVデータの活用

CSVデータのサンプルとして著名な Tips(チップ) を使って、統計処理を体験します。 Tipsでは、レストラン利用者の支払総額、チップの額、性別、喫煙の有無などが一覧表になっています。

ノートブックの新規作成

サンプルデータ

サンプルコード

プログラムの解説

学科サイトにリンク掲載(その3)

ノートを、学科サイトの個人ページからリンクして下さい。以下、手順です。

自主演習のススメ

今回の演習では、Web上に公開されている既存のCSVデータを利用しましたが、GitHubのアカウントや、Webサーバーがあれば、そこへ、ご自身がアンケート等で取得したデータをアップロードして解析することが可能です。

ちなみに、次回の演習では、GoogleDrive に置いた Excel ファイルの活用を事例に演習を行います。


本日の入門解説はこれにて終了です。
本日作成した2つのノートについては、各自の関心に応じてコードやコメントを追記してください。



APPENDIX

表形式のデータから見えてくるもの

大量の表データからは、何らかの「グループ」や、フィールド項目間の「関係」を見出すことができます。それらは判別や予測に活用することが可能です。

コンピュータがなかった時代は、みんな年長者の勘(つまり過去の経験の蓄積)を頼りに、物事の計画や準備を行っていました。

と、こんな感じです。しかし現在では、過去の購買行動や犯罪事象などのデータが大量に蓄積(データベース化)されています。

例えば、購買行動については、日時、場所、購入商品、年齢、性別等、購入時点の複数のフィールド項目にデータが入る形で、購買行動1件(1レシート)がひとつのレコードとして記録されます。

さらに、その日の天候や気温、道路交通情報などの時系列データなども別のテーブルに記録されているので、複数のテーブルを時刻をキーとして照合すると、天候や気温のデータと売れる商品との関係を調べることも可能になります。

人間が経験的に参照・蓄積できるデータには限りがありますが、コンピュータを使えば、大量のデータを一括処理して、これまでは気づかなかったような「知見」を得ることが可能になります。まずは、データに潜む「グループの存在」や「項目間の関係」を人間の目に見えるかたちに「視覚化」すること。これがデータサイエンスの第一歩です(ここまでは、従来の「統計」の延長にあると言えます)。

で、さらにそれをもとに、自動的な判別(パターン認識)や予測を行うことができるようになります。これが A.I. ということになります。今日の A.I. やロボットの多くは、この大量のデータをもとに得られた「知見」にもとづいて、自動的に判断して行動しています。 データサイエンスと A.I. はその意味で、切っても切れない関係にあると言えます。





PAGES

GUIDE

TOOL

DATA

Last-modified: 2021-11-12 (金) 10:08:21