8
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pythonによる機械学習入門

株式会社システム研究計画所, オーム社、2016
https://www.amazon.co.jp/dp/4274219631

課題1 anacondaの導入

anacondaの導入の説明がはしょりすぎてるかも。

Windows(MS)にPython(Anaconda)を導入する(5つの罠)https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

に書いた。何気なくWindowsでanacondaを導入すると、コマンドプロンプトではpythonは起動しない。

じゃ、Path切る方を選択すればいいかというと、System Cのソフトとか、CADとか、Simulatorとか、pythonをコマンドとして使っている多くのソフトのうち何かで不具合が出るかも。

注意喚起または警告なしの記述はまずいかも。

課題2 ダウンロード 

解凍_
https://www.ohmsha.co.jp/LinkClick.aspx?fileticket=JfuES6hEnVc%3d&tabid=104&mid=739&forcedownload=true

課題3 描画

Macintoshだと、凡例が切れたり、本と配置が違う場合があった。
原因解明と対策はこれから。
今回、下記に示した図は、本ではなく、WEBに掲載のプログラムを、
macOS 10.13.3

$ python
Python 3.6.0 |Anaconda 4.3.0 (x86_64)| (default, Dec 23 2016, 13:19:00) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)] on darwin

という環境で <(リダイレクト)で実行したものです。

課題4 章節、図表の表題の命名

「元データ」なんですか?これ。って思う人います。
図表は、本文を読んでいなくても、何と無くわかり、
あれ?って思うことが文章で説明してあるとよい。
必ずしも全部がわかる必要はない。
「元データ」では読む気がしない。

具体的なデータの種別を書くと、その分野に興味がない人が読まなくなるのを心配しているのかもしれない。
具体的なデータで説明すれば、個々のデータの固有性に言及できるかもしれない。
私なら後者を選ぶ。

「予測結果」って違和感。「予測例」ならまだしも。
ある論理の結末だから「結果」にしたいのだろう。その論理は一例。論理の正当性、妥当性を論書牛わわけではないんですだ「例」を推す。

課題5 図番号の振り方

図番号が飛んでいたり、図番号のない図があった。

第一部 導入編

ここからは実行結果の図です。
本そのままではない。
本そのままになる方法をこれから着手。
ご教示歓迎。

1.4.2 matplotlib

p.16 図番号なし図
py1.png

1.5.2 データの準備

図1ー10 元データ<なんのデータかを示した方が良くないですか> p.20
py2.png

右側の凡例が切れている。(Macintosh)

1.5.3 分類問題

図1-11 分類問題用データ(クラス分けと学習/テストデータ分け)p.20
py2a.png

1.5.4 回帰問題

図1-12 回帰の実行結果 p26
py2-2.png

1.5.5 クラスタリング

図 1-13 クラスタリングの実行結果 p.27
py2-2a.png

第3章

書籍に画像がない。図番号なし。

py3-4.png
py3-5-1.png
py3-5-2.png
py3-5-3.png
py3-5-4.png

第4章

4.2.2 線形回帰を試して見る

図4-3 y = 3x-2
py4-2-2-1.png

図の空白の大きさが違う(Macintosh)。

図4-4 バラつきのあるy=3x-2の予測結果<例>

py4-2-2-2.png
図 4-4 -3から3までの図。空白等の大きさ違い(Macintosh)。

4.2.4 y= ax^2 + bを求める

図4-5バラつきのあるy=3x^2 -2 の予測結果<例>
py4-2-4.png

4.2.5 重回帰を試してみる

図4-6 y=3x1-2x2+1 (左が縦y横x1)(右 縦y横x2)
py4-2-5-1.png
本だと横長なのに、縦長になっている(Macintosh)。

図4-7 y=3x1-2x2+1の予測結果<例>
(左が縦y横x1)(右 縦y横x2)
py4-5-2.png

4.3 機械学習における鬼門 過学習

図4-10バラつきのあるy=4x^3+3x^2-1
p.87
py4-3.png
本だと上段にall, 下段にtrainとtest

図4-11 最小自乗法による学習結果
p.88
py4-4.png
図 4-12最小自乗法によるテスト結果
py4-5-0.png
図 4-13
py4-5-1.png
図 4-14
4-5-2-ran.png
図 4-15
py4-5-3.png

第5章

図5-1 散布図の例<散布図:花弁(petal)の幅(width)と長さ(length)の例>

fig5-1.png

図5-2 k-meansの実行の様子<萼(がく:sepal)の幅(width)と花弁(petal)の長さ(length)>初期状態/クラスタ形成前

fig5-2.png
##図5-2 k-meansの実行の様子<萼(がく:sepal)の幅(width)と花弁(petal)の長さ(length)>1回目/最初のクラスタ
fig5-2-1.png

図5-2 k-meansの実行の様子<萼(がく:sepal)の幅(width)と花弁(petal)の長さ(length)>2回目

fig-5-2-2.png

図5-2 k-meansの実行の様子<萼(がく:sepal)の幅(width)と花弁(petal)の長さ(length)>3回目/ほぼ変化なし

fig5-2-3.png
fig5-2-4.png

図5-3 花弁の長さと幅によるクラスタリング結果の散布図

fig5-3.png

図5-4 クラスタリングの結果<萼の幅と長さ>

fig5-4.png
図 5-4画面で縦に切れたので「小さく」表示したら文字がはみ出た(Macintosh)。
横長の図が正方形になっている。下の見出しが右に、左の見出しが下にある。

図5-6 k-meansとAgglomerativeClustering(ウォード法)<花弁の長さと幅>

fig5-6.png

