Python:生成聚类数据:米老鼠 (不平衡数据)

# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
np.random.seed(101)
n = 800
m = 50
k = 50
t = np.random.random(size=n) * 2 * np.pi -np.pi
x1 = np.cos(t)
x2 = np.sin(t)

for i in range(n):
    len = np.sqrt(np.random.random())
    x1[i] = x1[i] * len
    x2[i] = x2[i] * len
#------------------------------------------------------
s = np.random.random(size=m) * 2 * np.pi -np.pi
x3 = np.cos(s)
x4 = np.sin(s)
for j in range(m):
    len = np.sqrt(np.random.random())/5
    x3[j] = x3[j] * len + 0.85
    x4[j] = x4[j] * len + 0.85
#------------------------------------------------
w = np.random.random(size=k) * 2 * np.pi -np.pi
x5 = np.cos(w)
x6 = np.sin(w)
for r in range(k):
    len = np.sqrt(np.random.random())/5
    x5[r] = x5[r] * len - 0.85
    x6[r] = x6[r] * len + 0.85
#------------------已经生成数据,下面是数据整合并存储-------------------
X1 = np.zeros((n,3))
for i in range(n):
    X1[i,0] = x1[i]
    X1[i,1] = x2[i]
    X1[i,2] = 0
X2 = np.zeros((m,3))
for j in range(m):
    X2[j,0] = x3[j]
    X2[j,1] = x4[j]
    X2[j,2] = 1
X3 = np.zeros((k,3))
for z in range(k):
    X3[z,0] = x5[z]
    X3[z,1] = x6[z]
    X3[z,2] = 2

X = np.vstack((X1,X2,X3))
data = pd.DataFrame(X)
data.to_csv(r'E:\dataset\clusterData\bolbs_hard.csv',index=None,header=None)



# plt.figure(1)
plt.scatter(x1,x2,marker='*',c='r',linewidths=0.0005)
plt.scatter(x3,x4,marker='o',c='b',linewidths=0.0005)
plt.scatter(x5,x6,marker='o',c='b',linewidths=0.0005)


plt.show()

不平衡数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeniuHe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值