ChevalierのLSTM Human Activity Recognitionアルゴリズムを複製しようとしましたが、自分のデータをCSV形式で実装しようとしたときに問題が発生しました。 gitで使用される形式はtxtでした。私のCSVデータは、次のフォーマットは次のとおりです。LSTMプロジェクトがCSV形式と互換性がありません
0.000995,8
0.020801,8
0.040977,8
0.060786,8
0.080970,8
... ...
元のファイルがhereを見つけることができます。 x値(時間)は列0(-80.060003など)にあり、y値(値)は列1(8,8など)にあります。私はパンダ
pandas.read_csv(DATASET_PATH + TRAIN + "data_train.csv", skiprows=1, header=None, sep=',', usecols=[0, 1])
を使用しようとしましたが、「データセットを準備する」セクション(そしておそらく他の人にも)内のデータのフォーマットと互換性があるように思えません:
TRAIN = "train/"
TEST = "test/"
# Load "X" (the neural network's training and testing inputs)
def load_X(X_signals_paths):
X_signals = []
for signal_type_path in X_signals_paths:
file = open(signal_type_path, 'r')
# Read dataset from disk, dealing with text files' syntax
X_signals.append(
[np.array(serie, dtype=np.float32) for serie in [
row.replace(' ', ' ').strip().split(' ') for row in file
]]
)
file.close()
return np.transpose(np.array(X_signals), (1, 2, 0))
X_train_signals_paths = [
DATASET_PATH + TRAIN + "Inertial Signals/" + signal + "train.txt" for signal in INPUT_SIGNAL_TYPES
]
X_test_signals_paths = [
DATASET_PATH + TEST + "Inertial Signals/" + signal + "test.txt" for signal in INPUT_SIGNAL_TYPES
]
X_train = load_X(X_train_signals_paths)
X_test = load_X(X_test_signals_paths)
# Load "y" (the neural network's training and testing outputs)
def load_y(y_path):
file = open(y_path, 'r')
# Read dataset from disk, dealing with text file's syntax
y_ = np.array(
[elem for elem in [
row.replace(' ', ' ').strip().split(' ') for row in file
]],
dtype=np.int32
)
file.close()
# Substract 1 to each output class for friendly 0-based indexing
return y_ - 1
y_train_path = DATASET_PATH + TRAIN + "y_train.txt"
y_test_path = DATASET_PATH + TEST + "y_test.txt"
y_train = load_y(y_train_path)
y_test = load_y(y_test_path)
これでした何がiPython3経由で私の実装で起こっている:
で[0]:
TRAIN = "train/"
TEST = "test/"
def load_X(X_signals_paths):
X_signals = []
for signal_type_path in X_signals_paths:
file = pandas.read_csv(DATASET_PATH + TRAIN + "data_train.csv", skiprows=1, header=None, sep=',', usecols=[0])
X_signals.append(
[np.array(serie, dtype=np.float32) for serie in [
str(row).replace(' ', ' ').strip().split(' ') for row in file
]]
)
return np.transpose(np.array(X_signals), (1, 2, 0))
_train_signals_paths = [
DATASET_PATH + TRAIN + signal + "train.csv" for signal in INPUT_SIGNAL_TYPES
]
X_test_signals_paths = [
DATASET_PATH + TEST + signal + "test.csv" for signal in INPUT_SIGNAL_TYPES
]
X_train = load_X(X_train_signals_paths)
X_test = load_X(X_test_signals_paths)
print(X_train, X_test)
アウト[0]:
[[[ 0.]]] [[[ 0.]]]
私はきちんとこのアルゴリズムとシームレスに動作するように私のデータをフォーマットするといくつかの助けを受けることができることを願っています。ご不明な点がございましたら、お知らせください。
エラーメッセージ – Paddy
@Paddy私の質問に何かを追加して助けてください –
あなたの提供するデータで 'pandas_read()'が動作します: '[892 rows x 2 columns]' – tripleee