◆RとPython両方学べる。コスパ最強の一冊!◆
・コードが理解の試金石!
・「データサイエンスの準備」にページを割いているから、プログラミング経験ゼロで大丈夫!
・自分に合った言語を見つけたい、言語を乗り換えたいという方にもおすすめ!
[サポートサイト]
https://github.com/taroyabuki/fromzero
[主な内容]
第1部 データサイエンスのための準備
1章 コンピュータとネットワーク
2章 データサイエンスのための環境
3章 RとPython
4章 統計入門
5章 前処理
第2部 機械学習
6章 機械学習の目的・データ・手法
7章 回帰1(単回帰)
8章 回帰2(重回帰)
9章 分類1(多値分類)
10章 分類2(2値分類)
11章 深層学習とAutoML
12章 時系列予測
13章 教師なし学習
付録A 環境構築
第1部 データサイエンスのための準備
1章 コンピュータとネットワーク
1.1 コンピュータの基本操作
1.2 ネットワークのしくみ
2章 データサイエンスのための環境
2.1 実行環境の選択
2.2 クラウド
2.3 Docker
2.4 ターミナルの使い方
2.5 RとPython
2.6 サンプルコードの利用
3章 RとPython
3.1 入門
3.2 関数
3.3 コレクション
3.4 データフレーム
3.5 1次元データの(非)類似度
3.6 Rのパッケージ,Pythonのモジュール
3.7 反復処理
3.8 その他
4章 統計入門
4.1 記述統計
4.2 データの可視化
4.3 乱数
4.4 統計的推測
5章 前処理
5.1 データの読み込み
5.2 データの変換
第2部 機械学習
6章 機械学習の目的・データ・手法
6.1 機械学習の目的(本書の場合)
6.2 機械学習のためのデータ
6.3 機械学習の手法
7章 回帰1(単回帰)
7.1 自動車の停止距離
7.2 データの確認
7.3 回帰分析
7.4 当てはまりの良さの指標
7.5 K最近傍法
7.6 検証
7.7 パラメータチューニング
8章 回帰2(重回帰)
8.1 ブドウの生育条件とワインの価格
8.2 重回帰分析
8.3 標準化
8.4 入力変数の数とモデルの良さ
8.5 変数選択
8.6 補足:正則化
8.7 ニューラルネットワーク
9章 分類1(多値分類)
9.1 アヤメのデータ
9.2 木による分類
9.3 正解率
9.4 複数の木を使う方法
9.5 欠損のあるデータでの学習
9.6 他の分類手法
10章 分類2(2値分類)
10.1 2値分類の性能指標
10.2 トレードオフ
10.3 2値分類の実践
10.4 ロジスティック回帰
11章 深層学習とAutoML
11.1 Kerasによる回帰
11.2 Kerasによる分類
11.3 MNIST:手書き数字の分類
11.4 AutoML
12章 時系列予測
12.1 日時と日時の列
12.2 時系列データの予測
13章 教師なし学習
13.1 主成分分析
13.2 クラスタ分析
付録A 環境構築
本書で学べること!Jupyter Notebookの導入からPythonの利用方法。株価・為替・経済などのデータの入手方法と分析手法。時系列分析の処理と統計的手法(自己回帰モデル、モンテカルロ手法など)。あゆみ値の本質と価格形成のメカニズム。高頻度取引の世界におけるマーケットメイクの仕組み。
・統計的・物理的シミュレーションを理解し,作成・評価するために
・マルコフ決定過程,モンテカルロ法,ブートストラップ法など様々な アルゴリズム・概念を習得
・Pythonをつかって実践しながら学ぶ
【主な目次】
第I部 数値シミュレーションで開始
1. シミュレーションモデル入門
分類/問題への取り組み/離散イベントシミュレーション(DES)/動的システムモデル/効率的な実行方法
2. ランダム性と乱数の理解
確率過程/乱数シミュレーション/擬似乱数生成器/一様分布/汎用的な手法/セキュリティ/暗号用乱数生成器
3. 確率とデータ生成プロセス
ベイズの定理/確率分布/データの生成/検定力分析
第II部 シミュレーションモデリングアルゴリズムと技法
4. モンテカルロシミュレーション
中心極限定理//数値積分/感度分析/交差エントロピー手法
5. シミュレーションに基づいたマルコフ決定過程
エージェント/マルコフ過程/マルコフ連鎖/ベルマン方程式/マルチエージェントシミュレーション/シェリングの分離モデル
6. リサンプリング手法
ジャックナイフ技法/ブートストラッピング/並べ替え検定/交差検証技法
7. シミュレーションを使ってシステムを改善し最適化する
数値最適化技法/勾配降下法/ニュートンラフソン法/確率的勾配降下法/期待値最大化(EM)アルゴリズム/シミュレーテッドアニーリング(SA)法
/多変量最適化発見手法
8. 進化システム入門
SC 入門/遺伝プログラミング/遺伝アルゴリズム/記号的回帰(SR)/CAモデル
第III部 実世界の問題解決にシミュレーションを応用する
9. 金融工学にシミュレーションモデルを活用する
幾何学的なブラウン運動モデル/株価予測/ポートフォリオ
10. ニューラルネットワークを使って物理現象をシミュレーションする
フィードフォワードニューラルネットワーク/ANNを使った翼の自己雑音シミュレーション/深層ニューラルネットワーク/グラフニューラルネットワーク(GNN)
11. プロジェクト管理でのモデル化とシミュレーション
簡単な森林管理問題/スケジュール管理
12. 動的な系における故障診断のシミュレーションモデル
故障診断入門/モーターギアボックスの故障診断モデル/無人航空機の故障診断システム
13. 次は何か
実生活へのシミュレーションモデルの応用/シミュレーションモデリングの次のステップ
訳者あとがき
索引
■ 膨大なデータを実際に分析する紙上ハンズオンセミナー
□ データ分析の全プロセスを始めから終わりまで実体験できる!
データ分析やデータサイエンスに興味がある、あるいは業務でデータ分析を実際にやらなければならないーー。きっと、そういう人なら基礎的な統計や分析、データサイエンスはの入門書はひと通り目を通したことと思います。おそらくは並行してプログラミングも勉強しているという人も多いでしょう。そうした基礎を学んだところで、こう思ってはいませんか?
「さて、データ分析ってどうやるの?」
本書は実務としてのデータ分析について、データの取得から段階を踏みながら、どのようにデータの特徴や傾向を読み取るのか、具体的なやり方をハンズオン形式で解説します。取り上げるデータ、分析のためのプログラミング環境は、誰でも利用できるものばかり。本書に従ってデータ分析を進めていけば、分析プロセスはこう進めていけばいいのかというリアルな手順が身につきます。
本書が対象にするのは、ビジネスパーソンです。自社の次の戦略をベテラン社員のカンに頼って立案するのではなく、科学的な手法でデータを分析し、根拠のある戦略立案に役立てたいと考えている、現場のビジネスパーソンが対象です。そのためにデータ分析の目的、分析結果の活用まで考慮し、ビジネスの中でデータ分析をどのように生かせばいいのかについても解説しています。
そのうえで、データを調達して、データの前処理を施し、可視化してデータの特徴をつかみ、それを意思決定層にわかりやすくプレゼンできるように表現する。そこまでの実際を本書で体験したいただきます。
Chapter1 データ分析をビジネスに活かす
Chapter2 オープンデータのススメ
Chapter3 Python 入門
Chapter4 分析に役立つライブラリ
Chapter5 【ハンズオン】データの準備と前処理
Chapter6 【ハンズオン】データの可視化
Chapter7 【ハンズオン】戦略立案のためのデータ分析
非線形最適化の数理を、詳しく丁寧に解説! Pythonによる実装例も学べる!
コンピューター(計算機)の性能向上により計算速度が上がる一方で、計算資源を効率的に利用する必要性も高まっています。本書では、非線形最適化に焦点を当て、そのうちの無制約最適化・制約付き最適化それぞれについて、代表的なアルゴリズムとその収束に関する数理を、丁寧に詳しく解説します。機械学習(人工知能)、情報通信、社会科学などの応用の広がりとともに最適化アルゴリズムの研究は日々進んでいますが、非線形最適化アルゴリズムの数理的基礎は、本書でしっかり足固めできます。
また、本書で扱う最適化アルゴリズムの多くに、Pythonによるサンプルコードを付けており、数理と実装を一挙両得に習得できるよう構成しました。
予備知識として、大学教養レベルの線形代数と微分積分のひととおりの知識を想定していますが、付録で本書の通読に必要な知識をまとめるとともに、本文中ではできるだけ省略なしに数式を展開し、読みやすさにも配慮しています。
第1章 序論
第2章 無制約最適化の基礎
第3章 最急降下法と共役勾配法
第4章 ニュートン法と準ニュートン法
第5章 特別な無制約最適化問題に対するアルゴリズム
第6章 制約付き最適化の基礎
第7章 制約付き最適化問題に対するアルゴリズム
第8章 スパース最適化
付録A 本書で用いる数学の基礎事項
付録B 演習問題の解答
参考文献
さまざまなアルゴリズムを一挙に把握できる。問題解決力、データ活用力を養成!>>本書は、アルゴリズムの基本から始まり、検索やソートなどの実例を示します。より複雑なアルゴリズムとしては、線形計画法、ページランキング、グラフアルゴリズムを説明。機械学習アルゴリズム背後のロジックも理解できるようにします。不正分析やレコメンデーションエンジンのケーススタディを取り上げ、データ処理・大規模処理・暗号化のアルゴリズムも紹介。本書は、さまざまなアルゴリズムを活用したい方にとってその手掛かりとなるガイドブックです。
感染症シミュレーションやエッジAI、画像認識、数学など、Pythonを使って
様々なプログラムの作成に挑戦するムックです。人気の「Visual Studio Code」
と「Visual Studio 2019」をPythonプログラミングで活用するための記事や、
Pythonプログラムを"EXE化"する方法を解説する記事も収録しています。
本ムックを読むことで、プログラミングの面白さと奥深さがわかると同時に、
Pythonの実践的な使い方を学べます。
例えば、感染症シミュレーションは社会的に大きな話題になっています。その
ようなシミュレーションは、一部専門家だけが行えるものではなく、興味さえあ
れば誰でもできることを、本ムックではPythonのコードとともに示します。
また、AIやデータサイエンス時代の到来に合わせて、数学の重要性が改めて指
摘されています。苦手意識を持たれることの多い数学ですが、Pythonのプログラ
ムとともに学べば、その面白さに気づくことができます。本ムックは、AIやデー
タサイエンス時代に必要な実践的な教養を、Pythonのプログラムとともに提供し
ます。
第1章 Visual Studio Code/Visual Studio 2019を使いこなそう
●PythonユーザーのためのVisual Studio Code活用術
Part 1 第1部 データ分析のためにビジュアライズする
Part 2 第2部 Pythonで機械学習プログラムを開発する
Part 3 前編 PythonとC#を組み合わせてプログラムを作ろう
Part 4 後編 C#連携でより使いやすく!C++連携でより速く!
Part 5 Pythonで作れる!Windowsの「EXE&GUI」ソフト 自作のPythonソフトをみんなに使ってもらおう!
第2章 AIプログラミングに挑戦
●ディープラーニングAI超入門
Part 1 第1部 画像認識AIの仕組みを知る
Part 2 第2部 画像認識AIを作ろう
Part 3 エッジAIプログラミングM5StickV 準備編 話題の「エッジAI」を格安のAIカメラ「M5StickV」を通して体験!
Part 4 エッジAIプログラミングM5StickV 活用編
第3章 数学的な思考を磨こう
Part 1 Pythonで感染症シミュレーション 古典的なSIRモデルで感染者の増減を把握
●Pythonで楽しい数学プログラミング
Part 2 短いコードで数学を楽しむ
Part 4 幾何(ベクトル)
Part 5 幾何(当たり判定)
Part 6 三角関数(その1)
Part 7 三角関数(その2)
テキストベースの単純なゲームからグラフィックスやサウンドを活用したゲームまで、いろいろなプログラム例にあたってPythonの基礎や重要な概念を学べます。
Pythonの高速化技法を学ぶロングセラー書の改訂版。Python 3対応!
Pythonの高速化技法を学ぶロングセラー書の改訂版。待望のPython 3対応。本書ではCPUやメモリ使用量の観点からハイパフォーマンスなコードを書くための考え方や手法を解説します。そのために、パフォーマンスのボトルネックを測定する方法から、最適なデータ構造の選択方法、CythonやNumbaなどのコンパイラの比較、非同期処理、マルチコアCPUの活用法といった最適化のノウハウを、シンプルなサンプルプログラムを使って実際に効果を確認しながら学びます。本書で学べる考え方や手法はPython以外にも適用できるので、ハイパフォーマーを目指すプログラマーは必携の一冊です。
「時系列解析」は過去の自身のデータから未来のデータを予測するために用いられる手法であるが,予測だけでなく,事象の分解・理解に強みを持つ手法でもある。本書では,応用範囲の広い「時系列解析」について,マーケティングやIoTなどの現場における実解析で応用ができるように解説の内容を選定し,手法の基礎的な理論をPythonのサンプルコードとともに解説した。簡単なデータを用いた簡単な課題を例にとり,基礎的なモデル構築の過程を段階的に体験できるように,また,自学により応用範囲を広げてもらえるように,どの場面で,なぜその手法を使うのかを考えられるように説明している。
本書では,経済・マーケティングの分野で多く用いられるARモデルに代表される自己回帰型の古典的なデータ解析手法,工学分野の信号処理でも活躍の場面が多いカルマンフィルタに代表される状態空間モデル,IoT分野で活躍の場面が多い異常検知について説明している。
解説では、各手法について、より簡単な手法から説明し、各データに対してモデリングがうまくいかない理由とその克服方法を合わせて提示することで、段階的に各手法の必要性を理解できるように心がけている。
生成AIの共通語=Pythonを深く知ろう
Pythonインタプリタのソースコードを読む
生成AIの世界で、プログラミング言語「Python」は“共通語”になっています。現在の生成AI関連のソフトウエアの多くは、PyTorchといったPythonのライブラリを使って動いているからです。
本ムック「ワンランク上のPythonプログラマになれる本」は、そんなPythonをより深く理解して使いこなしたい、という方に向けた内容になっています。
Pythonを深く理解するための究極的な方法の一つは、Pythonインタプリタのソースコードを読むことです。Pythonはオープンソースのプログラミング言語ですから、誰でも簡単にソースコードをダウンロードできます。本ムックの第4章では、Pythonの動く仕組みをPythonインタプリタのソースコードとともに解説しています。また、第5章ではソースコードの変更によるPythonインタプリタの改造に挑戦しています。
一方で、生成AIの時代は、Pythonにだけ詳しくてもワンランク上のPythonプログラマにはなれません。生成AIの基礎である機械学習の素養が必須です。本ムックの第7章では、機械学習の初歩と言える「最小二乗法」と「ベイズ推定」を、Pythonのサンプルプログラムを作成しながら詳しく解説しています。
≪目次≫
●第1章 PythonでWeb/iPhone/ゲーム/生成AIアプリを作ろう!
Part1 Webアプリを作ろう「Flask」を活用する
Part2 iPhone/iPadで動くアプリを作ろう「Pythonista 3」を活用する
Part3 ゲームアプリを作ろう「Pygame」を活用する
Part4 生成AIを利用するアプリを作ろう「OpenAI API」を活用する
●第2章 四択 穴埋め式クイズで学ぶPython入門
●第3章 Pythonのオブジェクトの仕組みと構造を学ぼう
●第4章 Pythonが動く仕組みを学ぼう
●第5章 Pythonインタプリタを改造!
「if」の代わりに「もし」を使う
●第6章 あなたもPythonライブラリを作れる
Part1 ライブラリを自作しよう
Part2 ライブラリを公開しよう
●第7章 今から始める機械学習入門
Part1 基礎となる「最小二乗法」をマスターする
Part2 「ベイズ推定」の初歩を理解する
●第8章 Pythonで学ぶ「統計」と「確率」
Part1 統計と確率の概論
Part2 確率分布を理解するための前提知識
Part3 確率分布とは?
Part4 記述統計と確率分布の関係
Part5 推測統計と確率分布の関係
●第9章 Pythonで「太陽系シミュレーター」を作る
Part1 太陽系と惑星について
Part2 太陽系シミュレーター(簡易モデル)
Part3 天体の位置情報の取得と保存
Part4 太陽系シミュレーターを完成させる
Part5 楕円軌道を検証する
プログラミングで作業を効率化しよう!
本ムック「お仕事Python」では、パソコンの中で増え続けるWordやExcel、PowerPoint、PDFといった定番の“お仕事アプリ”のファイルを、人気ナンバーワンのプログラミング言語「Python」を使って、効率良く扱う方法などを解説します。
また、iPhoneやiPadで動く仕事に役立つアプリを、Pythonで手軽に自作する方法も紹介します。
Pythonの力を借りて、テレワークを含む仕事の環境や仕事のやり方をバージョンアップし、個人レベルでのDX(デジタルトランスフォーメーション)を推進しましょう。
第1章 Pythonプログラミング入門
第2章 Python×Office活用術
第3章 Python×Excel活用術
第1部 ファイルの読み込みからSQLite3連携まで解説!最強コンビをコラボさせて、作業を効率化しよう
第2部 PythonプログラムでExcelファイルを読み書き!7個の作例を通して、活用術をマスターしよう
第4章 Python×PowerPoint活用術
第1部 プログラムでPowerPointファイルを生成しよう
第2部 Webアプリやスクレイピングと組み合わせよう
第5章 Python×PDF活用術
第1部 PDFを操作できるライブラリ「pdfminer.six」と「PyPDF2」を使ってテキストや画像の抽出などに挑戦!
第2部 定番ライブラリ「ReportLab」を使って文章はもちろん、グラフや画像、QRコードを埋め込んだPDFを作成!
第6章 仕事に役立つiPhone/iPadアプリをPythonで手軽に作ろう
プログラミングアプリ「Pythonista 3」活用術
第1部 割り勘計算機、メモアプリ、為替レートウィジェットを作る
第2部 商品管理アプリと発注アプリを作る
第7章 仕事と生活に役立つPython
第1部 ファイルの整理とZIP圧縮
第2部 Excelシートの分割と結合
第3部 写真の整理
Pythonによるネットワークプログラミング入門書!
本書は、Pythonによる実装を前提として、ソケットプログラミングに必要な知識をわかりやすく解説する入門書です。TCP/IPやソケットの原理を説明したのち、Pythonでソケットを実装する基礎的方法を示していきます。さらに、Python固有の機能を用いたプログラミング例(モジュールを利用したサーバ実装など)を紹介します。
ダウンロードできるサンプルプログラムが多数掲載されているので、実際に試しながら読み進めて、知識と技術を身につけてください。
機械学習の仕組みから周辺技術まで、豊富な図解と実践的なサンプルで学べます。botに機能を追加しながら進むため、機械学習の基礎を楽しく学べます。勘違いしやすい箇所は講師がフォロー。ワークショップ感覚で読み進められます。
欧米で大人気のプログラミング絵本がついに登場しました。
Scratchじゃ物足りない。どうせやるなら本格的にPythonでプログラミングを学びたい! そんな子供たちにピッタリなのが、本書です。
楽しげなイラストを用いながら、メッセージの表示方法からif文を使った条件分岐、whileやforを使ったループ、グラフィカルな画面の設計まで、楽しく遊べるゲームを作りながら、Pythonでのコーディングをステップ・バイ・ステップで説明します。
同じゲームを作るのでも、まずは簡単に大枠を作り上げる。それからよりよいプログラムに仕上げるためにコードを追加したり、コードを書きかえたりといった順で解説が進んでいきます。だから、プログラミング初心者でも少しずつコーディングしながら、無理なく高度なプログラミングができるようになります。
プログラミングが初めてでも大丈夫。Pythonのインストールから、フローチャートの作成、バグの見つけ方のコツ、プログラミングやPythonの用語集まで、Pythonプログラミングの基礎がわずか100ページで学べます。
「初めてなのに、いつの間にかすごいゲームが作れちゃった」
そんな体験をぜひ本書で!
※対象年齢:10歳以上(プログラミングに興味のある大人にもおススメですよ)
コーディングって何?
Pythonを始めよう
数字で遊ぼう
変数
条件式を使ってみよう
全体の流れを作る
ヤツらが攻めてきた!
推理ゲーム
FORループ
九九の早見表
配列を使おう
得意技辞典を作ろう
スパイの暗号メッセージ
tutleで絵を描こう
ボタンを押さないで
傑作を描こう
爆弾をよけろ!
バットとボール
Python便利帳
Pythonをダウンロードしよう
ファイルを管理する
デバッグ
どっちのウィンドウ?
ひとめでわかるコードの見方
用語集
本書では初級から中級レベルのアルゴリズムとプログラミングの問題を例題は100題、課題は174題用意し、すべて解答を参照することができます。「文法は学んだけれどプログラミング力がなかなか身につかない」と悩む方に最適な演習書です。
序章
0.1 本書でのプログラミングと学習の環境
0.2 Google Driveの取り扱いについて
0.3 いくつかの用語の説明
0.4 計算論的思考とはなにか
0.5 コンピューターを用いた課題解決の全過程
0.6 プログラミングの学習における注意事項
0.7 例題・課題とプログラミングの実践
0.8 ChatGPTの使い方
第1章 手続き型プログラミング入門
1.1 順次構造と順次処理,プログラムのフラット化
1.2 条件分岐構造と条件分岐処理
1.3 繰り返し構造と繰り返し処理
1.4 繰り返しと条件処理の組み合わせ
1.5 総合問題
第2章 構造化プログラミング
2.1 条件分岐処理と繰り返し処理
2.2 関数の自作とモジュール化
2.3 Matplotlibライブラリを使ってグラフを描く
2.4 情報量とは何か,平均情報量を導く
第3章 古代ギリシャの三賢人のアルゴリズム
3.1 はじめに
3.2 最大公約数を求めるユークリッドの互除法
3.3 円周率を求めるアルキメデスの方法
3.4 素数列を求めるエラトステネスの篩の方法
第4章 『博士の愛した数式』のプログラミング
4.1 素数の不思議
4.2 その他の数の不思議
第5章 多様なアルゴリズムとプログラミング
5.1 英文テキストの処理
5.2 シーザー暗号
5.3 アフィン暗号
5.4 数値計算
5.5 数式の後置記法への変換とスタック計算
5.6 ソート
5.7 貪欲法と動的計画法
5.8 解析結果のグラフ表現と線形化
第6章 シミュレーションのプログラミング
6.1 放射性核種の半減期をシミュレーションで求める
6.2 円周率を推計するビュフォンの針のシミュレーション
6.3 物体の放物運動をシミュレーションする
6.4 ロジスティック方程式のシミュレーション
6.5 ロジスティック写像のシミュレーション
第7章 オブジェクト指向プログラミング
7.1 クラスを自作し,モジュール化する
7.2 継承と多態性
7.3 クラスのオブジェクト同士の相互作用
第8章 タートルグラフィックスのOOP
8.1 はじめに
8.2 TG_POPとTG_OOP
8.3 TG_OOPにおけるイベント処理
8.4 TG_OOPでフラクタル図形を描く
第9章 GUIアプリ作成のOOP
9.1 GUIアプリの作成にTkinterを使う
9.2 GUIアプリの作成にPySimpleGUIを使う
付録 いくつかのプログラミングチップス