情報リテラシ第二フォルダの階層とその表現(2) •...
Transcript of 情報リテラシ第二フォルダの階層とその表現(2) •...
2020.07.09 情報リテラシ 第二 1
情報リテラシ 第二
2020年度2Q 5c/6c(IL2) 木曜日
担当: 地引
TA: 間庭/廖
本日の講義内容
• データの処理/加工
– gnuplot を用いて、拡張性の高いデータの処理/
可視化を行ないます。
– 本来は、教育用システムで全員が演習しますが、
今年度は、各自が可能な範囲で試してみて下さい。
2020.07.09 2情報リテラシ 第二
前回の復習
2020.07.09 情報リテラシ 第二 3
パス名
2020.07.09 情報リテラシ 第二 4
2020.07.09 情報リテラシ 第二 5
ファイルとフォルダのイメージ
ファイル: データ格納の1単位
フォルダ: 複数のファイルを格納する入れ物
フォルダは入れ子構造になっており、上/下のフォルダ間を行き来できる。
自分の直下に存在するフォルダへの入り口がファイルと同じように見えている
ファイルを管理する仕組みをファイル システムと呼びます。
フォルダの階層とその表現 (1)
• カレント フォルダを基点としてファイルを指定する方法
– GUI ならば、対象フォルダをクリックするだけで済むが‥
2020.07.09 情報リテラシ 第二 6
フォルダ A がカレント フォルダで、“A” から下位フォルダ C にあるファイル d を指定する場合> C/d
フォルダ A がカレント フォルダで、“A” から上位フォルダ B 経由の “C” にあるファイル d を指定する場合> . ./C/d
下向きは、フォルダ名を “/” で連結 上向きは、単に “. .” を “/” で連結
A
B C
カレント フォルダ
下位フォルダ
ファイル
d
B
A C
上位フォルダ
カレント フォルダ
ファイル
d
*カレント フォルダ名は省略する点に注意 (d が A と同じフォルダにある場合> d)
フォルダの階層とその表現 (2)
• 頂上フォルダを基点にする場合
2020.07.09 情報リテラシ 第二 7
/
A
頂上のフォルダ(「ルートフォルダ」 と呼ぶ) の名前は“/” と決められている。
B
カレントフォルダ
d
カレントフォルダが A だっとしても、ルートフォルダを基点にファイル d を指定する場合> /A/B/d同じく、ファイル e を指定する場合> /e
ルートフォルダを基点に指定する場合は、カレントフォルダに関係なく、ルートフォルダからフォルダ名を “/” で連結
e
ルートフォルダの名前とフォルダの区切り記号が同じなので、ややこしい‥
⇒ 変則性については次のスライド
フォルダの階層とその表現 (3)
• 基点となるフォルダにより、2 通りの表現がある。– カレントフォルダが基点 → “相対パス” と呼ぶ。
– ルートフォルダが基点 → “絶対パス” と呼ぶ。
– 先頭に “/” があるかどうかで両者を判別できる (但し、下記に注意)。
• 相対パスと絶対パスの比較 (理解を深めよう)
– 相対パスの方が、表現のルールとしては理解しやすい。
– “カレント フォルダ = ルート フォルダ” とした相対パスと絶対パスとの違い。
• ルート フォルダの名前は必ず “/” ⇒ 区切り記号と同じ‥
• ルート フォルダ名は省略しない (必ず “/” を付ける)。
• 本来ならば “//A/B/d” と表現したいが、
“/” は二つ並べない (一つ省略) ・・・・ この例外が少々変則的
– ルート フォルダ内にファイル e が存在する場合の表現 2 通り>
• カレントフォルダをルートフォルダとした場合の相対パス = “e”
• 絶対パス = “/e”
2020.07.09 情報リテラシ 第二 8
“e” と “/e” の違いを理解しよう
例外三つ
ターミナルとコマンド ラインの利用
2020.07.09 情報リテラシ 第二 9
ターミナルの使い方 (1)
• Mac では、“ターミナル” を起動してみましょう。
– [アプリケーション] → [ユーティリティ] にあります。
– Finder を起動すると、複数のファイルやフォルダを同時に
表示しますが、ターミナルは何も表示しません。
– ユーザが何かを入力すると、ターミナルはその結果を表示します。
• Windows では、“コマンド プロンプト” です。– エクスプローラと同様、左下の “スタート” 以下より、
“Windows システム ツール” 内にあります。
– もっと良いものもあるのですが、取り敢えず現在はこれを使い
ます。
2020.07.09 情報リテラシ 第二 10
ターミナルの使い方 (2)
• Finder やエクスプローラは、マウスにより現在注目しているフォルダを指定できます。
– ファイル システムの階層も同時に見えるので、迷子になること
はほとんどありません。
– しかし、ターミナルにはウィンドウが一つしかありません。。
• カレント フォルダ(カレント ディレクトリ)– ターミナルには、ユーザからのコマンド入力が、どのフォルダ
のファイルを対象にしているかを管理するカレント フォルダ
(カレント ディレクトリ)という内部データがあります。
– カレント フォルダを基準とした位置関係をイメージできるよう
にしよう(+ ファイルの場所を指定できるようにしよう)。
2020.07.09 情報リテラシ 第二 11
2020.07.09 情報リテラシ 第二 12
代表的な UNIX 系コマンドの種類
• pwd: カレントフォルダの確認
• ls: カレントフォルダ内のファイル名一覧を表示
• cd: カレントフォルダを移動
• less: ファイルの中身を表示
• mv: ファイルの移動
• cp: ファイルのコピー
• rm: ファイルの削除
• mkdir: フォルダ(ディレクトリ)の作成
• chmod: ファイルの許可情報を設定
• man: コマンドの使い方を表示
詳細は、教材にあるリンクなどを参照
2020.07.09 情報リテラシ 第二 13
コマンド入力のお助け機能
• ターミナルでは、コマンド入力を助けるため、以下の便利機能が用意されている。
– C-p:以前の入力を表示 (C-n: C-p の逆)
– C-a:入力の先頭へ移動 (C-e: 最後尾へ)
– C-b:1文字左へ移動 (C-f: 1文字右へ移動)
– C-k:最後尾まで削除 (C-y: 削除文字列を表示)
– Return キーで確定
• コマンドに渡す文字列 ⇒ “引数” と呼ぶ
これらは、ターミナル@Mac の場合コマンド プロンプトは、矢印キーで一部代用可
本日の内容
2020.07.09 情報リテラシ 第二 14
データの処理・加工(特に可視化)
2020.07.09 情報リテラシ 第二 15
(再掲) 本テーマについて
• 教育用計算機システムには、gnuplot が用意されていますが、今年度はまだ利用できません。
• 5c/6c のページで説明しているように、Mac では慣れていないと、 gnuplot のインストールは少し敷居の高い部分があります。
– よって、gnuplot のインストールは、自己裁量扱いとします。
• 講義では実演します。 gnuplot が手元にある人は、録画等を参考に試してみて下さい。
– 成績の対象にはしません。
2020.07.09 情報リテラシ 第二 16
2020.07.09 情報リテラシ 第二 17
gnuplot とは
• 指定されたデータをもとにグラフを描画
• データの指定
– 数式/数列 → どちらでも可
• Excel との違い
g: 3 次元グラフを容易に描画できる。
g: 作成したグラフを容易に整形できる。
g: プログラムとの連携が容易にできるため、
シミュレーション結果の表示などに使い易い。
E: 代表的な数値解析アルゴリズムが用意されている。
• 回帰分析/共分散/線形計画など
gnuplot の起動
2020.07.09 情報リテラシ 第二 18
gnuplot の起動後は、“gnuplot>” の部分にコマンドを入力します
まずはターミナルを起動し、“gnuplot” コマンドを入力して gnuplot を起動します。
gnuplot のカレント フォルダ
• Mac 上で起動したターミナルのカレント フォルダは、“/Users/ユーザ名” です(これは初期値です)。
• 同じく、Windows 上のコマンド プロンプトは、“C:¥Users¥ユーザ名” です(同上)。
• ターミナル上で gnuplot を起動した場合、gnuplot のカレント フォルダは、ターミナルと同じになります。
– gnuplot はターミナルと同様、pwd, cd コマンドで、カレントフォルダを移動できますが、少し癖があります。 cd 'フォルダ名', フォルダ内を一覧できない他
– gnuplot から、スクリプト ファイルやデータ ファイルの場所を正しく指定できるようになりましょう。
2020.07.09 情報リテラシ 第二 19
2020.07.09 情報リテラシ 第二 20
gnuplot の使い方 (1)
• 数式で指定されたグラフの描画
– コマンドの入力: gnuplot> plot 数式
– plot: 描画を指定するコマンド
– 数式: 通常の数式をほぼ利用できる。
sin(x), 2*x + 1 など
2020.07.09 情報リテラシ 第二 21
gnuplot の使い方 (2)
• ファイルに格納した数列をもとにした描画
– 以下のフォーマットに従うファイルを作成する。
x1 y1
x2 y2
x3 y3 一つの座標は1行に書く
• gnuplot> plot “データファイル”
– “ と ” を忘れない。
– 例) plot “作業フォルダ/gp_sample.data”
gnuplot を起動したターミナルのカレントフォルダが、gnuplot のカレントフォルダになります。
要注意
フォルダの階層とその表現を
理解できていますか?
2020.07.09 情報リテラシ 第二 22
自分が見ているフォルダ(カレントフォルダ)と
対象ファイルが存在するフォルダの位置関係は?
2020.07.09 情報リテラシ 第二 23
gnuplot の使い方 (3)
• 空行の挿入
– データの塊毎にグラフを描画し、各グラフを結合
x11 y11 z11
x12 y12 z12
x13 y13 z13
空行で区切られた塊は一つのグラフとして描画
x21 y21 z21
x22 y22 z22
x23 y23 z23
各塊の対応する点を接続した平面として描画
2020.07.09 情報リテラシ 第二 24
gnuplot の使い方 (4)
• ラインスタイル(線種)の変更– gnuplot> plot “データファイル” with line_style
• 代表的な line_style: lines, points, linespoints, dots,impulses, errorbars , boxes ほか
• 複数の数式/データファイルの表示
– gnuplot> plot 数式 with line_style, 数式 with line_style• 複数の数式指定をカンマ (, ) で区切る。
• gnuplot には、これら以外にも様々な機能がある。
– 教材に載せたリンクを参考にしよう。
2020.07.09 情報リテラシ 第二 25
gnuplot の使い方 (5)
3 次元の数式の入力
– z = f (x, y) の場合
• gnuplot> splot f (x, y)ex) gnuplot> splot x*y
– パラメータ表示の場合 (x = f (u, v), y = g (u, v), z = h (u, v))
• gnuplot> set parametric• gnuplot> splot f (u, v), g (u, v), h (u, v)
ex) gnuplot> set parametric gnuplot> splot cos(u)*cos(v), cos(u)*sin(v), sin(u)
– パラメータ表示を止める場合
• gnuplot> set noparametric
演習 (1)
gnuplot を用いて、次のグラフを描画しなさい。
– y = x・sin(x), y = 3 x 2, z = x・y
– パラメータ表示された
cos(u)*cos(v), cos(u)*sin(v), sin(u)を描画しなさい。
– 以下の手順により、ファイル内に格納されたデータをグラフ化しなさい。
• ターミナル起動時のカレントフォルダに作業フォルダを作成(名前は何でもよい/英数文字のみ)
• 上で作成した作業フォルダへ、教材の “gnuplot 用データファイル”からサンプルデータ (gp_sample.data) を保存 ⇒ Chrome が良い?
• 保存したサンプルデータ内のデータを描画
2020.07.09 情報リテラシ 第二 26
2020.07.09 情報リテラシ 第二 27
出力の保存
• 出力(グラフ)を再利用するために、ファイルへ保存する。
– gnuplot> set terminal 出力形式 オプション
– 出力形式: pdf → 標準的な電子文書用データ形式
• gnuplot> set terminal pdf
• 出力結果は、画面ではなくファイルへ格納される。– gnuplot> set output “ファイル名.pdf”
• ファイルの保存先に注意(gnuplot のカレントフォルダは?)– 例) set output “作業フォルダ/○○○.pdf”
• MacOS の gnuplot では、gnuplot の終了時にファイルへの
保存が実行されます。
フォルダの階層とその表現を
理解できていますか?
2020.07.09 情報リテラシ 第二 28
自分が見ているフォルダ(カレントフォルダ)と
対象ファイルが存在するフォルダの位置関係は?
2020.07.09 情報リテラシ 第二 29
gnuplot の利用例
gnuplot> set nokeygnuplot> set terminal pdf
gnuplot> set output “work/graph.pdf”
gnuplot> plot [-30:30][-20:20] x*sin(x)
凡例を付けない
x 座標は -30 ~ 30,y 座標は -20 ~ 20 までを表示
一連の gnuplot コマンドをファイルに保存しておくと、データの処理/可視化を行なう gnuplot プログラムとして扱える。
演習 (2)• “情報リテラシ第二” → “テーマ1データの処理と加工” →“実習に用いるデータセット” より、実習データをダウンロードし、
作業フォルダに展開する。– 事前に、作業フォルダを自身のホームフォルダ以下に作成しておく。
• “情報リテラシ第二” → “テーマ1データの処理と加工” →“実習A:図5と図6の折れ線グラフ”を作成しなさい。
– まずは、図5の折れ線グラフを作成します。
• ターミナルを開き、展開した実習データの plot フォルダに移動します。
• コマンドラインより、“gnuplot fig5-all-etime-size.plot” を実行すると、images フォルダ内に PDF 形式のグラフが作成されます。
– 次に、図6のグラフを作成します。
• fig5-all-etime-size.plot を参考に、エディタを用いて、図6のグラフを作成するための fig6-etime-size-M.plot を作成しましょう。
2020.07.09 情報リテラシ 第二 30
カレントフォルダを中心とした階層関係に気を配りましょう(迷子にならないように)。
未知の問題に取り組むとは?
(手掛かりがないとは、どういうこと?)
2020.07.09 情報リテラシ 第二 31
データの特徴を掴むには
• データ /cnm/ration-join.data は、そのまま表示しても
特徴をよく掴めない。特徴をうまく掴めるような工夫が欲しい。
– データの分布が、極端に偏っているように見える。
– 相互関係では、指数法則の影響を受ける場合が多い
(強い存在が益々/指数的に強くなる: スケール フリー)。
• x, y 軸を対数表示に変えてみる。
– gnuplot> set logscale 軸
2020.07.09 情報リテラシ 第二 32
グラフの出力形式について
• pdf 形式: 図形を数式で表現
– 一種のプログラムと言える。
– 曲線は滑らかに表示される。
– 拡大/縮小しても、画質は影響されない。
– 描画するデータが増えると、処理が遅くなる(pdf ファイルのサイズも大きくなる)
• ビット マップ形式: 図形を点の集まりとして表現
– 点(画素)の細かさには限界があるため、曲線の描画や拡大/縮小時に画質が落ちる(掠れたように見える)。
• 出力形式をビット マップ形式に変える。– gnuplot> set terminal png
2020.07.09 情報リテラシ 第二 33
演習 (3)• “情報リテラシ第二” → “テーマ1データの処理と加工” →“実習B:図3と図7の散布図”を作成しなさい。
– まずは、図3の散布図を作成します。
• 展開した実習データの plot フォルダに移動します。
• “gnuplot fig3-cnm-ratio-joins.plot” により作成されるグラフの y 軸が対数目盛となるように fig3-... を修正しましょう。
– 次に、図7のグラフを作成します。
• 修正した fig3-cnm-ratio-joins.plot を参考に、エディタを用いて、図7のグラフを作成するための fig7-hn-ratio-joins.plot を作成しましょう。
• エディタで fig3-... を開き、修正する前に fig7-... という名前で保存しておくと効率的です。
•.plot ファイル内に記述されている gnuplot のコマンドと、実際に描画されたグラフとの確認をしてみよう。
2020.07.09 情報リテラシ 第二 34
カレントフォルダを中心とした階層関係に気を配ろう。