会計データをもとに機械学習やベイズ推論を駆使して会社の課題を解決しよう! 売上予測・顧客分析・異常検知・在庫予測・貸倒予測等の実践方法を解説。コード例を多数収録。
本書は、Pythonを使ったプログラミングの基礎を初心者向けにわかりやすく解説した入門書です。プログラミングに必要な知識を体系的に習得しながら、基本的なアルゴリズムの理解やその実装方法を学べます。Google Colaboratory(Colab)の環境を活用することで、すぐに学習を始められます。また、「情報」の教科書以上に詳しくPythonプログラミングやアルゴリズムについて説明しており、「情報」の次のステップにもぴったりな内容です。
本書の目的は、初心者が将来の学びや応用につながるPythonの基礎的な知識とスキルを固めること、そしてアルゴリズムやプログラムのデザインを学び、自分でプログラムを作成する力を養うことです。プログラム作成では、複雑な問題を小分けに整理して進める構成を採用し、初学者でも無理なく実践できるよう配慮しています。重要なポイントで設計やアルゴリズムの意味を考える場面を設けることで、理解を深めながら、自力で設計・作成する能力を確実に身につけられる構成となっています。
対象読者はプログラミング初心者で、特に次の層に焦点を当てています。高校生にとっては学校の教科「情報」の内容をさらに深く学び、実践的なプログラミングスキルを習得できる内容です。大学生や社会人には、研究や業務で活用できるプログラミングの基本を学び、「データサイエンス」「AI(人工知能)」「業務自動化」といった分野へ進む足掛かりになる内容です。1人で学べる丁寧な解説が魅力となっており、幅広い層の初学者に自信を持ってプログラミングを始めるきっかけを提供する1冊です。
◎第1部プログラミングを始めよう
■第1章 プログラミングの作業の流れとPythonの基本
■第2章 数値の演算、データ型と変数
■第3章 データをまとめて扱おう─リスト(配列)の利用─
◎第2部本格的なプログラミングを身につけよう
■第4章 構造化プログラミング
■第5章 関数をマスターしよう
◎第3部アルゴリズムの基本を学ぼう
■第6章 サーチ(探索)のアルゴリズム
■第7章 ソート(並び替え)のアルゴリズム
■第8章 再帰の仕組みとアルゴリズム
■第9章 一歩進んだソート(並び替え)のアルゴリズム
◎第4部さらにPythonを使いこなそう
■第10章 クラスとオブジェクト指向プログラミング
■第11章 外部ライブラリーの利用
■第12章 さらに広がるプログラミングとアルゴリズムの世界
数値流体解析の基礎を理解し,Pythonで実装・可視化しながら学ぶ.
【略目次】
1. 常微分方程式の差分解法
1.1 差分方程式の構成法
1.2 境界値問題
1.3 初期値問題1
1.4 初期値問題2
1.5 数値積分の応用
2. 線形偏微分方程式の差分解法
2.1 2階線形微分方程式の分類
2.2 楕円型偏微分方程式
2.3 放物型偏微分方程式1
2.4 放物型偏微分方程式2
2.5 双曲型偏微分方程式
2.6 移流拡散方程式と上流差分法
2.7 非線形移流方程式の差分解法
3. 非圧縮性ナビエ–ストークス方程式の差分解法
3.1 ナビエ–ストークス方程式·
3.2 圧力を消去する方法
3.3 圧力を求める方法
4. 熱と乱流の取り扱い(室内気流の解析)
4.1 室内気流の層流解析
4.2 熱の取り扱い
4.3 乱流の取り扱い
5. 座標変換と格子生成
5.1 曲がった境界の取り扱い方
5.2 1次元座標変換
5.3 2次元座標変換
5.4 3次元座標変換
5.5 代数的格子生成法
5.6 偏微分方程式による格子生成法
6. いろいろな2次元流れの計算
6.1 ポテンシャル流の解析例
6.2 流れ関数–渦度法による解析例
6.3 MAC法による解析例
7. MAC法による3次元流れの解析
7.1 3次元立方体キャビティ内の流れ
7.2 3次元室内気流
7.3 多くの物体まわりの3次元流れ
7.4 任意形状領域での3次元流れ
付録
A. 安定性
B. 重み付き残差法(常微分方程式)
B.1 選点法
B.2 ガレルキン法
B.3 有限要素法
C. 有限体積法·
D. SIMPLE法
E. 連立1次方程式の反復解法
E.1 反復法
E.2 ヤコビの反復法
E.3 ガウス–ザイデル法
E.4 SOR法
F. 数値積分
AI,機械学習,クラウド,そしてこれらの組合わせに興味がある人に向けて実践的AIについて解説した実用書.
プログラミング言語としてPythonを多用しながら,コードを実用的な製品につなげるための実践的なクラウドAI技術を説く.スポーツマーケティング,プロジェクト管理,商品価格設定,不動産などの現実的な問題に対処するためのクラウドベースのAIアプリケーションを構築する方法をステップ・バイ・ステップで学べる.理論と現実問題の乖離に橋を架ける一冊.
1.実践AI への一歩
1.本書に必要なPythonの基礎知識
2.AI とML のツールチェイン
3.スパルタ式AI のライフサイクル
2.クラウドを用いたAI
4.Google Cloud Platform を用いたクラウドAI 開発
5.Amazon Web Services を用いたクラウドAI 開発
3.ゼロからつくる実践AI アプリケーション
6.NBA に及ぼすソーシャルメディアの影響を予測する
7.AWS でインテリジェントなSlack ボットを作成する
8.GitHub Organizationからプロジェクト管理の品質を評価する
9.AWS のEC2 インスタンスを動的に最適化する
10.不動産データの解析
11.ユーザー生成コンテンツを扱う実用的AI
付録A AI アクセラレータ
付録B クラスタサイズの決定
「パーフェクトPython」の改訂版。前版はPython 3.2/3.3系をベースに構成されていたこともあり,最新のバージョン(Python 3.8)に変更に加え、新たに型ヒントやasynioによるコルーチンを利用したプログラミングの解説、Webクローリング・スクレイピングのライブラリなども紹介をしています。Pythonの言語仕様や思想、実際に直面する問題の解決から幅広いサードパーティ製のライブラリまでこれ一冊でPythonの知識が身に付きます。
IoTの基本的な仕組みを
PythonとIoTデバイスを連携して学べる!
【本書の背景】
IoT関連の技術革新が進む現在。センサーデータの処理やAIとの連携、
セキュリティなどを軸に、実際のプロダクト、サービスとして社会の中で利用されてきています。
【対象読者】
IoT関連のサービスやプロダクトを実務で利用したいエンジニア
【本書の概要]
本書は技術者向けのIoTセミナーで定評のあるVOSTの大人気IoT講座をもとにした書籍です。
具体的には、センサーから集めたデータをもとに、Pythonを利用して、データの扱い方(データ収集)、
AIとの連携(データ分析)、さらにセキュリティについて、サンプルを動かしながら学べる書籍です。
【本書で利用する主なデバイス】
・Raspberry Pi
・ブレッドボード
・温度センサー
・Raspberry Pi用カメラモジュール
・モータードライバー
・DCモーター
※ほかにも必要なるものがあります。
【目次】
第1章 IoTの概要
第2章 IoTの仕組み
第3章 Raspberry Piのセットアップと基本操作
第4章 センサーによるデータの取得
第5章 クラウドストレージにデータを保存
第6章 IoTとデータの可視化
第7章 IoTとアクチュエーターの遠隔操作
第8章 IoTとAI
第9章 IoTとセキュリティ
付録1 IoT関連のTIPS
付録2 Azure Machine Learningを利用した人工知能の作り方
付録3 Pythonの基礎
【著者プロフィール】
株式会社VOST テクニカルジェネラリスト 坂元 浩二。
株式会社VOSTは、IoT・AIを用いた教育プログラムの提供や
スマートファクトリープラットフォームの構築などを行う。
各種セミナーはエンジニアを中心に人気を博している。
本書は、Pythonによるプログラミングの基本とともに、データサイエンス関連のPythonライブラリの基本的な使い方を1冊で学べる入門書です。書籍の前半では、Pythonの基本文法はもちろん、Pythonならではの表現方法や機能についても解説します。また、さまざまな問題解決に必要となる「プログラミング的思考」「データ構造とアルゴリズム」についても取り上げることで、単に便利なライブラリを使えるようになるだけではなく、問題を解決するための本質的な力を身につけられるようにします。書籍の後半では、ここまで学んできたPythonの知識をもとに、Matplotlib/seaborn/NumPy/NLTK/spaCy/Pandas/scikit-learn/BeautifulSoupの使い方を学んでいきます。
本書は自然言語処理のPythonプログラミングに必要な要点を簡潔かつわかりやすく解説しています。環境構築の手間がかからないGoogle Colaboratoryで手軽にプログラミングを試し、自然言語処理の習得へステップアップしていける入門書にふさわしい一冊です。
第1章 ことはじめ
1.1 Python豆知識
1.2 Google Colaboratoryを開いてみる
1.3 インポートする:さまざまな機能はモジュールとして用意されている
1.4 ノートブックということ
1.5 インタプリタによるプログラムの実行
第2章 文法:基礎編
2.1 四則演算、変数、代入文、式、関数呼び出し、コメント
2.2 モジュール、import、モジュールにある関数の呼び出し
2.3 文字列
2.4 基本的な入出力
2.5 リストと配列、array、ndarray
2.6 条件式と判断分岐
2.7 for文による回数指定の繰り返し
2.8 while文による条件を満たす間の繰り返し
2.9 繰り返しを制御するbreak、continue、elseと多重ループ
2.10 関数を定義する
2.11 辞書型
2.12 リスト内包表記
2.13 Eval/Exec:切れ味鋭い万能関数
第3章 Google Colabに親しむ
3.1 Colabノートブックの利用
3.2 Colabでのコマンディング
第4章 モジュールに親しむ
4.1 NumPy
4.2 Pandas
4.3 グラフ表示にmatplotlibのpyplotを使う
4.4 Gensim
4.5 データセットの入手とNLTK
4.6 Scikit-learn
第5章 データファイルの読み書き
5.1 文字コードと日本語テキストデータの扱い
5.2 ファイルの読み込み
5.3 ファイルの書き込み
第6章 自然言語処理(NLP)する
6.1 NLPに便利なPythonの構文
6.2 spaCyでテキスト解析
6.3 GiNZAで、日本語テキストの形態素解析
6.4 spaCyでコサイン類似度を調べる
6.5 GiNZAで「幸福の王子」テキストの分かち書き化
第7章 WordCloudで直観を可視化
7.1 WordCloudの準備
7.2 WordCloudを実行し、画像を生成する
7.3 WordCloudに任意形を与える
第8章 トピックモデリング
8.1 LDAに取り組む
8.2 日本語テキストに対するLDAモデリング
8.3 ロイターデータセットの入門的トピックモデリング
8.4 Word2vecでトピック分析
8.5 この先の課題から
AIが生成したプログラムを読んで、しくみを理解して仕事に使おう!!
2010年ごろを境に、ビッグデータという言葉が、わたしたちの身の回りに急速に浸透し始めた。同時に、ビッグデータから機械学習に基づき知的なAI システムを構築することが昨今のブームとさえなってきている。本書は、これらの機械学習システムを構築するうえで避けては通れない、データの前処理の部分を中心に解説している。AI などの機械学習システムを第一に想定しているが、本書で説明する各種の技術は、ビッグデータから有用な知識を獲得するデータマイニングやデータ分析などにも有効に用いることができる。
さて、ビッグデータという言葉は耳に心地よく、なんとなく宝の山のように感じるかもしれないが、実はビッグデータは玉石混交であり、宝とゴミが入り混じっている。さらには、データの規模が大きくなればなるほどゴミも増え、その中から宝を取り出すのがますます困難になってくる。コンピュータサイエンスの分野では、“Garbage In, Garbage Out” (略してGIGO) という警句がある。文字通り、「ゴミからはゴミしか得られない」 「ゴミを入れればゴミが出てくる」 ことを意味しているが、この警句はまさに機械学習の一面を言い当てている。よい機械学習システムを構築するためには、データからゴミを排除し、データを学習しやすい形に加工するという作業が重要となってくるが、これこそがまさしく前処理の真髄である。
最近は、TensorFlow やKeras をはじめとする数多くの機械学習用のフレームワークやライブラリが無償で利用可能であり、これらのフレームワークやライブラリを利用することで、一見、プログラミングの敷居は低くなってきているようにみえる。公開されている機械学習用のデータセットを利用して、誰もが簡単にAI システムを作ることができる。しかし、独自のデータセットを用いて、独自のシステムを構築する場合には、大きな問題が立ちはだかっている。よくいわれていることであるが、現実のデータは汚い。データをそのまま使えば、それこそ
“Garbage In, Garbage Out” の事態に陥る。現実のデータから、有用なAI システムを構築できるかどうかは前処理の成否にかかっているとさえいえる。また、一説によると、実際のAI や機械学習システム構築の現場では、エンジニアが作業に携わる時間の6 割〜 8 割はデータの収集と前処理に費やされているともいわれている。
本書では、従来の機械学習の書籍では十分に扱われていなかった前処理技術に焦点をあて、技術の単なる解説だけではなく、実際に動くプログラムを通して、読者が理解できるような実践的な書を目指した。本書には姉妹編として 『実践編』 も出版が計画されているが、『実践編』ではより高度な前処理技術と、テキスト・画像・音響・音楽等のメディアデータに対する前処理技術について解説した。本書『 入門編』 とあわせてご活用いただきたい。
【注目のプログラミング言語「Python」を楽しく学べる】
【AIにゲームをつくってもらいながらPythonの実力アップ】
Pythonを始めたい人が楽しく学べる入門書です。本文は全編、好奇心旺盛な中学生「タケルくん」の素朴な疑問に先生役のおじさんが答える会話形式になっています。豊富なイラストや図解入りです。
特徴は、Pythonのコードを書くことよりも読むことに重点を置いていること。実際に遊べる「ブロック崩し」のプログラムをChatGPTに少しずつつくってもらい、そのコードを読んでいくことで、無理なくPythonに慣れていけるようになっています。
Pythonを使えるようにするための準備やPythonの基礎的な文法もなるべくていねいに説明しました。将来に備えてPythonを覚えておきたい学生はもちろん、Pythonを始めたい人に年齢を問わず勧められる内容になっています。
第1章 コンピューターの基礎知識
第2章 Pythonを使えるようにする準備
第3章 プログラミングの基本
第4章 ゲームプログラムの特徴
第5章 ChatGPTによるゲーム作成手順
第6章 今後のプログラミング
Pythonの基礎はもちろん、外部パッケージを含めた、よく使う機能を丁寧に解説!Python開発のために押さえておきたいポイントがわかる!Pythonの入門に最適な1冊!Python 3.x対応。
化学・化学工学分野でPythonを使って機械学習を行うための入門書
本書は、化学・化学工学分野でPythonを使って機械学習を行うための入門書です。
これまでに蓄積してきた実験/製造データをデータ解析・機械学習を用いて分析することで、いままでとはまったく別のアプローチで材料開発を加速させたり、プロセス管理を効率化・安定化させたりすることができます。なぜなら、実験や製造データは、目に見えない、研究者・技術者の知識・知見・経験・勘の宝庫だからです。そして、データ解析・機械学習を用いることで、これらを目に見える形にすることができるからです。
読者が一から実践できるよう、Pythonのインストール方法、データ解析・機械学習の基本理論から、材料設計、分子設計、プロセス管理について実際にサンプルプログラムとサンプルデータセットを使った実践までを丁寧に解説しています。
第1部 Python と統計の基礎知識
第1章 Pythonの基礎
第2章 データの図示
第2部 データ解析・機械学習の基礎
第3章 多変量データとデータの可視化
第4章 化学データを用いたモデリング
第5章 回帰モデル・クラス分類モデルの適用範囲
第3部 化学・化学工学データでの実践のしかた
第6章 材料設計,分子設計,医薬品設計
第7章 時系列データの解析
第8章 Datachemical LABを用いた化学・化学工学のデータ解析・機械学習
機械学習の書籍としておびただしい数の書籍が出版されているが,ななめ読みで終わる,もしくは難しすぎて読めないものが多く,「身につける」という視点で書かれたものは非常に少ないと言ってよい。本書は,100の問題を解くという演習のスタイルをとりながら,数式を導き,Pythonのソースプログラムを追い,具体的に手を動かしてみて,読者が自分のスキルにしていくことを目的としている。
本書は各章で解説のあとに問題を掲載している。解説を読んでから問題を解くこともできるが,まず問題から取り組む読み方もできる。その場合,数学の問題において導出の細部がわからなくても,解説に戻ればわかるようになっている。
「機械学習の数理100問」は,2018年後期と2019年後期の大阪大学基礎工学部情報科学科数理科学コース3年の講義でも使われ,また公開講座「機械学習・データ科学スプリングキャンプ」2018, 2019でも多くの参加者に解かれ,高い評価を得ている。また,その間に改良を重ねている。問題をすべて独力で解くのは,大学院生か学部の上位10%程度,もしくはその分野の研究開発に携わっていないと難しいかもしれないが,解説を読むだけでも十分な意味がある。
なお,本書は"Elements of Statistical Learning"(邦訳は共立出版『統計的学習の基礎』)や"Introduction to Statistical Learning with R"(邦訳は朝倉書店『Rによる統計的学習入門』)といった,統計的機械学習の世界的ベストセラーに準拠していて,レベル的にそれらの中間的なものになっている。前者は事典に近く,読者が何かを身につけるために書かれた書籍ではない。後者は初心者を対象として,感覚的な理解を促してパッケージを使わせることに終始し,本質に近づく視点が欠如していると言わざるを得ない。
本書を読むことで,機械学習に関する知識が得られることはもちろんだが,脳裏に数学的ロジックを構築し,プログラムを構成して具体的に検証していくという,データサイエンス業界で活躍するための資質が得られる。本書は「数理」「情報」「データ」といった人工知能時代を勝ち抜くために必須のスキルを身につけるための,うってつけの書籍である。
「Python3」は、本格的なプログラミングができる環境で最も簡単な言語と言えます。
本書では、「3DゲームをプログラミングしたいけどPython3言語しか使えない初心者」を対象にしています。
無料で使える以下の言語やツールで、3Dゲーム開発の経験がない人でも作れるように、さまざまな作例で解説をしています。
・プログラミング言語「Python3」
・「Python3」でプログラミングできる3Dゲームを作るためのパッケージ「Panda3D」
・無料でモデリングからレンダリングまでできる、高機能3D-CGツール「Blender2.9」
第1章 「Python」「Panda3D」「Blender」の紹介
• 「Python3」について
• Panda3Dについて
• 「Blender2.9」について
第2章 「Python」と「Panda3D」のインストール
• 「Windows10」で「Python3」のインストール
• Windowsで「Panda3D」のインストール
• macOSで「Python3」のインストール
• macOSで「Panda3D」のインストール
第3章 「Blender」のインストールとファイル変換
• 「Panda3D」向けのファイル変換
• 「macOS」に「Blender」をインストール
• 「macOS」で「Panda3D」向けの変換
第4章「ダンジョン脱出ゲーム」の開発
• 1枚の「床」を表示
• カメラのセット
• ダンジョンの地図
• 「プレイヤー」の回転
• 「プレイヤー」の前進
• すべての壁の表示
• 「ライト」のセット
• 「壁の衝突」と「サウンドの再生」
第5章 「地面たたきゲーム」の開発
• 「地面」の表示
• 「プレイヤー」の表示
• 「ライト」のセット
• 「プレイヤー」をキーボードで操
• ランダムに「地面」を持ち上げる
• 「ゲームオーバー」の実装
第6章「「障害物避けゲーム」の開発」
• 壁のスクロール
• ボックスのスクロール
• 「プレイヤー」の表示
• 「ライト」のセット
• プレイヤーの操作
• スコアの文字列を表示
• 「プレイヤー」と「壁」「ボックス」の衝突判定
• サウンドの再生
第7章「鬼ごっこゲーム」の開発
• 「地面」の表示
• 「プレイヤー」の表示
• 「プレイヤー」の操作
• 「敵キャラ」の表示
• プレイヤーが相手を捕まえてからの処理
• 「ライト」のセット
• 「サウンド」の再生
シンプルなサンプルソースコードで機能解説。視覚的に、直感的にわかるコンパクトレイアウト。開発現場ですぐに役立つ実践型リファレンス。関数型プログラミングの概念からPython3.0の新機能も解説。
本書ではPythonを使ったマテリアルズインフォマティクスの手法として、物質科学に関するデータ(特に無機物質)を主に扱い、データ解析学の基礎から非等長説明変数を用いるアルゴリズムまでをまとめています。
物質科学の世界では物質ごとに収集できる変数の数が異なる(非等長説明変数)場合が多く、実践でも苦労することを考慮して対応策を詳述。改訂にあたっては「ChatGPT」を使ったPythonコード作成の補助、データ解析の構築方法などを各章に取り入れることで、Pythonを扱ったことがない初学者にとっても挑戦しやすい内容になっています。
第1章 序章
1.1 目的 1
1.2 目的 2
1.3 目的 3
1.4 目的 4
第2章 理論編
2.1 予測問題
2.2 データ解析学手法の紹介
2.3 回帰・分類モデルの性能評価
2.4 データ解析学手法の四過程
2.5 説明変数の特徴の見い出し方
2.6 予測問題(再び)
2.7 新帰納法の世界
2.8 LLMの利用
2.9 LLMを用いた知識の取得例
2.10 LLMを用いたコード生成
第3章 準備編
3.1 可視化可能な Pythonインタラクティブ環境
3.2 Python環境のインストール
3.3 サンプルコードとデータファイルの取得とインストール
3.4 物質データ
3.5 データ解析の事前準備
第4章 基礎編
4.1 はじめに
4.2 回帰
4.3 次元圧縮
4.4 分類
4.5 クラスタリング
第5章 応用編1(等長説明変数)
5.1 はじめに
5.2 次元圧縮を併用したクラスタリング
5.3 トモグラフ像の復元
5.4 説明変数重要性の定量評価
5.5 モデル全探索による回帰モデル評価
5.6 ベイズ最適化
5.7 次元圧縮を利用した推薦システム
5.8 画像のノイズ削除
第6章 応用編2(非等長説明変数)
6.1 はじめに
6.2 頻出パターンマイニング
6.3 証拠理論
付録A
A.1 LLMに対する質問事項例
A.2 Jupyter Notebook/Labでの Notebookファイルの Pythonファイルへの変換方法
基礎理論を飛ばさない!
推定・検定から統計モデル・機械学習へ!
本書は統計学の理論をゼロから学べる教科書です。
IoTやビッグデータの発展によりさまざまなデータが社会にあふれ、
全てのデータを確認するのは難しくなってきています。
多くのデータから価値があるデータを作成するには統計学の知識が必須です。
【本書のポイント】
本書は統計学をはじめて勉強するかたでも、
読み進めていけるように、以下の3点を重点的に解説しています。
・データをどのように分析するのか
・なぜそのように分析するのが良いことなのか
・Pythonを使ってどのように分析するのか
【統計学を勉強するためのツールについて】
この書籍では、学習していく際のツールに、プログラミング言語のPythonを使用します。
PythonはExcelやRより自由度が高く、機械学習に多く利用されているので幅広い層から注目集めています。
Pythonに馴染むことにより、機械学習を利用したデータ分析者になるための基礎的な技術も身に付けられます。
【本書の構成】
本書は全7部構成になっています。
それぞれの部で次のようなことを解説しています。
第1部では統計学の基本を解説しています。
第2部でPythonの基本やJupyter Notebookの使い方を説明します。
第3部でPythonを用いた統計分析の方法を学びます。
第4部からは統計モデルについて学んでいきます。
第5部では正規線形モデルを解説します。
第6部それを発展させた一般化線形モデルについて解説します。
第7部は、統計学から機械学習へのつながりを学びます。
統計学やPythonのことを何も知らない方にもオススメの一冊です。
数式をプログラムに実装して機械学習の基礎をしっかり学べる。教師あり学習・教師なし学習の考え方と実装方法を丁寧に解説。