sklearn 数据集(二)

来源:互联网 发布:ubuntu修改用户名 编辑:程序博客网 时间:2024/06/02 00:46

sklearn还有有个强大的功能,可以生成数据
利用sklearn.datasets.make_语句生成数据集
sklearn.datasets.make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0,effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False, random_state=None)
利用sklearn生成一个回归类的数据集,数据集样本数100个,每一个数据的特征100个,类标签1个,数据的偏差为0.0,噪声系数0.0
这里写代码片
from sklearn import datasets
from sklearn.linear_model import LinearRegression
loaded_data=datasets.load_boston()#下载博士屯的房价
data_X=loaded_data.data#数据的属性
data_y=loaded_data.target#数据的标签`
model=LinearRegression()#引入线性回归模型
model.fit(data_X,data_y)#模型进行数据训练
print(model.predict(data_X[:4,:]))#预测前四个数据的标签并输出
print(data_y[:4])
预测结果:
[ 30.00821269 25.0298606 30.5702317 28.60814055]
实际结果
[ 24. 21.6 34.7 33.4]

make_blobs方法:


from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt #图形化的工具模块
X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=1)#产生100个样本,样本的特征属性和标签都是一,噪声为1.
plt.scatter(X,y)#散点的形式输出在图上
plt.show()
这里写图片描述

当噪声是8的时候,结果如下:
这里写图片描述

`
scikit中的make_blobs方法常被用来生成聚类算法的测试数据,直观地说,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。
make_blobs方法:
sklearn.datasets.make_blobs(n_samples=100, n_features=2,centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)
其中:

n_samples是待生成的样本的总数。
n_features是每个样本的特征数。
centers表示类别数。
cluster_std表示每个类别的方差,例如我们希望生成2类数据,其中一类比另一类具有更大的方差,可以将cluster_std设置为[1.0,3.0]。
center_box 是表示中心坐标的最大最小范围

from sklearn.datasets import make_blobs
from matplotlib import pyplot

data,target=datasets.make_blobs(n_samples=100, n_features=2,\
centers=3, cluster_std=[1.0,3.0,2.0], \
center_box=(-10.0, 10.0), \
shuffle=True, random_state=None)
pyplot.scatter(data[:,0],data[:,1],c=target);
pyplot.show()
“`这里写图片描述

原创粉丝点击