アフィリエイト広告を利用しています

はじめに | サイトマップ | プライバシーポリシー・サイトポリシー・免責事項など | 【レビュー】Parallels Desktop 15 for Mac 




広告

posted by fanblog

2018年08月18日

Pythonで機械学習・人工知能(AI)プログラミング入門 | 数字の画像認識(anaconda - Jupyterノートブック版)











キーワード
Python AIプログラミング サンプルコード



2019年から第3次人工知能ブームのきっかけとなったディープラーニング(深層学習)に関するコンテンツも作成中です。

【コード解説】畳み込みニューラルネットワーク(CNN)サンプルコード - Colaboratory・Keras・MNIST by 子供プログラマー:日本人のための人工知能プログラマー入門講座(機械学習)

のページをご活用ください。無料で使えるGoogle Colaboratoryのジュピターノートブックで、すぐに使えるサンプルコードや、印刷用PDFなども公開中です。



【anaconda - Jupyterノートブック版】
Pythonで機械学習・人工知能(AI)プログラミング入門
数字の画像認識(一覧)


Pythonで機械学習・人工知能(AI)プログラミング入門 | 数字の画像認識.png



1.scikit-learnの学習データの読み込み・表示


2.scikit-learnの数値データの画像化(1つ版)


3.scikit-learnの数値データの画像化(複数版)


4.scikit-learnで数字予測AIプログラミング(画像ファイル)


5.scikit-learnで数字予測AIアプリ開発(画像ファイル版) New♪:2018年8月18日



Pythonで機械学習・人工知能(AI)プログラミング入門
scikit-learn SVM 学習データの確認〜画像認識(数値予測)編(動画)




Python3の開発環境は、macOS・Windows・Linux対応で、無料で使える「 Anaconda 」(アナコンダ)というディストリビューション(パッケージ)を利用し、統合開発環境(IDE:Integrated Development Environment)「 Jupyter notebook 」(ジュピターノートブック)を使って、Python3プログラミングを実行しています。

* 「 Anaconda 」を開いたところから、
  「 Jupyter notebook 」でPuthon3の環境を
   構築する方法わからない方は、 
  :1.scikit-learnの学習データの読み込み・表示 | Python3のサンプルコード
   の動画を視聴ください。


scikit-learn(サイキットラーン:sklearn)の数値(数字)の学習データの読み込みから、手書き文字の数字の画像認識のAIアプリ作成までをまとめておこうと思います。
一連の内容が、これからPythonで機械学習(Machine Learning)にチャレンジしてみたい人工知能プログラミング初学者の方の参考になることがありましたら幸いです。






人工知能・機械学習・ディープラーニング関連の専門書を学ぶ中で、数学の理論解説で、ギリシャ文字や数式の知識がわからない方もいるのではないかと思います。数学の入門コンテンツも作成していこうと思いますので、関心のある方は、ご活用いただけると幸いです。

人工知能(AI)・機械学習プログラミング入門者のための数学入門講座(一覧へ) 

















                 ▲ この記事のトップへ

















1.scikit-learnの学習データの読み込み・表示
(Python3のサンプルコード)


scikit-learnの学習データの読み込み・表示
Pythonで機械学習・人工知能(AI)プログラミング入門
anaconda - Jupyterノートブック版(動画)



視聴時間:1分45秒


▼▼▼ サンプルコード - はじめ ▼▼▼

import sklearn.datasets

suuji = sklearn.datasets.load_digits()

print("sklearnのデータセットのデータの個数は「",len(suuji.images),"」です。")
print("sklearnのデータセットの1つ目の画像データを表示します。\n",suuji.images[0],"\n画像データの数字をこのように表現しています。")
print("sklearnのデータセットの1つ目は「",suuji.target[0],"」です。")


▲▲▲ サンプルコード - おわり ▲▲▲


* Pythonのバージョンは3系です。

* 「 suuji
  という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 

* 「 \n 」(改行)は、
  Macの場合「 option 」キー + 「 」キーで
  「 \ 」(バックスラッシュ)が入力できます。
  Windowsの場合は、「 ¥n 」(半角英数で入力)で
  改行できるのではないかと思います。

* 日本語文字入力のレイアウトは、動画を参考にしてみてください。





上記のサンプルコードの入力が難しい方は、以下のサンプルコードも試してみてください。

▼▼▼ 簡易版サンプルコード - はじめ ▼▼▼

import sklearn.datasets

suuji = sklearn.datasets.load_digits()

print("データの数=",len(suuji.images))
print("画像のデータ=",suuji.images[0])
print("数字=",suuji.target[0])


▲▲▲ 簡易版サンプルコード - おわり ▲▲▲


* Pythonのバージョンは3系です。

* 「 suuji
  という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 








