sklearn6_生成分类数据

本文通过多个示例展示了如何使用Sklearn生成不同类型的分类数据集,包括两类及四类数据集,并提供了可视化的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频)

https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

 

生成2类数据

 

n_features :特征个数= n_informative() + n_redundant + n_repeated
n_informative:多信息特征的个数
n_redundant:冗余信息,informative特征的随机线性组合
n_repeated :重复信息,随机提取n_informative和n_redundant 特征
n_classes:分类类别
n_clusters_per_class :某一个类别是由几个cluster构成的

from sklearn import preprocessing
import numpy as np
#生成分类数据的分类器
from sklearn.datasets.samples_generator import make_classification
#自动生成训练数据和测试数据
from sklearn.cross_validation import train_test_split
#导入支持向量模型
from sklearn.svm import SVC
import matplotlib.pyplot as plt

x,y=make_classification(n_samples=300,n_features=2,n_redundant=0,n_informative=2,random_state=22,n_clusters_per_class=1,scale=100)

#c=y表示color为黄色
plt.scatter(x[:,0],x[:,1],c=y)
plt.show()

  

 

生成4类数据

# -*- coding: utf-8 -*-
"""
Created on Sun Jan  7 15:54:56 2018

@author: Administrator
"""

from sklearn import preprocessing
import numpy as np
#生成分类数据的分类器
from sklearn.datasets.samples_generator import make_classification
#自动生成训练数据和测试数据
from sklearn.cross_validation import train_test_split
#导入支持向量模型
from sklearn.svm import SVC
import matplotlib.pyplot as plt

#n_classes=4生成4类数据
x,y=make_classification(n_classes=4,n_samples=300,n_features=2,n_redundant=0,n_informative=2,random_state=22,n_clusters_per_class=1,scale=100)

#c=y表示color为黄色
plt.scatter(x[:,0],x[:,1],c=y)
plt.show()

  

 

 

# -*- coding: utf-8 -*-
"""
Created on Sun Jan  7 16:51:38 2018

@author: Administrator
"""

import matplotlib.pyplot as plt  
  
from sklearn.datasets import make_classification  
from sklearn.datasets import make_blobs  
from sklearn.datasets import make_gaussian_quantiles  
from sklearn.datasets import make_hastie_10_2  
  
plt.figure(figsize=(8, 8))  
plt.subplots_adjust(bottom=.05, top=.9, left=.05, right=.95)  
  
plt.subplot(421)  
plt.title("One informative feature, one cluster per class", fontsize='small')  
X1, Y1 = make_classification(n_samples=1000,n_features=2, n_redundant=0, n_informative=1,  
                             n_clusters_per_class=1)  
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  
  
plt.subplot(422)  
plt.title("Two informative features, one cluster per class", fontsize='small')  
X1, Y1 = make_classification(n_samples=1000,n_features=2, n_redundant=0, n_informative=2,  
                             n_clusters_per_class=1)  
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  
  
plt.subplot(423)  
plt.title("Two informative features, two clusters per class", fontsize='small')  
X2, Y2 = make_classification(n_samples=1000,n_features=2, n_redundant=0, n_informative=2)  
plt.scatter(X2[:, 0], X2[:, 1], marker='o', c=Y2)  
  
  
plt.subplot(424)  
plt.title("Multi-class, two informative features, one cluster",  
          fontsize='small')  
X1, Y1 = make_classification(n_samples=1000,n_features=2, n_redundant=0, n_informative=2,  
                             n_clusters_per_class=1, n_classes=3)  
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  
  
plt.subplot(425)  
plt.title("Three blobs", fontsize='small')  
X1, Y1 = make_blobs(n_samples=1000,n_features=2, centers=3)  
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  
  
plt.subplot(426)  
plt.title("Gaussian divided into four quantiles", fontsize='small')  
X1, Y1 = make_gaussian_quantiles(n_samples=1000,n_features=2, n_classes=4)  
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  
  
plt.subplot(427)  
plt.title("hastie data ", fontsize='small')  
X1, Y1 = make_hastie_10_2(n_samples=1000)  
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  
plt.show()  

 

 

 

# -*- coding: utf-8 -*-
"""
Created on Sun Jan  7 16:29:35 2018

@author: Administrator
"""

import matplotlib.pyplot as plt  
  
from sklearn.datasets import make_classification  
from sklearn.datasets import make_blobs  
from sklearn.datasets import make_gaussian_quantiles  
from sklearn.datasets import make_hastie_10_2  

#画布的大小为长20cm高20cm
plt.figure(figsize=(15,10))

#标题,fontsize为标题字体大小
plt.title("Gaussian divided into six quantiles", fontsize='large')  
X1, Y1 = make_gaussian_quantiles(n_samples=1000,n_features=2, n_classes=6)  

#绘制点,X1[:, 0]为点的x列表值, X1[:, 1]为点的y列表值, c=Y1表示颜色,c为color缩写
plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1)  

  

 

 

# -*- coding: utf-8 -*-
"""
Created on Sun Jan  7 16:51:38 2018

@author: Administrator
"""

  
from sklearn.datasets import make_circles  
from sklearn.datasets import make_moons  
import matplotlib.pyplot as plt  
import numpy as np  
  
#画布的大小为长20cm高20cm
plt.figure(figsize=(15,10))

fig=plt.figure(1)  
x1,y1=make_circles(n_samples=1000,factor=0.5,noise=0.1)  
plt.subplot(121)  
plt.title('make_circles function example')  
plt.scatter(x1[:,0],x1[:,1],marker='o',c=y1)  
  
plt.subplot(122)  
x1,y1=make_moons(n_samples=1000,noise=0.1)  
plt.title('make_moons function example')  
plt.scatter(x1[:,0],x1[:,1],marker='o',c=y1)  
plt.show()  

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值