|
|
1
Yohanes Gultom
7 年前
make_blobs
函数是
sklearn.datasets.samples_generator的一部分。包中的所有方法,帮助我们生成数据样本或数据集。在SciKit所了解的机器学习中,数据集用于评估机器学习模型的性能。这是一个关于如何评估a
knn Classifier的示例
:
from sklearn.datasets.samples_generator import make_blobs
从sklearn.neighbors导入Kneighbors分类器
来自sklearn.model_selection import train_test_split
从sklearn.metrics导入准确度得分
x,y=生成blobs(n_features=2,centers=3)
x_train,x_test,y_train,y_test=列车_test_split(x,y)
型号=KneighborsClassifier()
型号.装配(X轴,Y轴)
y_pred=模型.预测(x_测试)
acc=准确度得分(y_测试,y_pred)*100
print('准确度:%'.格式(acc))
< /代码>
现在,正如您所提到的,n_featuresdetermined how columns or features the generated dataset will have.在机器学习中,特征对应于数字特征数据。例如,在iris dataset中,有4个功能(sepal length、sepal width、patal length和patal width),因此数据集中有4个数值列。因此,通过增加n_featuresinmake_blobs,我们将添加更多功能,从而增加生成数据集的复杂性。
对于centers,通过可视化生成的数据集更容易理解。我使用matplotlib来帮助我们:
from sklearn.datasets.samples_generator import make_blobs
导入Matlab
图1
x,y=制造斑点(n_特征=2,中心=1)
图()
散点图(x[:,0],x[:,1],c=y)
plt.savefig('centers_1.png')
plt.title('中心=1')
图2
x,y=生成blobs(n_features=2,centers=2)
图()
散点图(x[:,0],x[:,1],c=y)
plt.title('中心=2')
图3
x,y=生成blobs(n_features=2,centers=3)
图()
散点图(x[:,0],x[:,1],c=y)
plt.title('中心=3')
显示()
< /代码>



如果运行上面的代码,可以很容易地看到centers对应于数据中生成的类数。它使用中心作为术语,因为属于同一类的样本往往聚集在靠近中心(坐标)的地方。
生成数据样本或数据集。在SciKit所了解的机器学习中,数据集用于评估机器学习模型的性能。这是一个关于如何评估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、patal length和patal width),所以数据集中有4个数值列。所以通过增加n-特征在里面麦克布洛布,我们正在添加更多的特性,从而增加生成数据集的复杂性。
至于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=2)
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()



如果您运行上面的代码,您可以很容易地看到中心对应于数据中生成的类数。它使用中心作为术语,因为属于同一类的样本往往聚集在靠近中心(坐标)的地方。
|