Pythonで機械学習・AIプログラミング入門 | 数字の画像認識(一覧へ)


















2.scikit-learnの数値データの画像化(1つ版)
(Python3のサンプルコード)


scikit-learnの数値データの画像化(1つ版)
Pythonで機械学習・人工知能(AI)プログラミング入門
anaconda - Jupyterノートブック版(動画)



視聴時間:2分52秒


▼▼▼ サンプルコード - はじめ ▼▼▼

import sklearn.datasets
import matplotlib.pyplot as plt

suuji = sklearn.datasets.load_digits()

plt.imshow(suuji.images[0], cmap="Greys")
plt.show()


▲▲▲ サンプルコード - おわり ▲▲▲



* Pythonのバージョンは3系です。

* 「 suuji
  という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 








Pythonで機械学習・AIプログラミング入門 | 数字の画像認識(一覧へ)









3.scikit-learnの数値データの画像化(複数版)
(Python3のサンプルコード)


【複数版】scikit-learnの数値データの画像化
Pythonで機械学習・人工知能(AI)プログラミング入門
anaconda - Jupyterノートブック版(動画)



視聴時間:2分31秒


▼▼▼ サンプルコード1 - はじめ ▼▼▼

import sklearn.datasets
import matplotlib.pyplot as plt

suuji = sklearn.datasets.load_digits()

for i in range(30):
 plt.subplot(3, 10, i + 1)
 plt.title(suuji.target[i])
 plt.imshow(suuji.images[i], cmap="gray")
plt.show()


▲▲▲ サンプルコード1 - おわり ▲▲▲


* Pythonのバージョンは3系です。

* 「 suuji
  という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 

* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

plt.subplot(3, 10, i + 1)
plt.title(suuji.target[i])
plt.imshow(suuji.images[i], cmap="gray")


  のコード記述の、「 plt 」のインデントを
  お好みの「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)

  Pythonのコード記述では、インデントが重要な意味を持つようですね。







▼▼▼ サンプルコード2 - はじめ ▼▼▼

import sklearn.datasets
import matplotlib.pyplot as plt

suuji = sklearn.datasets.load_digits()

for i in range(30):
 plt.subplot(3, 10, i + 1)
 plt.title(suuji.target[i])
 plt.axis("off")
 plt.imshow(suuji.images[i], cmap="gray")
plt.show()


▲▲▲ サンプルコード2 - おわり ▲▲▲


* Pythonのバージョンは3系です。

* 「 suuji
  という名前の変数を作成しています。
  変数名は自分でわかりやすいように名前をつけてみてください。 

* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

plt.subplot(3, 10, i + 1)
plt.title(suuji.target[i])
plt.axis("off")
plt.imshow(suuji.images[i], cmap="gray")


  のコード記述の、「 plt 」のインデントを
  お好みの「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)

  Pythonのコード記述では、インデントが重要な意味を持つようですね。








Pythonで機械学習・AIプログラミング入門 | 数字の画像認識(一覧へ)






















4.scikit-learnで数字予測AIプログラミング(画像ファイル)
(Python3のサンプルコード)


【画像認識】scikit-learnで数字予測AIプログラミング
Pythonで機械学習・人工知能(AI)プログラミング入門(動画)



視聴時間:5分19秒


▼▼▼ サンプルコード - はじめ ▼▼▼

import sklearn.datasets
import sklearn.svm
import numpy
import PIL.Image

def gazouWoSuutini(filename):
 gazou = PIL.Image.open(filename).convert("L")
 gazou = gazou.resize((8,8),PIL.Image.ANTIALIAS)
 suuti = numpy.asarray(gazou, dtype = float)
 suuti = numpy.floor(16 - 16 * (suuti / 256))
 suuti = suuti.flatten()

 return suuti


def yosoku(data):

 suuji = sklearn.datasets.load_digits()
 ai = sklearn.svm.SVC(gamma = 0.001)
 ai.fit(suuji.data, suuji.target)
 n = ai.predict([data])
 print("画像認識AIによる、手書き文字認識の予測結果は",n,"です。")

data = gazouWoSuutini("0.png")

yosoku(data)


▲▲▲ サンプルコード - おわり ▲▲▲


* Pythonのバージョンは3系です。

* 「 gazouWoSuutini 」「 gazou 」「 suuti
 「 yosoku 」「 ai 」「 n
  などは、お好みに応じて自分でわかりやすいように名前をつけてみてください。 

* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

gazou = PIL.Image.open(filename).convert("L")
gazou = gazou.resize((8,8),PIL.Image.ANTIALIAS)
suuti = numpy.asarray(gazou, dtype = float)
suuti = numpy.floor(16 - 16 * (suuti / 256))
suuti = suuti.flatten()

