質問: 0: plt.scatter(users_r[i, 0], users_r[i, 1], c='red') plt.xlabel('pc1') plt.ylabel('pc2') plt.show() ``` ### やりたいこと csvファイルbb1.csvとは別にbb2.csvなるものを読み込み。 まとめてPCAをかけてbb1.csvの出力を青色でプロット、bb2.csvの出力を赤色でプロットするようなグラフを作成するコードを作りたいです。 どのようなコードを追加すれば希望の出力を得ることができるでしょうか? またcsvの編集は必要でしょうか? ### 補足 bb1.csvには危険状態の80×40ピクセルの写真2000枚を配列化し、1画像データごとに1列に並べたものをcsvに格納しています。 bb2.csvには安全状態の写真2000枚のデータをbb1と同じ加工をしたものを格納しています。 これらのデータのPCAを行うのは分類のためというより、危険と安全では違った特徴量を持っているのではないかと仮定し、どのような特徴量を持っているか観る為にPCAを行います。
回答: すでに「危険」「安全」とカテゴライズ済みのデータについて、2つのカテゴリ間の比較をしようという話と受け取りました。であれば、magichanさんからも指摘がありますが、ここでKMeansが登場する必要性は感じられません。 scatterのcオプションで要素ごとの色を指定してやれば良いだけのはずです。 下のような雰囲気で。 ``` # usersにはbb1,bb2の全データを入れておく。 users_r = pca.fit_transform(users) # 前半2000(bb1からのデータ)と後半2000(bb2からのデータ)にそれぞれ色コードを割り当て ccode = [1]*2000 + [2]*2000 plt.scatter(users_r[:, 0], users_r[:, 1], c=ccode) ```