利用Python生成双月分类数据集
生活随笔
收集整理的這篇文章主要介紹了
利用Python生成双月分类数据集
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、定義生成函數(來源于網絡)
def dbmoon(N=100, d=2, r=10, w=2):N1 = 10*Nw2 = w/2done = Truedata = np.empty(0)while done:#generate Rectangular datatmp_x = 2*(r+w2)*(np.random.random([N1, 1])-0.5)tmp_y = (r+w2)*np.random.random([N1, 1])tmp = np.concatenate((tmp_x, tmp_y), axis=1)tmp_ds = np.sqrt(tmp_x*tmp_x + tmp_y*tmp_y)#generate double moon data ---upperidx = np.logical_and(tmp_ds > (r-w2), tmp_ds < (r+w2))idx = (idx.nonzero())[0]if data.shape[0] == 0:data = tmp.take(idx, axis=0)else:data = np.concatenate((data, tmp.take(idx, axis=0)), axis=0)if data.shape[0] >= N:done = Falseprint (data)db_moon = data[0:N, :]print (db_moon)#generate double moon data ----downdata_t = np.empty([N, 2])data_t[:, 0] = data[0:N, 0] + rdata_t[:, 1] = -data[0:N, 1] - ddb_moon = np.concatenate((db_moon, data_t), axis=0)return db_moon2、運行測試代碼
N = 100 d = -2 r = 10 w = 2 a = 0.1 num_MSE = [] num_step = [] data = dbmoon(N, d, r, w)plt.plot(data[0:N, 0], data[0:N, 1], 'r*', data[N:2*N, 0], data[N:2*N, 1], 'b*') plt.show()3、運行結果
總結
以上是生活随笔為你收集整理的利用Python生成双月分类数据集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机文化起源于,计算机文化.pps
- 下一篇: 二分查找时间复杂度