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

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

新規登録して質問してみよう
ただいま回答率
85.35%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

1008閲覧

どの数値を変えればいいのかわかりません。

KR13

総合スコア2

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2021/12/27 10:50

###データの整形

ここに質問の内容を詳しく書いてください。

https://qiita.com/eycjur/items/85baee1c397b74c3b6bd#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB を参考にして

googlecolaboratoryでconvLSTMを用いた画像予測を行っています。
読み込んだ画像データを整形する時に以下のエラーが出ました。

発生している問題

ValueError: With n_samples=0, test_size=0.3 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters

該当のソースコード

import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns from sklearn.model_selection import train_test_split import glob from PIL import Image from tqdm import tqdm import zipfile import io # 縮小後の画像サイズ height = 100 width = 180 # 読み込んだ画像を入れる配列 imgs=np.empty((0, height, width, 3)) # zipファイルを読み込んでnumpy配列にする zip_f = zipfile.ZipFile('drive/My Drive/Colab Notebooks/convLSTM/wide.zip') for name in tqdm(zip_f.namelist()): with zip_f.open(name) as file: path = io.BytesIO(file.read()) #解凍 img = Image.open(path) img = img.resize((width, height)) img_np = np.array(img).reshape(1, height, width, 3) imgs = np.append(imgs, img_np, axis=0) # 時系列で学習できる形式に整える n_seq = 5 n_sample = imgs.shape[0] - n_seq x = np.zeros((n_sample, n_seq, height, width, 3)) y = np.zeros((n_sample, height, width, 3)) for i in range(n_sample): x[i] = imgs[i:i+n_seq] y[i] = imgs[i+n_seq] x, y = (x-128)/128, (y-128)/128 x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.1, shuffle = False)  ←で止められてしまいます。

試したこと

エラーメッセージを英訳したところ、「前述のパラメータのいずれかを調整します」と出てきたのですが、どの数値をいじればいいのかわかりません。よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

guest

回答1

0

ベストアンサー

resultがemptyになるってことは機械学習させる時のデータが足りないからだと思われるので、普通にtest_sizeかtrain_sizeを大きくすればいいと思います。

# 時系列で学習できる形式に整える n_seq = 5 n_sample = imgs.shape[0] - n_seq

個人的に気になるのがn_sampleが0になっていることなのですが、これで問題ありませんか?

参考

投稿2021/12/27 12:19

ASOBU_dev

総合スコア103

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

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

KR13

2021/12/27 13:42

テストデータの数を増やしたらいけましたありがとうございます
ASOBU_dev

2021/12/28 04:58

解決して良かったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問