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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

1630閲覧

ValueError: matrices are not alignedへの対処方法

kouji_39

総合スコア164

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

0グッド

0クリップ

投稿2022/08/24 05:03

編集2022/08/24 10:56

1.前提・実現したいこと
「スモールデータ解析と機械学習(オーム社)」テキストで、異常検知の勉強中です。
テキストの235頁のコード6.8を実行しました。
コード実行後、2.発生している問題・エラーメッセージのようなエラーが出ます。
ご助言をお願いします。

2.発生している問題・エラーメッセージ(追加修正後)

ValueError Traceback (most recent call last)
<ipython-input-42-ec3691a6b60a> in <module>
4
5 # 管理限界の決定
----> 6 T2_train, Q_train = mspc_T2Q(train_data, meanX, stdX, U, S, V)
7 CL_T2_mspc, CL_Q_mspc = mspc_CL(T2, Q, alpha = 0.99)
8

2 frames
/usr/local/lib/python3.7/dist-packages/pandas/core/frame.py in dot(self, other)
1444 common = self.columns.union(other.index)
1445 if len(common) > len(self.columns) or len(common) > len(other.index):
-> 1446 raise ValueError("matrices are not aligned")
1447
1448 left = self.reindex(columns=common, copy=False)

ValueError: matrices are not aligned

3.該当のソースコード

python3

1## ------------------------6.8 ------------------------ 2# 正常データを用いたモデルの学習 3meanX, stdX, U, S, V = mspc_ref(train_data, numPC = 17) 4 5# 管理限界の決定 6T2_train, Q_train = mspc_T2Q(train_data, meanX, stdX, U, S, V) 7CL_T2_mspc, CL_Q_mspc = mspc_CL(T2, Q, alpha = 0.99) 8 9# 異常データのT2 統計量とQ 統計量の計算 10T2_mspc, Q_mspc = mspc_T2Q(faulty_data, meanX, stdX, U, S, V)

4.自分で調べたことや試したこと
・Google検索では、有効情報なし。

5.使っているツールのバージョンなど補足情報
開発環境:Google Colaboratory
プログラム言語:python3
OS:windows10 Home
CPU:Intel(R) Core(TM) i7-7500U CPU@2.70GHz 2.90GHz

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

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

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

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

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

can110

2022/08/24 05:19

提示されている限られた情報だけだと、その書籍を持っている人しか回答できないと思います。 - 第三者が実行、検証可能な完全なコード、データ - エラーメッセージは抜粋ではなく全体(Traceback) を提示すると回答得られやすくなると思います。
melian

2022/08/24 05:28

掲載されているソースコードは以下のページからダウンロード可能なのですが、 スモールデータ解析と機械学習 | Ohmsha https://www.ohmsha.co.jp/book/9784274227783/ > 本ファイルは、本書をお買い求めになった方のみご利用いただけます。本書をよくお読みのうえ、ご利用ください。 と書かれているので確認できませんね。。。
jbpb0

2022/08/24 08:05

https://teratail.com/questions/jc0i2gzuar0yoq にも書きましたが、ダウンロードしたコードを使った場合でも、同じエラーが出ますでしょうか? ダウンロードしたコードではエラーが出ないなら、質問者さんが実行したコードとダウンロードしたコードの相違点を調べてみてください
kouji_39

2022/08/24 09:29

返答が遅れましたが、ダウンロードしたコードを使った場合でも、同じエラーが出ます。 なお、ダウンロードしたコードは、全てpyファイルです。メインコードをipynbファイルに編集し、impotでのpyファイルはそのままメインコードと同フォルダて実行しています。
jbpb0

2022/08/24 09:38

can110さんも書いてますが、エラーメッセージは「Traceback」以降をできるだけ省略しないで(可能なら全部)記載してください (ここに書くのではなく、質問を編集して追記する) なお、省略しないと言っても、もちろんユーザー名等の個人情報は伏せ字でいいです
meg_

2022/08/24 10:27

> ダウンロードしたコードを使った場合でも、同じエラーが出ます。 質問者さんの実行環境やコードに全く問題がないのであれば出版社に問い合わせた方が良いかと思います。
jbpb0

2022/08/26 00:49 編集

