python

しょっちゅう忘れることを書いておく。

33

269 views

PCA分析サンプルコード

util.py

# coding:UTF-8
import csv


def read_csv(filename):
    """
    CSVファイル読み込み
    :param filename:
    :return: CSVのレコード
    """
    record = []
    with open(filename) as f:
        reader = csv.reader(f)
        for row in reader:
            float_data = [float(data) for data in row]
            record.append(float_data)

    return record


pca.py

from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
from util import read_csv

model_pca = PCA(n_components=2)
df = pd.read_csv(r"data/x-tra.csv", index_col=0, header=None)
tf = read_csv(r"data/y-tra.csv")
tf = np.array(tf)
tf = tf.reshape((1, 300))

vecs_list = model_pca.fit_transform(df)
X = vecs_list[:, 0]
Y = vecs_list[:, 1]

sns.set(font="Hiragino Maru Gothic Pro")
plt.figure(figsize=(8, 8))
red_x = []
red_y = []
blue_x = []
blue_y = []
print(len(X))
print(len(Y))
for i, a in enumerate(tf[0]):
    if a == -1.0:
        red_x.append(X[i])
        red_y.append(Y[i])
    else:
        blue_x.append(X[i])
        blue_y.append(Y[i])

sns.scatterplot(x=red_x, y=red_y)
sns.scatterplot(x=blue_x, y=blue_y)


#for i, (x_name, y_name) in enumerate(zip(X, Y)):
  #  plt.annotate(df.index[i], (x_name, y_name))
plt.show()

Page 43 of 56.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626