python使用manifold.LocallyLinearEmbedding()方法报错:TypeError: __init__() takes 1 positional argument but 3 positional arguments (and 1 keyword-only argument) were given
我的代码:
# 生成3种方法的降维数据的投影
n_neighbors = 10
for i,method in enumerate(method_set):
trans_data = manifold.LocallyLinearEmbedding(n_neighbors,2,method=method).fit_transform(sphere_data).T
ax = fig.add_subplot(222 + i)
plt.scatter(trans_data[0],trans_data[1],c=colors,cmap=plt.cm.rainbow)
plt.title((name_set[i]))
plt.show()
解决方式:
更改manifold.LocallyLinearEmbedding()的参数书写形式。
更改后的代码:
# 生成3种方法的降维数据的投影
for i,method in enumerate(method_set):
trans_data = manifold.LocallyLinearEmbedding(n_neighbors=n_neighbors,n_components=2,method=method).fit_transform(sphere_data).T
ax = fig.add_subplot(222 + i)
plt.scatter(trans_data[0],trans_data[1],c=colors,cmap=plt.cm.rainbow)
plt.title((name_set[i]))
plt.show()
over,问题解决!