「DSことはじめ」

九州大学 大学院システム情報科学研究院
情報知能工学部門備瀬竜馬, Diego Thomas, 正井克俊

データサイエンスに必要なスキル
データ解析スキル検定、クラスタリング、回帰、主成分分析、・・・
データを集めて後、実際にこれらの分析を行うには？

プログラミングスキル
解析のための具体的なデータ加工処理をコンピュータに指示
2

データ解析
数値・カテゴリデータ
解析
数値データ
身長・体重血圧
カテゴリデータ
アンケート
男女
喫煙の有無

メディアデータ解析
画像
シグナル

細胞の大きさ、心拍間隔等
画像データからは直接抽出できない場合が多く、事前処理が必要

本講義：
まず、数値・カテゴリデータを対象とした解析手法について学び、画像を例にメディアデータを対象とした解析手法を学ぶ
3

Excel じゃダメ？
 「まずは Excel で見てみる」は大事データの集計，簡単な可視化

Excel で完結するのであればそれでヨシ もっと高度な分析がしたい！
統計分析，機械学習，

 エクセルじゃ開けない！
4

本日の講義内容
 データサイエンス技術のプログラム実践前の準備 プログラムの基本的な内容を勉強する
Google Colabの準備コンピュータに命令する：コンソール上のコマンドコンピュータにまとめて命令：プログラムコード
演習問題

5

プログラムの準備
Python6

プログラムとは コンピュータに対する命令の記述
 命令は何語？
C
Java

R
Python7

Python の利用
Google Colaboratoryを利用
以下の web site へ
https://colab.research.google.com/notebooks/welco
me.ipynb?hl=ja#scrollTo=-Rh3-Vt9Nev98

Google Colaboratory

自分のGoogleアカウントでログインファイルをセーブできるようになる

9

Jupyter notebookを使う
Jupyter notebook: Pythonの開発環境の一つファイルをクリック
Python3の新しいノートブックをクリック※）数字はPythonのバージョン

10

Cell

Cell
プログラムの入力フィールド
Cellの単位で実行される

11

Cellへの入力▷ボタンをクリックで実行プログラムを記述

12

Cellの実行

実行結果が表示される13

Cellの追加＋コードをクリック

新たなCellが追加される

14

ファイル名を変更

ファイル名を編集

名前変更
をクリック

15

ファイルを開く

さっきのファイルが選択できる

16

ファイルの保存先：Google Drive

自動的に同じアカウントのGoogle Drive の下にフォルダが作成されている

先ほどのファイルが保存されている

17

ファイルの保存先：Google Drive

Google Driveからファイルを開ける
ファイルの上で右クリックして、Open with -> Google Colaboratory をクリック

18Fileのアップロード
PCからファイルをドラッグ
例：introduction.ipynb

クリック

Introduction.ipynbが開くDriveへのFileアップロード

複数ファイルまとめてDrop

20

新しいフォルダの作成

Contentの下に新しいフォルダ’data’を作成フォルダができた
21

データのアップロード

Data フォルダを選択してアップロードをクリック

配布資料のDataフォル
ダのパスを指定して、全てのファイルを選択

これでプログラムからファイルを読めるようになった

22※）ただし、接続が切れると初期化されるので、毎日アップする必要がある

Google Driveとの連携

23

準備：Google Driveへフォルダごとアップ

フォルダごとドラッグすれば、フォルダの中身も全てアップロード可能

Google Driveとの接続

Drive をマウントをクリック

セルが現れるので、実行

Google Driveとの接続
コピー

リンクをクリックペースト

Google Driveのアカウントを選択

許可

driveが追加された

コンピュータに指示を出す

Python であそんでみよう大事な「おまじない」
 今後，jupyter を起動したらまずはじめに必ずやること！

 import numpy as npと打って enter キーを押す

28

コンピュータに指示を出す
文字の表示

お約束のHello World！
29

Hello World CellでPrint(“Hello World”) と入力
 ▷キーを押す（実行）30練習１：文字を変えてみよう！
 コンソールのところで 好きな言葉を“ ”に入れて表示させよう

print(“ ”) と入力
 return キーを押す（実行）31コンピュータに指示を出す
四則演算

たす，ひく，かける，わる
32

足し算
+例

33

引き算
 例

34

掛け算
 * （アスタリスク）を使う
例

35

割り算
 / （スラッシュ）を使う
例

36

括弧
 ()内を優先的に計算 (1-4)*537

四則演算
 足し算： + 1+2

 引き算： － 5-2

 掛け算： * （アスタリスク）
5*6

 割り算： / （スラッシュ）5/2

 括弧 ： ()内を優先的に計算
(1-4)*538

練習２：四則演算
 小学生の問題）
 A君が八百屋で100円のリンゴを5個と400円のイチゴを買いました。
 合計にいくらになるかプログラムで計算させてみよう！

 BMI をプログラムで計算してみよう

ヒント：BMI は 体重 ÷ (身長×身長)※体重は kg, 身長は m39

変数40