return suuti



suuji = sklearn.datasets.load_digits()
ai = sklearn.svm.SVC(gamma = 0.001)
ai.fit(suuji.data, suuji.target)
n = ai.predict([data])
print("画像認識AIによる、手書き文字認識の予測結果は",n,"です。")


  のコード記述のインデントを
  「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)

  Pythonのコード記述では、インデントが重要な意味を持つようですね。




サンプル画像(文字認識用)

右クリックなどで保存を選択


数字の0
0.png



数字の1
1.png



数字の2
2.png



数字の3
3.png



数字の4
4.png



数字の5
5.png



数字の6
6.png



数字の7
7.png



数字の8
8.png



数字の9
9.png










Pythonで機械学習・AIプログラミング入門 | 数字の画像認識(一覧へ)































5.scikit-learnで数字予測AIアプリ開発(画像ファイル版)
(Python3のサンプルコード)


【画像認識アプリ】scikit-learnで数字予測AIアプリ開発
Pythonで機械学習・人工知能(AI)プログラミング入門(動画)


視聴時間:3分9秒


▼▼▼ サンプルコード - はじめ ▼▼▼

import sklearn.datasets
import sklearn.svm
import numpy
import tkinter as tk
import tkinter.filedialog as fd
import PIL.Image
import PIL.ImageTk

def gazouWoSuutini(filename):
 gazou = PIL.Image.open(filename).convert("L")
 gazou = gazou.resize((8,8),PIL.Image.ANTIALIAS)
 ninshikiWoHyouji = PIL.ImageTk.PhotoImage(gazou.resize((300,300)))
 imageLabel.configure(image = ninshikiWoHyouji)
 imageLabel.image = ninshikiWoHyouji
 suuti = numpy.asarray(gazou, dtype = float)
 suuti = numpy.floor(16 - 16 * (suuti / 256))
 suuti = suuti.flatten()

 return suuti

def yosoku(data):

 suuji = sklearn.datasets.load_digits()
 ai = sklearn.svm.SVC(gamma = 0.001)
 ai.fit(suuji.data, suuji.target)
 n = ai.predict([data])
 textLabel.configure(text = "┃Ο ν Ο┃ノ:手書き文字の予測結果は・・・" + str(n) + "です。")

def gazouWoHiraku():
 fpath = fd.askopenfilename()
 if fpath:
  data = gazouWoSuutini(fpath)
  yosoku(data)

root = tk.Tk()
root.geometry("900x500")
textLabel = tk.Label(text="┃Ο _ Ο┃>画像認識AIです♪\n\n画像認識する数字のファイルを選択して下さい。", font=("",30))
textLabel.pack()

imageLabel = tk.Label()
btn = tk.Button(root, text="手書き数字のファイルを選択します", font=("",20) ,command = gazouWoHiraku)
imageLabel.pack()
btn.pack()

tk.mainloop()


▲▲▲ サンプルコード - おわり ▲▲▲


* Pythonのバージョンは3系です。

* 「 gazouWoSuutini 」「 gazou 」「 suuti
 「 yosoku 」「 ninshikiWoHyouji 」「 ai 」「 n
  などは、お好みに応じて自分でわかりやすいように名前をつけてみてください。 

* 「 \n 」(改行)は、
  Macの場合「 option 」キー + 「 」キーで
  「 \ 」(バックスラッシュ)が入力できます。
  Windowsの場合は、「 ¥n 」(半角英数で入力)で
  改行できるのではないかと思います。

* 手入力で上記のコードを入力する場合、
  エディタによっては自動インデント(行頭の空白文字の数のこと)
  してくれると思います。

  ただし、上記コードをコピー&ペーストして実行する場合、

gazou = PIL.Image.open(filename).convert("L")
gazou = gazou.resize((8,8),PIL.Image.ANTIALIAS)
ninshikiWoHyouji = PIL.ImageTk.PhotoImage(gazou.resize((300,300)))
imageLabel.configure(image = ninshikiWoHyouji)
imageLabel.image = ninshikiWoHyouji
suuti = numpy.asarray(gazou, dtype = float)
suuti = numpy.floor(16 - 16 * (suuti / 256))
suuti = suuti.flatten()

return suuti



suuji = sklearn.datasets.load_digits()
ai = sklearn.svm.SVC(gamma = 0.001)
ai.fit(suuji.data, suuji.target)
n = ai.predict([data])
textLabel.configure(text = "┃Ο ν Ο┃ノ:手書き文字の予測結果は・・・" + str(n) + "です。")




