使用 PCA 进行降维。为什么没有出现图中的所有数字?
Using PCA to dimensionality reduction. Why do not appear all the digits in the graph?
我使用了 Sklearn 的 Digits 数据集,并尝试将维度从 64 减少到 2:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotib inline
from sklearn.decomposition import PCA
from sklearn.datasets import load_digits
digits = load_digits()
digits_df = pd.DataFrame(digits.data,)
digits_df["target"] = pd.Series(digits.target)
pca = PCA(n_components=2)
digits_pca = pca.fit_transform(digits_df.iloc[:,:64])
digits_df_pca = pd.DataFrame(digits_pca,
columns =["Component1","Component2"])
finalDf = pd.concat([digits_df_pca, digits_df["target"]], axis = 1)
plt.figure(figsize=(10,10))
sns.scatterplot(data=finalDf,x="Component1", y = "Component2",hue="target",
)
图表:
图表中的唯一数字是 0,3,6,9。为什么我看不到其他五位数?
如果所有标签都可用,请签入您的数据。
如果是,那你可以试试
sns.scatterplot(data=finalDf,x="Component1", y = "Component2",hue="target",
legend = 'full')
工作代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotib inline
from sklearn.decomposition import PCA
from sklearn.datasets import load_digits
digits = load_digits()
digits_df = pd.DataFrame(digits.data,)
digits_df["target"] = pd.Series(digits.target)
pca = PCA(n_components=2)
digits_pca = pca.fit_transform(digits_df.iloc[:,:64])
digits_df_pca = pd.DataFrame(digits_pca,
columns =["Component1","Component2"])
finalDf = pd.concat([digits_df_pca, digits_df["target"]], axis = 1)
plt.figure(figsize=(10,10))
palette = sns.color_palette("bright", 10)
sns.scatterplot(data=finalDf,x="Component1", y = "Component2",hue="target",
legend = 'full', palette = palette)
我使用了 Sklearn 的 Digits 数据集,并尝试将维度从 64 减少到 2:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotib inline
from sklearn.decomposition import PCA
from sklearn.datasets import load_digits
digits = load_digits()
digits_df = pd.DataFrame(digits.data,)
digits_df["target"] = pd.Series(digits.target)
pca = PCA(n_components=2)
digits_pca = pca.fit_transform(digits_df.iloc[:,:64])
digits_df_pca = pd.DataFrame(digits_pca,
columns =["Component1","Component2"])
finalDf = pd.concat([digits_df_pca, digits_df["target"]], axis = 1)
plt.figure(figsize=(10,10))
sns.scatterplot(data=finalDf,x="Component1", y = "Component2",hue="target",
)
图表:
图表中的唯一数字是 0,3,6,9。为什么我看不到其他五位数?
如果所有标签都可用,请签入您的数据。
如果是,那你可以试试
sns.scatterplot(data=finalDf,x="Component1", y = "Component2",hue="target",
legend = 'full')
工作代码:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotib inline
from sklearn.decomposition import PCA
from sklearn.datasets import load_digits
digits = load_digits()
digits_df = pd.DataFrame(digits.data,)
digits_df["target"] = pd.Series(digits.target)
pca = PCA(n_components=2)
digits_pca = pca.fit_transform(digits_df.iloc[:,:64])
digits_df_pca = pd.DataFrame(digits_pca,
columns =["Component1","Component2"])
finalDf = pd.concat([digits_df_pca, digits_df["target"]], axis = 1)
plt.figure(figsize=(10,10))
palette = sns.color_palette("bright", 10)
sns.scatterplot(data=finalDf,x="Component1", y = "Component2",hue="target",
legend = 'full', palette = palette)