せっかくPythonを扱っているのですから、AIや機械学習についても一通り学ぶことにしました。まずは統計に関する知識の整理です。
有意差検定など統計の勉強でお世話になったアヤメのデータを使って主成分分析し、因子数を4から3に減らして3D散布図を作成しました。
選んだ教本ではJupyter Notebookを使った対話式Pythonですが、プログラムで書いていきます。
3000円を超える本なのにグラフが白黒なのが惜しいところです。
2021/10/1追記:グラフはGitHubからダウンロードしたipynbファイルにてカラーで見ることができました。
pip install -U scikit-learn
pip install matplotlib
import matplotlib.pyplot as plt
from sklearn import datasets
from mpl_toolkits.mplot3d import Axes3D
from sklearn.decomposition import PCA
iris = datasets.load_iris()
all_features = iris.data
teacher_labels = iris.target
fig = plt.figure(1,figsize=(12,9))
ax = Axes3D(fig,elev=-140,azim=100)
# 主成分分析(4→3)
reduced_features = PCA(n_components=3).fit_transform(all_features)
# 散布図作成
ax.scatter(reduced_features[:,0],reduced_features[:,1],reduced_features[:,2],c = teacher_labels,cmap = plt.cm.Set2,edgecolor='darkgray',s=200)
plt.show()