猫以下なので、参考にします
全データ数 | 150 |
データ内の setosa の数 | 50 |
データ内の versicolor の数 | 50 |
データ内の virginica の数 | 50 |
特徴の数(カラム数) | 4(がく片の長さ,がく片の幅,花びらの長さ,花びらの幅) |
setosa | データ内では、「0」と表されています |
versicolor | データ内では、「1」と表されています |
virginica | データ内では、「2」と表されています |
わかりやすいですね でも、もう少しデーターの様子が 知りたくなり本家の説明
ここにある散布図(scatter っていうの初めて知りました <sample4.py> import matplotlib.pyplot as plt _, ax = plt.subplots() scatter = ax.scatter(iris.data[:, 0], iris.data[:, 1], c=iris.target) ax.set(xlabel=iris.feature_names[0], ylabel=iris.feature_names[1]) _ = ax.legend( scatter.legend_elements()[0], iris.target_names, loc="lower right", title="Classes" ) 通好みの書き方なんでしょうが、_, ax そのうち極めましょう今日は保留 ただこれではエラーも出ないのになんの表示もしてくれません 一行 plt.show()加えてOK よくできたデーターで 流石に2つの条件ではsetosaは行けそうですがのこりの線引きは難しそう <smple10.py> from sklearn import datasets
iris = datasets.load_iris()
import mpl_toolkits.mplot3d # noqa: F401
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
fig = plt.figure(1, figsize=(8, 6))
ax = fig.add_subplot(111, projection="3d", elev=-150, azim=110)
X_reduced = PCA(n_components=3).fit_transform(iris.data)
ax.scatter(
X_reduced[:, 0],
X_reduced[:, 1],
X_reduced[:, 2],
c=iris.target,
s=40,
)
ax.set_title("First three PCA dimensions")
ax.set_xlabel("1st Eigenvector")
ax.xaxis.set_ticklabels([])
ax.set_ylabel("2nd Eigenvector")
ax.yaxis.set_ticklabels([])
ax.set_zlabel("3rd Eigenvector")
ax.zaxis.set_ticklabels([])
plt.show()
今度のは3dで見ました、こうしてみると目視でも
境界がわかりますね。
|