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

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

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

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

Q&A

解決済

1回答

553閲覧

固有顔の画像データ前処理のコードで分からない部分がありました。

tku00779

総合スコア6

Python

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

0グッド

0クリップ

投稿2022/08/12 21:36

質問

書籍に記載されている固有顔の画像データの前処理部分で分からないところがありました。
人ごとの画像数の偏りを減らすために各々の画像を50に制限するためのコードなのですが、np.where(people.target == target)[0][:50]で各人の画像データが存在するインデックス番号を一人目から順番に全て抽出していっているというところまで分かりました。しかし、そのデータに一行目で作ったmaskを被せて中身のデータを全てfalseに変え、さらに最後を= 1にしているのはなぜですか?どういう意味があるのでしょうか。

該当のソースコード

Python

1mask = np.zeros(people.target.shape, dtype=np.bool) 2for target in np.unique(people.target): 3 mask[np.where(people.target == target)[0][:50]] = 1 4 5X_people = people.data[mask] 6y_people = people.target[mask] 7 8# scale the grey-scale values to be between 0 and 1 9# instead of 0 and 255 for better numeric stability: 10X_people = X_people / 255.

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

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

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

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

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

meg_

2022/08/12 22:25

> 書籍に記載されている 書籍名は何でしょうか?
guest

回答1

0

ベストアンサー

そうじゃなくて、中身が全部0のmask配列を作り(np.zeros)、抽出する50個分のインデックスだけ1に変えてmask配列の中で1になってるインデックスの分だけ使いますよという形にしているのでは?

投稿2022/08/13 00:15

RiaFeed

総合スコア2703

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問