データサイエンス/2021/1112
をテンプレートにして作成
LECTURE
担当科目一覧
ソーシャルデザイン概論/2022
ソーシャルデザイン演習/2022
情報デザイン論/2022
情報デザイン演習IIA/2022
3DCG演習/2022
情報デザイン研究I/2022
卒業研究I,II
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
*第9回 Python によるデータ解析1
[[データサイエンス/2021]]|''2021.11.12''
~
***AGENDA
-以下名簿が表示されます。出欠確認・座席記録をお願いします。
&fontawesome(far fa-hand-point-right); [[出欠確認・座席...
-講義はこのページの内容を解説するかたちで遠隔 LIVE 配信し...
-質問等は YouTubeLive のチャットまたは LINEの 20ASグルー...
-学科サイトの各自のページを更新して下さい。
&fontawesome(far fa-hand-point-right); [[学科サイト|受...
~
#hr
'''''以下、LIVE動画をご覧下さい。記事に沿って解説します。...
記録動画は後日、[[学科サイトの特設ページ(要ログイン)>ht...
#hr
~
#youtube(jIx_h5B-b2g)
https://youtu.be/jIx_h5B-b2g
//埋め込み無効状態です。授業開始直前にページをリロードし...
~
-配信開始:2021.11.12 09:00 -
-動画は授業直前に有効になります(準備段階では黒い画面)。...
~
***CONTENTS
#contents2_1
~
~
**はじめに
***各回の内容
-第8回 データサイエンスとPython
-第9回 ''Python によるデータ解析1(GitHub CSV)''
-第10回 Python によるデータ解析2(GoogleDrive Excel)
-第11回 Python によるデータビジュアライゼーション1
-第12回 Python によるデータビジュアライゼーション2
-第13回 Python によるデータビジュアライゼーション3
-第14回 機械学習・序説
~
***前回 事後質問への回答
「パクる」と「真似る」の違い
-パクる:単にオリジナルを移動・複製して所有すること(盗む...
「パクる」だけでは何の学びにもなりません。
-真似る:しくみを理解した上で、自分の力で同様のものを作り...
「真似る」は「学ぶ」の語源とも言われる行為。子供は大人の...
21世紀、インターネットの文化圏には、誰もが自由に情報共有...
~
~
**データの取り扱い
***データとは
データ(Data)とは、一般に情報伝達、解釈、処理を目的とし...
-日本工業規格:X0001 情報処理用語-基本用語
情報の表現であって、伝達、解釈または処理に適するように形...
再度情報として解釈できるもの
~
***データファイルの基本構造
#image(Data/TableElements.png,right,25%)
データファイルは一般に2次元の表形式で与えられます。以下...
-''テーブル / Table''(表):通常1つのファイル
-''レコード / Row''(行):1件分のデータセット
-''フィールド / Column''(列):特定項目に関するデータセ...
#clear
''表の先頭行にはフィールド名(項目見出し)が並ぶ''のが一...
&scale(75){出典:https://commons.wikimedia.org/wiki/File:...
~
***様々なデータファイル形式
-CSV(.csv)
CSV(Comma-Separated Values)は、表形式のデータ等でフィー...
-EXCEL(.xlsx)
みなさんお馴染み、スプレッドシートの代表的なデータ形式で...
-JSON(.json)
JavaScript Object Notation >[[JSON]]
~
***オープンデータについて
オープンデータとは、著作権、特許などの制限なしで、全ての...
>[[OpenData]]
~
~
**データ解析のキーワード
***要約統計量(記述統計量)
標本の性質を要約するための統計量を「要約統計量」といいま...
-代表値(measure of central tendency):データの分布の特...
--平均(mean):データの総和をデータ数で割った値。最も一...
//#mathjax( \bar{x} = \frac{1}{n}\sum_{i=1}^n x_i)
--中央値(median):データを大きさの順に並べたときに中央...
--最頻値(mode):度数分布において最も高い度数を示す値。
-散布度 (dispersion):データの散らばりぐあいを表す値
--分散(population variance):偏差平方和をデータ数で割っ...
//#mathjax( s^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \bar{x})...
--標準偏差(standard deviation):分散のルートをとった値。
--四分位点:データを昇順に並べたときに、25%, 75% の位置に...
-参考:[[Distribution]]
~
***相関
//統計処理では、個々の項目の代表値や散布度の把握と並んで...
//
//-共分散
//共分散とは「国語の点数 X」と「数学の点数 Y」のような2...
//#mathjax( s_{xy} = \frac{1}{n} \sum_{i=1}^{n}(x_{i}-\ba...
//--共分散の値が正:X が大きいときに Y も大きくなる傾向が...
//--共分散の値が 0: X と Y には関係がない
//--共分散の値が負:X が大きくなると Y が小さくなる傾向が...
//
//-相関係数
2つの変数の間の関係を測る指標で、「身長が高い人は体重が大...
//#mathjax( r = \frac{(xとyの共分散) }{ (xの標準偏差) \ti...
//--&mathjax(r); は -1.0 から +1.0 までのいずれかの値をとる
//--&mathjax(| r |); が 1.0 に近いほど相関が強く、0に近い...
レポート等で相関の有無について語る場合、一般的な目安は以...
-| r | = 0.7~1.0 かなり強い相関がある
-| r | = 0.4~0.7 やや相関あり
-| r | = 0.2~0.4 弱い相関あり
-| r | = 0~0.2 ほとんど相関なし
~
***クロス集計
2つないし3つの情報に限定して、データの分析や集計を行な...
参考:[[GoogleImage:クロス集計]]
~
~
**Pythonによるデータ解析
Python言語を用いたデータ解析には、[[Pandas]] という定番の...
~
***DataFrame
Pandas を使用するにあたって重要な概念が ''DataFrame'' と...
-data:表内の個々のデータ値(成績表で言えば、行列に並ぶ点...
-index:行ラベル(レコードを代表する値。成績表で言えば、...
-columns:列ラベル(項目名。成績表で言えば、国語・算数・...
&small(行ラベル、列ラベルとも、指定されない場合は 0, 1, 2...
一般にデータフレームは、CSV や Excel 等のデータを読み込ん...
df = pd.DataFrame(
data = [ [ '佐藤', 170, 60 ] , ['田中', 160, 50 ] ,...
index = ['S01', 'S02', 'S03'],
columns =[ 'name' , 'height', 'weight']
)
df
-------------------------------------
name height weight
S01 佐藤 170 60
S02 田中 160 50
S03 鈴木 165 58
&small(df は DataFrame の略として一般によく用いられる変数...
~
***解析自体は1行のコードで実現
-要約統計量の表示:DataFrame.describe()
df.describe()
-相関行列の表示:DataFrame.corr()
df.corr()
-クロス集計:pandas.crosstab( )
pd.crosstab( df['学部'] , df['性別'] )
~
***関連リンク
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(チップ) を使って、...
~
***ノートブックの新規作成
-__[[Google Colaboratory>https://colab.research.google.co...
-Untitled0.ipynb というファイル名を変更 > StatisticsCSV....
~
***サンプルデータ
-はじめに Tips の内容を確認しましょう。以下にアクセスして...
https://github.com/mwaskom/seaborn-data/blob/master/tips....
-データが見えるブロック上の ''raw''(生データ)をクリック...
https://raw.githubusercontent.com/mwaskom/seaborn-data/ma...
プログラムではこのアドレスに直接アクセスする形でデータを...
-ちなみにこの状態で、ブラウザの「ファイル>保存」を行うと...
--PCで .csv をダブルクリックすると 、Excel 等のスプレッド...
--.csv はプレーンテキストなので [[TextEditor]] で開くこと...
~
***サンプルコード
-JupyterNotebook形式(.ipynb)でプログラムを提供します。
https://github.com/koichi-inoue/DataScience/blob/main/Sta...
-資料が見えているブロックの一番上「Open in Colab」をクリ...
~
***プログラムの解説
-ライブラリの読み込み
import pandas as pd
Pandas は、データの読込、集計、並べ替え、欠損値の補完など...
Pandas の特徴は DataFrame にあります。DataFrame にはデ...
上記の1行で、以後 pd という変数を用いて pandas の機能...
-CSVデータの読み込み
df = pd.read_csv('(URL)')
Pandas のデータ読み込み機能を使ってCSVデータを DataFrame ...
-データフレームの基本情報を表示
print('行数・列数:', df.shape)
print('項目名:', df.columns)
print('各列のデータ型:\n', df.dtypes)
--Print 文は、データを表示する命令です。df.shape は行・列...
--df.dtypes で表示される「データ型」の違いが重要です。
---int64 , float64: ''数値項目(量的データ)''で、計算の...
---object:''名義項目(質的データ)''で、データを分類する...
-要約統計量を表示|describe( )
df.describe()
各項目のデータ件数、平均、標準偏差、四分位点が表示されま...
-相関係数を表示|df.corr( )
df.corr()
わずか一行の文で、すべての数値項目間の相関を一覧できます。
-データを total_bill の順で並べ替え|sort_values( )
df_sort = df.sort_values('total_bill', ascending=False )
df_sort
データを降順に並べ替える事例です(参考までにご紹介です)。
-女性の行のみ抽出|query( )
df_female = df.query( " sex == 'Female' ")
df_female
データを特定の条件で絞り込む事例です。df.query は DataFra...
-Dinner に 5名以上で来た客のみ抽出
df_male_smoker = df.query( ' time == "Dinner" and size >=...
df_male_smoker
-曜日別のデータ件数|value_counts( )
df_day_counts = df['day'].value_counts()
df_day_counts
df['day'] で DataFrame の「曜日」の項目に注目した上で、そ...
-曜日別の平均|groupby( ) , mean( )
df_day_mean = df.groupby('day').mean()
df_day_mean
曜日の値別にグルーピングした上で、それぞれの平均を求めて...
-クロス集計 曜日別の男女の数|crosstab( )
cross_table = pd.crosstab( df['day'] , df['sex'] )
cross_table
曜日と性別の2項目に注目して、クロス集計表を出力していま...
~
***学科サイトにリンク掲載(その3)
ノートを、学科サイトの個人ページからリンクして下さい。以...
-1. 自分のノートを開いた状態で、右上の「共有」をクリック
-2. 共有設定を変更して、以下のように表示される状態にしま...
このリンクを知っているインターネット上の全員が閲覧できま...
-3. 「リンクをコピー」をクリックして、そのアドレスを、以...
-[[StatisticsCSV>https://colab.research.go・・=sharing]]
-4. 以下のようになればOKです。
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/Dat...
~
***自主演習のススメ
今回の演習では、Web上に公開されている既存のCSVデータを利...
ちなみに、次回の演習では、GoogleDrive に置いた Excel ファ...
~
CENTER:
'''''本日の入門解説はこれにて終了です。'''''
本日作成した2つのノートについては、各自の関心に応じてコ...
~
~
**APPENDIX
***表形式のデータから見えてくるもの
大量の表データからは、何らかの「グループ」や、フィールド...
コンピュータがなかった時代は、みんな年長者の勘(つまり過...
-蕎麦屋の主人の勘:今日のような暑い日には、お昼時にざる蕎...
-刑事の勘:満月の日の21時ごろには、このあたりで事件が起き...
と、こんな感じです。しかし現在では、過去の購買行動や犯罪...
例えば、購買行動については、日時、場所、購入商品、年齢、...
さらに、その日の天候や気温、道路交通情報などの時系列デー...
人間が経験的に参照・蓄積できるデータには限りがありますが...
で、さらにそれをもとに、自動的な判別(パターン認識)や予...
~
~
~
終了行:
*第9回 Python によるデータ解析1
[[データサイエンス/2021]]|''2021.11.12''
~
***AGENDA
-以下名簿が表示されます。出欠確認・座席記録をお願いします。
&fontawesome(far fa-hand-point-right); [[出欠確認・座席...
-講義はこのページの内容を解説するかたちで遠隔 LIVE 配信し...
-質問等は YouTubeLive のチャットまたは LINEの 20ASグルー...
-学科サイトの各自のページを更新して下さい。
&fontawesome(far fa-hand-point-right); [[学科サイト|受...
~
#hr
'''''以下、LIVE動画をご覧下さい。記事に沿って解説します。...
記録動画は後日、[[学科サイトの特設ページ(要ログイン)>ht...
#hr
~
#youtube(jIx_h5B-b2g)
https://youtu.be/jIx_h5B-b2g
//埋め込み無効状態です。授業開始直前にページをリロードし...
~
-配信開始:2021.11.12 09:00 -
-動画は授業直前に有効になります(準備段階では黒い画面)。...
~
***CONTENTS
#contents2_1
~
~
**はじめに
***各回の内容
-第8回 データサイエンスとPython
-第9回 ''Python によるデータ解析1(GitHub CSV)''
-第10回 Python によるデータ解析2(GoogleDrive Excel)
-第11回 Python によるデータビジュアライゼーション1
-第12回 Python によるデータビジュアライゼーション2
-第13回 Python によるデータビジュアライゼーション3
-第14回 機械学習・序説
~
***前回 事後質問への回答
「パクる」と「真似る」の違い
-パクる:単にオリジナルを移動・複製して所有すること(盗む...
「パクる」だけでは何の学びにもなりません。
-真似る:しくみを理解した上で、自分の力で同様のものを作り...
「真似る」は「学ぶ」の語源とも言われる行為。子供は大人の...
21世紀、インターネットの文化圏には、誰もが自由に情報共有...
~
~
**データの取り扱い
***データとは
データ(Data)とは、一般に情報伝達、解釈、処理を目的とし...
-日本工業規格:X0001 情報処理用語-基本用語
情報の表現であって、伝達、解釈または処理に適するように形...
再度情報として解釈できるもの
~
***データファイルの基本構造
#image(Data/TableElements.png,right,25%)
データファイルは一般に2次元の表形式で与えられます。以下...
-''テーブル / Table''(表):通常1つのファイル
-''レコード / Row''(行):1件分のデータセット
-''フィールド / Column''(列):特定項目に関するデータセ...
#clear
''表の先頭行にはフィールド名(項目見出し)が並ぶ''のが一...
&scale(75){出典:https://commons.wikimedia.org/wiki/File:...
~
***様々なデータファイル形式
-CSV(.csv)
CSV(Comma-Separated Values)は、表形式のデータ等でフィー...
-EXCEL(.xlsx)
みなさんお馴染み、スプレッドシートの代表的なデータ形式で...
-JSON(.json)
JavaScript Object Notation >[[JSON]]
~
***オープンデータについて
オープンデータとは、著作権、特許などの制限なしで、全ての...
>[[OpenData]]
~
~
**データ解析のキーワード
***要約統計量(記述統計量)
標本の性質を要約するための統計量を「要約統計量」といいま...
-代表値(measure of central tendency):データの分布の特...
--平均(mean):データの総和をデータ数で割った値。最も一...
//#mathjax( \bar{x} = \frac{1}{n}\sum_{i=1}^n x_i)
--中央値(median):データを大きさの順に並べたときに中央...
--最頻値(mode):度数分布において最も高い度数を示す値。
-散布度 (dispersion):データの散らばりぐあいを表す値
--分散(population variance):偏差平方和をデータ数で割っ...
//#mathjax( s^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \bar{x})...
--標準偏差(standard deviation):分散のルートをとった値。
--四分位点:データを昇順に並べたときに、25%, 75% の位置に...
-参考:[[Distribution]]
~
***相関
//統計処理では、個々の項目の代表値や散布度の把握と並んで...
//
//-共分散
//共分散とは「国語の点数 X」と「数学の点数 Y」のような2...
//#mathjax( s_{xy} = \frac{1}{n} \sum_{i=1}^{n}(x_{i}-\ba...
//--共分散の値が正:X が大きいときに Y も大きくなる傾向が...
//--共分散の値が 0: X と Y には関係がない
//--共分散の値が負:X が大きくなると Y が小さくなる傾向が...
//
//-相関係数
2つの変数の間の関係を測る指標で、「身長が高い人は体重が大...
//#mathjax( r = \frac{(xとyの共分散) }{ (xの標準偏差) \ti...
//--&mathjax(r); は -1.0 から +1.0 までのいずれかの値をとる
//--&mathjax(| r |); が 1.0 に近いほど相関が強く、0に近い...
レポート等で相関の有無について語る場合、一般的な目安は以...
-| r | = 0.7~1.0 かなり強い相関がある
-| r | = 0.4~0.7 やや相関あり
-| r | = 0.2~0.4 弱い相関あり
-| r | = 0~0.2 ほとんど相関なし
~
***クロス集計
2つないし3つの情報に限定して、データの分析や集計を行な...
参考:[[GoogleImage:クロス集計]]
~
~
**Pythonによるデータ解析
Python言語を用いたデータ解析には、[[Pandas]] という定番の...
~
***DataFrame
Pandas を使用するにあたって重要な概念が ''DataFrame'' と...
-data:表内の個々のデータ値(成績表で言えば、行列に並ぶ点...
-index:行ラベル(レコードを代表する値。成績表で言えば、...
-columns:列ラベル(項目名。成績表で言えば、国語・算数・...
&small(行ラベル、列ラベルとも、指定されない場合は 0, 1, 2...
一般にデータフレームは、CSV や Excel 等のデータを読み込ん...
df = pd.DataFrame(
data = [ [ '佐藤', 170, 60 ] , ['田中', 160, 50 ] ,...
index = ['S01', 'S02', 'S03'],
columns =[ 'name' , 'height', 'weight']
)
df
-------------------------------------
name height weight
S01 佐藤 170 60
S02 田中 160 50
S03 鈴木 165 58
&small(df は DataFrame の略として一般によく用いられる変数...
~
***解析自体は1行のコードで実現
-要約統計量の表示:DataFrame.describe()
df.describe()
-相関行列の表示:DataFrame.corr()
df.corr()
-クロス集計:pandas.crosstab( )
pd.crosstab( df['学部'] , df['性別'] )
~
***関連リンク
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(チップ) を使って、...
~
***ノートブックの新規作成
-__[[Google Colaboratory>https://colab.research.google.co...
-Untitled0.ipynb というファイル名を変更 > StatisticsCSV....
~
***サンプルデータ
-はじめに Tips の内容を確認しましょう。以下にアクセスして...
https://github.com/mwaskom/seaborn-data/blob/master/tips....
-データが見えるブロック上の ''raw''(生データ)をクリック...
https://raw.githubusercontent.com/mwaskom/seaborn-data/ma...
プログラムではこのアドレスに直接アクセスする形でデータを...
-ちなみにこの状態で、ブラウザの「ファイル>保存」を行うと...
--PCで .csv をダブルクリックすると 、Excel 等のスプレッド...
--.csv はプレーンテキストなので [[TextEditor]] で開くこと...
~
***サンプルコード
-JupyterNotebook形式(.ipynb)でプログラムを提供します。
https://github.com/koichi-inoue/DataScience/blob/main/Sta...
-資料が見えているブロックの一番上「Open in Colab」をクリ...
~
***プログラムの解説
-ライブラリの読み込み
import pandas as pd
Pandas は、データの読込、集計、並べ替え、欠損値の補完など...
Pandas の特徴は DataFrame にあります。DataFrame にはデ...
上記の1行で、以後 pd という変数を用いて pandas の機能...
-CSVデータの読み込み
df = pd.read_csv('(URL)')
Pandas のデータ読み込み機能を使ってCSVデータを DataFrame ...
-データフレームの基本情報を表示
print('行数・列数:', df.shape)
print('項目名:', df.columns)
print('各列のデータ型:\n', df.dtypes)
--Print 文は、データを表示する命令です。df.shape は行・列...
--df.dtypes で表示される「データ型」の違いが重要です。
---int64 , float64: ''数値項目(量的データ)''で、計算の...
---object:''名義項目(質的データ)''で、データを分類する...
-要約統計量を表示|describe( )
df.describe()
各項目のデータ件数、平均、標準偏差、四分位点が表示されま...
-相関係数を表示|df.corr( )
df.corr()
わずか一行の文で、すべての数値項目間の相関を一覧できます。
-データを total_bill の順で並べ替え|sort_values( )
df_sort = df.sort_values('total_bill', ascending=False )
df_sort
データを降順に並べ替える事例です(参考までにご紹介です)。
-女性の行のみ抽出|query( )
df_female = df.query( " sex == 'Female' ")
df_female
データを特定の条件で絞り込む事例です。df.query は DataFra...
-Dinner に 5名以上で来た客のみ抽出
df_male_smoker = df.query( ' time == "Dinner" and size >=...
df_male_smoker
-曜日別のデータ件数|value_counts( )
df_day_counts = df['day'].value_counts()
df_day_counts
df['day'] で DataFrame の「曜日」の項目に注目した上で、そ...
-曜日別の平均|groupby( ) , mean( )
df_day_mean = df.groupby('day').mean()
df_day_mean
曜日の値別にグルーピングした上で、それぞれの平均を求めて...
-クロス集計 曜日別の男女の数|crosstab( )
cross_table = pd.crosstab( df['day'] , df['sex'] )
cross_table
曜日と性別の2項目に注目して、クロス集計表を出力していま...
~
***学科サイトにリンク掲載(その3)
ノートを、学科サイトの個人ページからリンクして下さい。以...
-1. 自分のノートを開いた状態で、右上の「共有」をクリック
-2. 共有設定を変更して、以下のように表示される状態にしま...
このリンクを知っているインターネット上の全員が閲覧できま...
-3. 「リンクをコピー」をクリックして、そのアドレスを、以...
-[[StatisticsCSV>https://colab.research.go・・=sharing]]
-4. 以下のようになればOKです。
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/Dat...
~
***自主演習のススメ
今回の演習では、Web上に公開されている既存のCSVデータを利...
ちなみに、次回の演習では、GoogleDrive に置いた Excel ファ...
~
CENTER:
'''''本日の入門解説はこれにて終了です。'''''
本日作成した2つのノートについては、各自の関心に応じてコ...
~
~
**APPENDIX
***表形式のデータから見えてくるもの
大量の表データからは、何らかの「グループ」や、フィールド...
コンピュータがなかった時代は、みんな年長者の勘(つまり過...
-蕎麦屋の主人の勘:今日のような暑い日には、お昼時にざる蕎...
-刑事の勘:満月の日の21時ごろには、このあたりで事件が起き...
と、こんな感じです。しかし現在では、過去の購買行動や犯罪...
例えば、購買行動については、日時、場所、購入商品、年齢、...
さらに、その日の天候や気温、道路交通情報などの時系列デー...
人間が経験的に参照・蓄積できるデータには限りがありますが...
で、さらにそれをもとに、自動的な判別(パターン認識)や予...
~
~
~
ページ名: