能否使用MLJar构建聚类模型?附相关疑问及示例请求
关于MLJar构建聚类模型的说明
你的判断基本准确:MLJar的核心定位是自动化监督学习工具,主要面向分类、回归这类带标签的任务,本身并没有提供原生的无监督聚类模型训练能力。你提到的K-means相关功能确实属于预处理/特征工程范畴,用于将聚类结果作为新特征输入到监督学习模型中。
不过,如果你想结合MLJar完成聚类相关任务,可以借助它的特征工程能力来辅助聚类流程,以下是一个示例:
这个示例会先用MLJar提取K-means聚类特征,再结合Scikit-learn完成聚类模型的训练(因为MLJar本身不提供聚类模型训练):
import pandas as pd from sklearn.datasets import make_blobs from sklearn.cluster import KMeans from mljar_supervised import FeatureExtractor # 生成模拟聚类数据 X, _ = make_blobs(n_samples=1000, centers=4, random_state=42) df = pd.DataFrame(X, columns=[f"feat_{i}" for i in range(X.shape[1])]) # 使用MLJar的FeatureExtractor生成K-means聚类特征 fe = FeatureExtractor( features=["kmeans"], kmeans_params={"n_clusters": 4} ) fe.fit(df) df_with_clusters = fe.transform(df) # 查看生成的聚类特征 print(df_with_clusters[["kmeans_0", "kmeans_1", "kmeans_2", "kmeans_3"]].head()) # 基于MLJar处理后的特征,用Scikit-learn训练聚类模型 kmeans = KMeans(n_clusters=4, random_state=42) clusters = kmeans.fit_predict(df_with_clusters) df["cluster_label"] = clusters print(df["cluster_label"].value_counts())
如果你的需求是纯无监督聚类,MLJar并不是最优选择,更适合用Scikit-learn、HDBSCAN这类专注于无监督学习的库;但如果需要在聚类流程中结合自动化特征工程,MLJar的预处理模块可以发挥作用。
内容的提问来源于stack exchange,提问作者dghadagh
相关产品推荐
相关产品推荐

