質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2534閲覧

手書きの数字を認識するようなプログラムが上手く実行されません

Dapan

総合スコア13

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/02/18 05:22

編集2019/02/18 05:52

ロジスティクス回帰による機械学習プログラミングについて

Pythonで、『わかるPython』という本を参考に手書きの数字を認識するようなプログラミングを作っています。
プログラムを実行した際に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

TimeoutError: [WinError 10060] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした 。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。

該当のソースコード

Python

1from sklearn import datasets, externals, linear_model, model_selection 2import time 3 4print('MNISTの取得:', end='', flush=True) 5mnist = datasets.fetch_mldata('MNIST original', data_home='.') 6data, label = mnist.data, mnist.target 7print('完了') 8 9TRAIN_SIZE = 600 10TEST_SIZE = 100 11 12t = model_selection.train_test_split( 13 data, label, train_size=TRAIN_SIZE, test_size=TEST_SIZE) 14train_data, test_data, train_label, test_label = t 15print('訓練データ:', train_data.shape) 16print('テストデータ:', test_data.shape) 17 18print('学習:', end='', flush=True) 19old = time.time() 20model = linear_model.LogisticRegression().fit(train_data, train_label) 21print(time.time()-old, '秒') 22 23externals.joblib.dump(model, "lr.model") 24 25print('テスト結果:') 26predict = model.predict(test_data) 27count = [[0 for i in range(10)] for j in range(10)] 28for i in range(TEST_SIZE): 29 count[int(predict[i])][int(test_label[i])] += 1 30print('正解 ', end='') 31for i in range(10): 32 print(' [{0}]'.format(i), end='') 33print() 34for i in range(10): 35 print('予測[{0}]'.format(i), end='') 36 for j in range(10): 37 print('{0:6d}'.format(count[i][j]), end='') 38 print() 39 40print('正解率:', model.score(test_data, test_label)*100, '%')

試したこと

tensorflowを利用して同様のプログラムを実行してみましたが、numpyに問題があるというようなメッセージが表示され問題が解決しませんでした。

まだ、プログラミング初心者ということもあり説明不足な所もあると思いますが、お力を貸していただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

azuapricot

2019/02/18 05:26

コードはマークダウンボタン (<code>ってやつです)を押したらでてくる ```ここに言語を入力 コード ``` ↑の枠の中のコードという文言を消して貼りつけてください。 「ここに言語を入力」という文字を消してPythonと記述してください
Dapan

2019/02/18 05:32

わかりました、訂正しておきます。
stdio

2019/02/18 05:36

ところどころに出てくるprintはどこまで表示されてますか?
azuapricot

2019/02/18 05:47

あの、訂正できていません。 マークダウンボタンおしました?<code>ってボタンありませんか? 私のコメントの通り記載していただければ使えるはずなんですが・・・
Dapan

2019/02/18 05:47

MNISTの取得だけ表示されている状態です。
Dapan

2019/02/18 05:53

ご指摘ありがとうございます。どうやら「’’’」の部分まで消してしまっていたようです。
guest

回答1

0

ベストアンサー

mldata.org is down (for good?) #8588によるとダウンロード元サイトがダウンしている(もう存在しない?)ためデータのダウンロードは自力で行う必要があるようです。

  1. mnist-original.matをダウンロードする。
  2. カレントフォルダにmldataフォルダを作成しmnist-original.matを配置する

すると、以下コードで完了まで到達します。
参考:PyTorchで始める深層学習 でハマった

Python

1from sklearn import datasets, externals, linear_model, model_selection 2import time 3 4print('MNISTの取得:', end='', flush=True) 5mnist = datasets.fetch_mldata('MNIST original', data_home='.') 6data, label = mnist.data, mnist.target 7print('完了') 8# 以下略

投稿2019/02/18 05:55

編集2019/02/18 05:56
can110

総合スコア38258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Dapan

2019/02/18 06:03

ありがとうございます!無事結果が表示されました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問