図5-6 k-meansとAgglomerativeClustering(ウォード法)<花弁の長さと幅>

fig5-6k.png

図5-7 k-meansとAffinityPropagationの結果<花弁の長さと幅>

fig5-7.png

Appendix

$ python < get_data.py
<stdin>:253: MatplotlibDeprecationWarning: pyplot.hold is deprecated.
    Future behavior will be consistent with the long-time default:
    plot commands add elements without first clearing the
    Axes and/or Figure.
/Users/administrator/.pyenv/versions/anaconda3-4.3.0/lib/python3.6/site-packages/matplotlib/__init__.py:917: UserWarning: axes.hold is deprecated. Please remove it from your matplotlibrc and/or style files.
  warnings.warn(self.msg_depr_set % key)
/Users/administrator/.pyenv/versions/anaconda3-4.3.0/lib/python3.6/site-packages/matplotlib/rcsetup.py:152: UserWarning: axes.hold is deprecated, will be removed in 3.0
  warnings.warn("axes.hold is deprecated, will be removed in 3.0")

---
python linear_regression_analytic_solution.py 
Traceback (most recent call last):
  File "linear_regression_analytic_solution.py", line 75, in <module>
    main()
  File "linear_regression_analytic_solution.py", line 35, in main
    dimension, nonlinear, num_of_samples, noise_amplitude
  File "/Users/administrator/Downloads/examples-2/App_A/get_data.py", line 186, in get_all
    train = perm_indices[:N/2]  # 整数演算なので切り下げ
TypeError: slice indices must be integers or None or have an __index__ method
---
python linear_regression_iterative_solution.py 
Traceback (most recent call last):
  File "linear_regression_iterative_solution.py", line 144, in <module>
    main()
  File "linear_regression_iterative_solution.py", line 94, in main
    return_coefficient_matrix=False
  File "/Users/administrator/Downloads/examples-2/App_A/get_data.py", line 186, in get_all
    train = perm_indices[:N/2]  # 整数演算なので切り下げ
TypeError: slice indices must be integers or None or have an __index__ method
---
python neural_network.py 
Traceback (most recent call last):
  File "neural_network.py", line 236, in <module>
    main()
  File "neural_network.py", line 188, in main
    return_coefficient_matrix=False
  File "/Users/administrator/Downloads/examples-2/App_A/get_data.py", line 186, in get_all
    train = perm_indices[:N/2]  # 整数演算なので切り下げ
TypeError: slice indices must be integers or None or have an __index__ method

一覧

物理記事 上位100
https://qiita.com/kaizen_nagoya/items/66e90fe31fbe3facc6ff

量子(0) 計算機, 量子力学
https://qiita.com/kaizen_nagoya/items/1cd954cb0eed92879fd4

数学関連記事100
https://qiita.com/kaizen_nagoya/items/d8dadb49a6397e854c6d

統計(0)一覧
https://qiita.com/kaizen_nagoya/items/80d3b221807e53e88aba

言語・文学記事 100
https://qiita.com/kaizen_nagoya/items/42d58d5ef7fb53c407d6

医工連携関連記事一覧
https://qiita.com/kaizen_nagoya/items/6ab51c12ba51bc260a82

自動車 記事 100
https://qiita.com/kaizen_nagoya/items/f7f0b9ab36569ad409c5

通信記事100
https://qiita.com/kaizen_nagoya/items/1d67de5e1cd207b05ef7

日本語(0)一欄
https://qiita.com/kaizen_nagoya/items/7498dcfa3a9ba7fd1e68

英語(0) 一覧
https://qiita.com/kaizen_nagoya/items/680e3f5cbf9430486c7d

転職(0)一覧
https://qiita.com/kaizen_nagoya/items/f77520d378d33451d6fe

仮説(0)一覧
https://qiita.com/kaizen_nagoya/items/f000506fe1837b3590df

Qiita(0)Qiita関連記事一覧(自分)
https://qiita.com/kaizen_nagoya/items/58db5fbf036b28e9dfa6

鉄道(0)鉄道のシステム考察はてっちゃんがてつだってくれる
https://qiita.com/kaizen_nagoya/items/26bda595f341a27901a0

安全(0)安全工学シンポジウムに向けて: 21
https://qiita.com/kaizen_nagoya/items/c5d78f3def8195cb2409

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

Ethernet 記事一覧 Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48)
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網(Wi-Fi)空中線(antenna)(0) 記事一覧
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

OSEK OS設計の基礎 OSEK(100)
https://qiita.com/kaizen_nagoya/items/7528a22a14242d2d58a3

Error一覧 error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

++ Support(0) 
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding(0) Rules, C, Secure, MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

プログラマによる、プログラマのための、統計(0)と確率のプログラミングとその後
https://qiita.com/kaizen_nagoya/items/6e9897eb641268766909

官公庁・学校・公的団体(NPOを含む)システムの課題、官(0)
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

「はじめての」シリーズ  ベクタージャパン 
https://qiita.com/kaizen_nagoya/items/2e41634f6e21a3cf74eb

AUTOSAR(0)Qiita記事一覧, OSEK(75)
https://qiita.com/kaizen_nagoya/items/89c07961b59a8754c869

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

LaTeX(0) 一覧 
https://qiita.com/kaizen_nagoya/items/e3f7dafacab58c499792

自動制御、制御工学一覧(0)
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧 
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

小川清最終講義、最終講義(再)計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.

文書履歴

ver. 0.10 初稿 20180322
ver. 0.20 図の増強 20180330
ver. 0.21 図の見出し追加 20180402
ver. 0.22 書式訂正 20180801

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

8
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?