利用条件は,利用者自身で確認すること.
謝辞:Pokemon データセットの作者に感謝します.
git の URL: https://git-scm.com/
mkdir C:\data
cd C:\data git clone https://gist.github.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6 move 194bcff35001e7eb53a2a8b441e8b2c6\pokemon.csv .
CSV ファイル pokemon.csv が,データディレクトリにできる
wget, p7zip-full のインストール
sudo apt -y update sudo apt -y install wget p7zip-full
sudo mkdir /usr/local/dt
sudo chown -R ${USER}:${USER} /usr/local/dt
cd /usr/local/dt
CSV ファイル pokemon.csv が,データディレクトリにできる
wget https://gist.github.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6/archive/92200bc0a673d5ce2110aaad4544ed6c4010f687.zip x -o/usr/local/dt 92200bc0a673d5ce2110aaad4544ed6c4010f687.zip rm -f 92200bc0a673d5ce2110aaad4544ed6c4010f687.zip mv 194bcff35001e7eb53a2a8b441e8b2c6-92200bc0a673d5ce2110aaad4544ed6c4010f687/pokemon.csv . rmdir 194bcff35001e7eb53a2a8b441e8b2c6-92200bc0a673d5ce2110aaad4544ed6c4010f687 ls -la pokemon.csv
import pandas as pd
pokemon = pd.read_csv("C:/data/pokemon.csv")
print(pokemon.head())
print(pokemon.head()) print(pokemon.info()) print(pokemon.shape) print(pokemon.ndim) print(pokemon.columns)
import numpy as np
import sklearn.decomposition
%matplotlib inline
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore') # Suppress Matplotlib warnings
# 主成分分析
def prin(A, n):
pca = sklearn.decomposition.PCA(n_components=n)
return pca.fit_transform(A)
# 主成分分析で2つの成分を得る
def prin2(A):
return prin(A, 2)
# M の最初の2列を,b で色を付けてプロット.b はラベル
def scatter_label_plot(M, b, alpha):
a12 = pd.DataFrame( M[:,0:2], columns=['a1', 'a2'] )
f = pd.factorize(b)
a12['target'] = f[0]
g = sns.scatterplot(x='a1', y='a2', hue='target', data=a12, palette=sns.color_palette("hls", np.max(f[0]) + 1), legend="full", alpha=alpha)
# lenend を書き換え
labels=f[1]
for i, label in enumerate(labels):
g.legend_.get_texts()[i].set_text(label)
plt.show()
# 主成分分析プロット
def pcaplot(A, b, alpha):
scatter_label_plot(prin2(A), b, alpha)
X = pokemon.iloc[:,4:7].to_numpy() y = pokemon.iloc[:,2] pcaplot(X, y, 0.4)