fpath = fd.askopenfilename()
if fpath:
data = gazouWoSuutini(fpath)
yosoku(data)



  のコード記述のインデントを
  「 半角英数でのスペースキー数 」や、
  「 tabキー 」を使用してインデントを新たに作成していただく
  必要があるのではないかと思います。
 (Web上での表示の兼ね合いで、「 全角でのスペース 」でインデントを表現したため。)

  Pythonのコード記述では、インデントが重要な意味を持つようですね。




サンプル画像(文字認識用)

右クリックなどで保存を選択


数字の0
0.png



数字の1
1.png



数字の2
2.png



数字の3
3.png



数字の4
4.png



数字の5
5.png



数字の6
6.png



数字の7
7.png



数字の8
8.png



数字の9
9.png










Pythonで機械学習・AIプログラミング入門 | 数字の画像認識(一覧へ)





















             by はじめてのコンピュータ・パソコン










AI(人工知能・無能)エンジニア・プログラマー養成講座(一覧ページへ) 



あの「機械学習関連講座」が着々と実績を積み上げ中!! | #442 デジタルライフコラム 








                 ▲ 記事ページのトップへ











右向き三角1サイトマップ


右向き三角1プロフィール | サイトポリシー・免責事項など


右向き三角1CONTENTS(コンテンツ)一覧


右向き三角1独学プログラマーのためのAI(人工知能・無能)プログラム入門講座(一覧)







Parallels Desktop 18 for Mac クーポン情報




MacでWindowsを使えるソフトウェア【Parallels】

Parallels Desktop for Macをレビュー中。
【レビュー】Parallels Desktop 15 for Mac(一覧へ) 


Parallels Desktop 15 for Mac以降のレビューなど
子供プログラマーのサイトにリンクします。
【長期レビュー】Parallels Desktop for Macの感想(一覧)

子供プログラマーのサイトにリンクします。
【クーポン情報 - 10% OFF】Parallels Desktop 18 for Mac(2023年7月25日〜2023年8月8日まで) New♪
サイト内検索


おすすめ入門講座・特集コンテンツ
このサイトで作成している入門講座や、特集関連などのおすすめコンテンツです。お気に入りの講座コンテンツや、気になる特集探しなどにお役立てください 
  1. 1. 【Mac版】データ復元・復旧SOS講座(一覧)
  2. 2. no img パソコン便利機能関連記事(一覧) | エクセル・ワード・パワーポイント
  3. 3. Pythonで機械学習・人工知能(AI)プログラミング入門 | 数字の画像認識(anaconda - Jupyterノートブック版)
  4. 4. no img 人工知能(AI)・機械学習プログラミング入門者のための数学入門講座
  5. 5. 独学プログラマーのためのAI(人工知能・無能)プログラム入門講座
  6. 6. Macでアフィリエイトのやり方・始め方入門講座
  7. 7. Xcode(Mac)で覚えるSwiftプログラミング入門講座(一覧)
  8. 8. デジタルライフコラム(Column)
  9. 9. パソコンでイラスト作成入門講座 | 基礎から求人探しまで
最新記事


サイトポリシー・免責
HajimeteCPCさんの画像
HajimeteCPC
子供プログラマー | プログラミング入門ウェブ教室


子供プログラマー | プログラミング入門ウェブ教室_イメージ.png

子供と一緒にプログラミングを楽しむために、大人がプログラミングを学ぶための学習支援サイトです。

こちらの記事ページもご活用ください。
日本人のための人工知能プログラマー入門講座(機械学習)

メニュー | はじめてのコンピュータ・パソコン


・ サイトマップ

・ プライバシーポリシー・サイトポリシー・免責事項など

・ はじめに

・ トップページ

・ CONTENTS(コンテンツ)一覧

・ 年賀状をパソコンで自宅で作ろう講座

・ エクセル・ワード・パワーポイントの使い方入門

・ 独学プログラマーのためのAI(人工知能・無能)プログラム入門講座

・ Xcode(Mac)で覚えるC言語入門講座

・ Xcode(Mac)で覚えるSwiftプログラミング入門講座

・ Mac関連

・ コンピュータ・プログラミング書籍関連 | まとめ・書評など(一覧)

・ パソコンでイラスト作成入門講座

・ アフィリエイトのやり方・始め方入門講座 

・ SEO・レンタルサーバー入門講座

・ 確定申告・会計 特集 

・ デジタルライフコラム

・ エンジニア求人探し



[ スポンサードリンク ]



タグクラウド




QRコード
<< 2023年07月 >>
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
月別アーカイブ
You Tubeチャンネルぺージ


RehabC | イメージ.png
You Tubeのチャンネルもあります。
エクセル、ワード、パワーポイントなどの
基本的な操作方法の学習や、
プログラミングやイラスト作成をはじめとした、
パソコン学習の補助などにご活用ください。
よろしくお願いいたします。

×

この広告は30日以上新しい記事の更新がないブログに表示されております。