シラバス参照

開講年度 2023 
科目名 応用プログラミング3 
職名/担当教員 ネットワーク情報学部 兼任講師 田中 健太 
期間/曜日/時限 後期 火曜日 3時限
開講区分/校舎 一部生田/生田 
配 当 ネット学科234 
単 位
コースコード ICT216 
授業形態 演習(対面) 
卒業認定・学位授与の方針との関連 知識・理解/知識体系に基づく思考と知の創出 



講義内容
<到達目標>
1. R言語の近年の動向を捉え、適切な開発環境、パッケージを選択してプログラミングできる (知識・理解)
2. tidyverseを念頭に置いたモダンなデータ分析フローを理解し、分析を実践できる (知識体系に基づく思考と知の創出)
3. 機械学習やテキストマイニングなど、分析の目的に応じた手法を選択し、Rプログラムとして実装できる (知識体系に基づく思考と知の創出)

<講義概要>
データ分析のためのプログラミング言語であるRについて、近年 (2010年代後半以降) の開発動向を紹介し、ビジネスや研究の現場で広く使われるパッケージの活用方法を、実際にプログラミングをしながら学習します。講義を通じて、実践的なRプログラミングのスキルを身に着けることを目標とします。なお、本講義の履修者は、R言語について基本的な知識を有していると想定しています。前提知識として想定するのは以下の事柄です。

【前提知識】※第1回の授業で簡単な振り返り、確認を行います。
(1) Rでファイルからデータを読み込むことができる
(2) オブジェクト (変数) を作成し、要素 (行や列) を参照できる
(3) オブジェクトに関数 (データ加工、グラフィックス、統計処理など) を適用し、結果を得ることができる

<講義計画>
以下のような、Rを活用したモダンなデータ分析に関するトピックを取り上げます。

(1) Rプログラミングの基本、最近の動向について
(2) R Markdownによるレポート作成
(3) GUIによるデータ分析: Radiant等
(4) ggplot2パッケージによるグラフィックス作成 (1) ggplot2パッケージの概要~さまざまなグラフィックス (1)
(5) ggplot2パッケージによるグラフィックス作成 (2) さまざまなグラフィックス (2)~ggplot2のGUI
(6) tidyverseによるデータハンドリング (1) tidyverseの全体像~tidyrパッケージ
(7) tidyverseによるデータハンドリング (2) lubridateパッケージ~tidyverseを中心としたエコシステム
(8) Rによる統計モデリング、機械学習の基礎 (1) データ分析と統計モデリング、機械学習~Rによる機械学習 (1)
(9) Rによる統計モデリング、機械学習の基礎 (2) Rによる機械学習(2)
(10) 機械学習フレームワークによる機械学習 (1) Rにおける機械学習フレームワーク~tidymodelsとmlr3 による機械学習ワークフロー
(11) 機械学習フレームワークによる機械学習 (2) 機械学習と前処理~機械学習とチューニング
(12) Rによるデータスクレイピング
(13) 日本語テキストマイニング (1) テキストデータの価値~Rによるテキストマイニング
(14) 日本語テキストマイニング (2) テキストデータの機械学習
(15) Shinyによるアプリケーション開発 / reticulateによるPythonとの連携 / まとめ

(都合により、順番やトピックを変更する場合があります)

<授業で実施するアクティブ・ラーニング>
・実習 (プログラミング)


<授業時間外の予習・復習・課題>
講義概要で示した、R言語についての前提知識に不安がある方は、以下の参考書等で事前に学習してください。

授業内で、Rプログラムを作成する課題を指示します (作業時間2時間程度)。教員が指示した締切までにGoogle Classroom等で提出してください。また、予習・復習として、講義で紹介する各種パッケージに関する情報収集 (Web検索、ドキュメント閲覧) をすると良いでしょう。

<課題に対するフィードバックの方法>
課題の解答・解説など全体的なフィードバックは、授業内やGoogle Classroom等を用いて行います。個別にフィードバックが必要な場合はdirect (チャットツール) 等で行います。

