DrPepper8888 / IPMN

0 stars 0 forks source link

特征重要性 #13

Open DrPepper8888 opened 6 months ago

DrPepper8888 commented 6 months ago
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.feature import StandardScaler
from pyspark.ml.clustering import KMeans

# 假设 df 是你的 DataFrame,并且包含了需要聚类的特征
# 首先,创建一个 VectorAssembler 来组合所有特征
assembler = VectorAssembler(inputCols=df.columns, outputCol="features")

# 将原始 DataFrame 转换为包含特征向量的 DataFrame
df_assembled = assembler.transform(df)

# 创建一个 StandardScaler 对象,用于标准化特征
scaler = StandardScaler(inputCol="features", outputCol="scaledFeatures", withStd=True, withMean=False)

# 对特征向量进行标准化
df_scaled = scaler.fit(df_assembled).transform(df_assembled)

# 现在 df_scaled 包含了标准化后的特征向量,可以用于 k-means 聚类
# 创建一个 KMeans 模型
kmeans = KMeans().setK(3).setFeaturesCol("scaledFeatures")

# 训练 k-means 模型
model = kmeans.fit(df_scaled)

# 打印模型的摘要信息
print(model.summary())

# 可以使用 model.transform(df_scaled) 来对原始数据进行聚类