“n_features”和“center”参数在SciKit中的make_blobs中意味着什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“n_features”和“center”参数在SciKit中的make_blobs中意味着什么?相关的知识,希望对你有一定的参考价值。
我在n_features
中查看了centers
函数中make_blobs
和SciKit
参数的文档。然而,我所看到的每一个解释对我来说都不是那么清楚,因为我是SciKit
和数学的新手。我想知道这两个参数是做什么的:n_features
,centers
在make_blobs
中的功能如下所示。
make_blobs(n_samples=50, n_features=2, centers=2, random_state=75)
先感谢您。
make_blobs
函数是sklearn.datasets.samples_generator
的一部分。包中的所有方法都可以帮助我们生成数据样本或数据集。在机器学习中,数据集用于评估机器学习模型的性能。这是关于如何评估KNN classifier的示例:
from sklearn.datasets.samples_generator import make_blobs
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
X, y = make_blobs(n_features=2, centers=3)
X_train, X_test, y_train, y_test = train_test_split(X, y)
model = KNeighborsClassifier()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred) * 100
print('accuracy: {}%'.format(acc))
现在,如您所述,n_features
确定生成的数据集将包含多少列或特征。在机器学习中,特征对应于数字特征数据。例如,在Iris Dataset中,有4个特征(Sepal Length,Sepal Width,Petal Length和Petal Width),因此数据集中有4个数字列。因此,通过增加n_features
中的make_blobs
,我们将添加更多功能,从而增加生成的数据集的复杂性。
至于centers
,通过可视化生成的数据集更容易理解。我使用matplotlib
来帮助我们:
from sklearn.datasets.samples_generator import make_blobs
import matplot
# plot 1
X, y = make_blobs(n_features=2, centers=1)
plt.figure()
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.savefig('centers_1.png')
plt.title('centers = 1')
# plot 2
X, y = make_blobs(n_features=2, centers=3)
plt.figure()
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.title('centers = 2')
# plot 3
X, y = make_blobs(n_features=2, centers=3)
plt.figure()
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.title('centers = 3')
plt.show()
如果运行上面的代码,您可以很容易地看到centers
对应于数据中生成的类的数量。它使用中心作为术语,因为属于同一类的样本倾向于聚集在一个中心(坐标)附近。
以上是关于“n_features”和“center”参数在SciKit中的make_blobs中意味着什么?的主要内容,如果未能解决你的问题,请参考以下文章
使用随机森林时,scikit 中的“ValueError: max_features must be in (0, n_features]”
ValueError:输入具有 n_features=12,而模型已使用 n_features=2494 进行了训练
模型的特征数量必须与输入相匹配。模型 n_features 为 20,输入 n_features 为 4