変数 (1)
 変数：お好きな数を保存する「箱」

5a =を使って保存（左側が「箱の名前」，右側がお好きな数）
 a=5
 b=“Monday”
実は文字列でも OK !

41

変数：演算 (２) 変数同士の演算
 a=5
 b=3a5ab3b?

42変数 ：代入(２) 変数同士の演算 a=5, b=3

a5b3

a = b とすると、a の中身を捨てて、b の中身をa に入れる

43

変数 (3)
 変数の中身を変える
 a=5
 b=3

a=20
b=10

直接数字を書いて演算すると、毎回書き換える必要がある

変数で演算すると、同じ式でO.K.

44

変数 (4)
 データ１

a=5, b=4, c=1, d=6, e=29, f=12(5+4)*(1+6)/29 + 12*5*4*(6-1)
プログラムの大きなメリット！
同じ命令文が違うデータにa=8, b=3, c=2, d=7, e=20, f=18
使える データ２(8+3)*(2+7)/20 + 18*8*3*(7-2)
毎回すべて書き換える？

式で記述すれば、中身を変えるだけでO.K.
 (a+b)*(c+d)/e + f*a*b*(d-c)
45変数 (5)：名前の付け方
 例：
name=“John”
age=30weight=56
height=1.68
BMI=weight/(height*height)
print( name )print( age )print( weight )print( height )print( BMI )箱の名前はわかるようにつけよう！

46

変数 (6)
 良くない例：
a=“John”
b=30
c=56
d=1.68aname えっと BMI の計算式は・・・e=c/(d*d)

アドバイス：変数名はなんでもいいけど，できる限り意味がわかりやすいように用意する

47

練習３：変数 変数を使って、 BMI をプログラムで計算してみよう

ヒント：BMI は 体重 ÷ (身長×身長)
weight = 自分の体重
height = 自分の身長※体重は kg, 身長は m48

コンピュータに指示を出す
関数49

「材料」と「道具」(1)
材料（変数）

道具（関数）
切る

print や+や－も道具の一種

皮をむく

煮る

50

関数(1)例） 平方根（）を計算する関数（道具） sqrt (平方根は、英語で’square root’でその略)

 道具を使うためのおまじない import mathライブラリ
道具はまとめて整理されている
調理する道具は台所、トンカチ等の工具は工具箱
mathにsqrtがある
仕舞っている処から出して、道具を使える状態にしている51

関数(2)
 他にもいろいろなライブラリ、関数がある import numpy
 numpy.round(3.8)
 小数点以下を四捨五入

 毎回ライブラリ名をフルネームで書くのは面倒：短縮しちゃえ！
 import numpy as np

52

練習４：関数の利用
 関数を使って計算しよう！
 81の平方根を計算しよう 256の平方根を計算しよう 9.4を四捨五入しよう 9.7を四捨五入しよう 自分で関数をWebで調べて使ってみよう！
 絶対値を求める関数を調べてみよう -5の絶対値を関数を使って計算しよう

ヒント）Python 絶対値
でGoogleで検索してみよう

53基本注意事項※知ってる人は遠慮なく飛ばしてください全角文字，日本語入力を避ける
 日本語入力するとエラーが出る

a ＋ ｂ
全角スペース55

全角文字，日本語入力を避ける（２） できる限り全角文字，日本語は使わない全角の空白（スペース）に注意！

（エラーになる＆見つけづらい）ファイル名も半角英数字にしよう
OK：shincho_taiju.xlsx, height_weight.csv
NG：身長体重データ.csv
半角カタカナ（ｱｲｳ）とかもやめよう

56

コメントアウト
 メモ書き 書いたけど一時的に実行したくない場合
 行頭に # で一行コメントアウト

 ’’’ または “““ で囲んだ部分をコメントアウト

57

演習資料

Playing with the Body-mass index
58演習1：BMI 変数を使ってBMIを計算するコードを書いてみよう

ヒント：BMI は 体重 ÷ (身長×身長)※体重は kg, 身長は m
 変数の値を変えて、それぞれ計算してみようA君：1.7m, 62kg

B君：1.6m, 75kg
C君：1.8m, 73kg
59

演習2：関数の呼び出し 求めたBMIを四捨五入してみよう ヒント：round 求めたBMIを切り捨ててみよう ヒント：「python 切り捨て」でGoogleで検索

 求めたBMIを切り上げてみよう 変数の値を変えて、それぞれ計算してみようA君：1.7m, 62kg
B君：1.6m, 75kg
C君：1.8m, 73kg
60

演習：進みが早い人用

61

演習3：print文の応用
 変数aに5を代入して、
 print文で「aの中身は5です。」と表示してみよう。
ヒント）「print format python」で検索

62

演習4：print文の応用
 演習3で作成したエディタファイルに以下のprint文を追加してまとめて実行してみよう。
「A君のBMIはxxxです。」と表示
「B君のBMIはxxxです。」と表示
「C君のBMIはxxxです。」と表示

※）xxxの部分はそれぞれ計算したBMIが入る

63