<実務経験>
教員は、ITベンダー傘下の人材育成企業で社会人教育に従事し、その後マーケティングリサーチ企業のデータアナリストとして、さまざまなデータを分析する実務経験を有している。現在も、独立して人材育成サービスを軸としつつ、データ分析やプログラム開発にも従事しており、トレンドを踏まえた実践的な講義を行う。 
教科書・参考書
講義資料は、随時Google Classroom等で共有します。以下は、参考書ですので、購入は必須ではありません。R言語の基礎知識に不安がある、またはさらに理解を深めたい方は通読してください。多くの書籍が図書館に収蔵されています。

(1) 松村優哉, 湯谷啓明, 紀ノ定保礼, 前田和寛, 2021, 改訂2版 Rユーザのための RStudio[実践]入門〜tidyverseによるモダンな分析フローの世界, 技術評論社
(2) 浅野正彦, 中村公亮, 2018, はじめてのRStudio: エラーメッセージなんかこわくない, オーム社
(3) 松村優哉, 瓜生真也, 吉村広志, 2023, Rユーザのためのtidymodels[実践]入門〜モダンな統計・機械学習モデリングの世界, 技術評論社
(4) Jared P. Lander (著), 高柳慎一, 津田真樹, 牧山幸史, 松村杏子, 簑田高志 (翻訳), 2018, みんなのR 第2版, マイナビ出版
(5) 石田 基広, 2017, Rによるテキストマイニング入門 (第2版), 森北出版
(6) 有賀友紀, 大橋俊介, 2021, RとPythonで学ぶ[実践的]データサイエンス&機械学習【増補改訂版】, 技術評論社 
成績評価方法・基準
(1)成績評価方法
平常点で評価します。各回でRプログラムなどを作成する課題を出題し、100点満点で採点します。各回の課題の提出状況、成果物のレベルと出席状況と照らし合わせて評価します。


(2)成績評価基準・評価の配分等

提出物について、以下の観点で評価します。

(1) 課題の意図を理解し、パッケージ等を活用して、要求を満たすプログラムを実装できたか (到達目標1, 3)
→S: 意図を理解し、要求通りの出力が得られるプログラムを作成した、A: 意図を理解し、要求とおおむね一致する出力が得られるプログラムを作成した、B: 意図をおおむね理解し、要求の半分程度を満たすプログラムを作成した、C: 意図の一部を理解し、要求を一部満たすプログラムを作成した、D: 意図を理解できておらず、要求を満たすプログラムを作成できていない

(2) 要求を満たした上で、よりシンプルで可読性の高いプログラムを実装できたか (到達目標2)
→S: 意図を理解し、無駄のない、可読性の高いプログラムを作成した、A: 意図を理解し、冗長な部分の少ないプログラムを作成した、B: 意図をおおむね理解しているが、やや冗長なプログラムを作成した、C: 意図の一部を理解しているが、冗長な部分の多いプログラムを作成した、D: 意図を理解できておらず、要求を満たすプログラムを作成できていない

(3) グラフィックスのラベルや目盛、レポートのフォーマット等を工夫した、分析結果を第三者に伝えることを意識したプログラムであるか (到達目標1, 2)
→S: 実行結果を他者が見て、意図が明確に理解できるプログラムを作成した、A: 実行結果を他者が見て、意図が大部分理解できるプログラムを作成した、B: 実行結果を他者が見て、意図が半分程度理解できるプログラムを作成した、C: 実行結果を他者が見て、意図が一部理解できるプログラムを作成した、D: 実行結果を他者が見て、意図が理解できないプログラムを作成している

上記の観点に基づいて全15回の提出物を採点、平均して、S(90点以上)、A(80点以上90点未満)、B(70点以上80点未満)、C(60点以上70点未満)、F(60点未満)の評価を行います。 
履修上の留意点
(1) すべての授業に出席することが原則です。
(2) すべての課題を提出することが必要です。
(3) 授業内でプログラミング実習を行いますので、ノートPCの持参が必要です。オンライン授業の際も、PCでの受講が必須です。OSは問いません。

講義で使用するR実行環境については、開講前に別途指示します。 
担当教員へのアクセス
direct (チャットツール) で質問等を受け付けます。他学部の方は、ネットワーク情報学部教務課を通じてご連絡ください。 
その他
全学公開科目 
更新日付 2023/05/01 15:04


PAGE TOP