如何解决Scikit学习使用Logistic回归问题使用K均值进行维数缩减时,我仍需要提供目标变量吗?
目前,一名学生正在通过Scikit-Learn,Keras和TensorFlow 2nd Edition学习Aurelien Geron的机器学习实践。在聚类一章中,他介绍了一个管道,该管道首先使用KMeans聚类进行维降,然后对MNIST Digit数据集执行逻辑回归。
标准进口:
from sklearn.datasets import load_digits
X_digits,y_digits = load_digits(return_X_y = True)
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X_digits,y_digits)
作者然后引用:
“我们将创建一个管道,该管道首先将训练集聚类为50个聚类,然后 将图像及其距离替换为这50个聚类 ,然后应用Logistic回归模型“
from sklearn.pipeline import Pipeline
from sklearn.cluster import KMeans
from sklearn.linear_model import LogisticRegression
pipeline = Pipeline([
("kmeans",Kmeans(n_clusters=50)),("log_reg",LogisticRegression())
])
pipeline.fit(X_train,y_train)
>>>pipeline.score(X_test,y_test)
0.9777
- 由于Kmeans聚类的输出将为X_train拆分中的每一行分配给我聚类,为什么还要在 pipeline.fit 中包括y_train参数作为目标? li>
- Aurelien说“ 将图像替换为与这50个簇的距离 ”是什么意思。再次,为什么我们不能仅将y_train分配为KMeans聚类的输出类?
如果我理解不正确,感谢您对概念的解释!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。