注:只关注PCA降维-- >翻到第四步
一:导入包以及数据
from sklearn.decomposition import PCA
df = pd.read_csv("..\data.csv",)
df=df.iloc[:,1:]
# 看一下数据是
print(df.head())
输出:
二:数据标准化的两种方法
# 有无缺失值
df.isna().values.any()
# False 没有缺失值
X = df.iloc[:, :-1]
# 获取标签值
Y = df.iloc[:,[-1]]
# 数据标准化/归一化
# X=X.apply(lambda x: (x - np.min(x)) / (np.max(x) - np.min(x))) # 方法一:标准差标准化:x=(x-mean)/std
X=(X - X.min()) / (X.max() - X.min())#方法二:离差标准化:x=(x-min)/(max-min)
三:使用sklearn的分类决策树函数判断各维的重要性,并用条形图展示,直观看到每一分量的重要性
# 使用sklearn 的DecisionTreeClassifier判断变量重要性
# 建立分类决策树模型对象
dt_model = DecisionTreeClassifier(random_state=1)
# 将数据集的维度和目标变量输入模型
dt_model.fit(X, Y)
# 获取所有变量的重要性
feature_importance = dt_model.feature_importances_
print(feature_importance)
# 结果如下
# [0.00437481 0.0046432 0.00571365 0.00357669 0.00304331 0.00706166...]
# 做可视化
x = range(len(df.columns[:-1]))
plt.bar(x, height=feature_importance)
plt.title("The importance of each feature")
plt.xlabel("feature")
plt.ylabel("feature importance")
plt