私もその書籍を持ってるので、 https://www.ohmsha.co.jp/book/9784274227783/#anchor3 の「ダウンロード」からコードをダウンロードして調べましたけど、かなり間違いが多かったです 間違いのほとんどは書籍に記載のコードとの相違で、エラーが出た箇所のコードを書籍と比べて違う場合は、書籍のコードに合わせて修正したら、エラーのほとんどは直ります https://teratail.com/questions/jc0i2gzuar0yoq のエラーの原因も書籍のコードとの相違で、「'faultNumber '」の最後のスペースは書籍のコードにはありません この質問のエラーの原因も書籍のコードとの相違で、書籍234ページの「プログラム6.5」のコードが書籍と違うからです 【追記】 私が持ってる「スモールデータ解析と機械学習 第1版第3刷」では、234ページの「プログラム6.5」は、 https://books.google.co.jp/books?id=sdpeEAAAQBAJ&pg=PA234 や、ダウンロードしたファイルとは異なり、「pd.read_csv()」に「.values」が付いてます そこに「.values」を付ければ、この質問のエラーは出なくなります http://taustation.com/pandas-dataframe-get-information-and-contents/#values
kouji_39

2022/08/26 13:11

「pd.read_csv()」に「.values」が付いてます。 上記は、train_data = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/(該当ディレクトリ名)/normal_data.csv')と読み込んでから、train_data.valueとして扱うのでしょうか。
jbpb0

2022/08/27 03:29

train_data = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/(該当ディレクトリ名)/normal_data.csv').values のようにします (「.value」ではなく「.values」) 「faulty_data =...」も同様です 私が持ってる書籍に記載のコードではそうなってますし、そのように変更したらこの質問のエラーが出なくなることを当方のmacのpythonで確認済みです
kouji_39

2022/08/27 07:02

私が持ってる「スモールデータ解析と機械学習 第1版第2刷」なので、これから大型書店で第3版を見に行ってきます。jbpb0さんの方法でやってみても、プログラム6.8で「name 'T2' is not defined」と出ており、 もしかしたらmspc.pyやメインコードも修正が必要かもしれません。
kouji_39

2022/08/27 07:18

書店問合せだと、「スモールデータ解析と機械学習 第1版第2刷」が最新でした。残念!
jbpb0

2022/08/27 14:00 編集

> name 'T2' is not defined は > CL_T2_mspc, CL_Q_mspc = mspc_CL(T2, Q, alpha = 0.99) の行のエラーで、この質問とは関係ありません この質問のエラーが直って次の行に進んだため、新たなエラーが出たのです 私が持ってる書籍に記載のコードでは、その行は CL_T2_mspc, CL_Q_mspc = mspc_CL(T2_train, Q_train, alpha = 0.99) となってるので、そのように直したら > name 'T2' is not defined は出なくなります 書籍の先に進んだら、まだまだエラー出ますよ ダウンロードした「6-5.py」の最後までエラー出なくなるようにするには、下記ファイルを直しましたが、そのほとんどは書籍との相違点でした 6-5.py (10ヶ所くらい修正) mspc.py (3ヶ所修正) autoencorder.py (2ヶ所修正)
jbpb0

2022/08/27 14:12

私はamazonで購入しました ただし、今後amazonで購入したら、必ず「第1版第3刷」が届くのかは分かりません amazonの現状の在庫に「第1版第2刷」と「第1版第3刷」が混在してるかもしれませんし
kouji_39

2022/08/27 15:28

該当図書は、第5章の分類問題と不均衡データ問題が興味深くて購入しました。第5章は、コードミスを見つけながら一通り実施しました。しかし、学習結果が一致しなかったり、納得感が得られなかった状況です。現状では、正誤表も無く、自習向きではありませんね。
guest

回答1

0

ベストアンサー

書籍234ページの「プログラム6.5」を修正

 

python

1train_data = pd.read_csv('./normal_data.csv')

↓ 修正

python

1train_data = pd.read_csv('./normal_data.csv').values

 

python

1faulty_data = pd.read_csv('./idv1 _data.csv')

↓ 修正

python

1faulty_data = pd.read_csv('./idv1_data.csv').values

投稿2022/08/29 09:09

jbpb0

総合スコア7653

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問