python机器学习

第二章 加载数据

1.加载样本数据集
第一步先懂得scikit-learn库:
Scikit-learn的基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。
(1)Preprocessing 预处理
· 应用:转换输入数据,规范化、编码化
· 模块:preprocessing,feature_extraction,transformer(转换器)
(2)Dimensionality reduction 降维
· 应用:Visualization(可视化),Increased efficiency(提高效率)
· 算法:主成分分析(PCA)、非负矩阵分解(NMF),feature_selection(特征选择)等
(3)Classification 分类
· 应用:二元分类问题、多分类问题、Image recognition 图像识别等
· 算法:逻辑回归、SVM,最近邻,随机森林,Naïve Bayes,神经网络等
(4)Regression 回归
· 应用:Drug response 药物反应,Stock prices 股票价格
· 算法:线性回归、SVR,ridge regression,Lasso,最小角回归(LARS)等
(5)Clustering 聚类
· 应用:客户细分,分组实验结果
· 算法:k-Means,spectral clustering(谱聚类),mean-shift(均值漂移)
(6)Model selection 模型选择
· 目标:通过参数调整提高精度
· 模块:pipeline(流水线),grid_search(网格搜索),cross_validation( 交叉验证),metrics(度量),learning_curve(学习曲线)
(7)、模型融合
· 模块:ensemble(集成学习)、
(8)、辅助工具
· 模块:exceptions(异常和警告)、dataset(自带数据集)、utils、sklearn.base

第一个问题描述:加载已有的样本数据集

#加载scikit-learn的数据集
from sklearn import datasets
#加载手写数字数据集
digits = datasets.load_digits()
#创建特征矩阵
feature = digits.data
#创建目标向量
target = digits.target
#查看第一个样本数据
feature[0]

在这里插入图片描述
这里scikit-learn中交流行的玩具数据集合有:
load_boston:包含503个波士顿房价的观察值,用于研究回归算法的优质数据集。
load_iris:包含150个鸢尾花尺寸的观察值,用于研究分类算法。
load_digits:包含1797个手写数字图片的观察值,用于研究图像分类算法

  1. 创建仿真数据集
    三个不错的仿真数据集方法:
    仿真数据集做线性回归,make_regression:
#创建仿真数据集
#仿真数据做线性回归make_regression
from sklearn.datasets import make_regression
feature, target,coefficients = make_regression(n_samples = 100,
                                              n_features = 3,
                                              n_informative = 3,
                                              n_targets = 1,
                                              noise = 0.0,
                                              coef = True,
                                              random_state = 1)
print('Feature Matrix/n',feature[:3])
print('Target Vector\n', target[:3])

out[
Feature Matrix/n [[ 1.29322588 -0.61736206 -0.11044703]
[-2.793085 0.36633201 1.93752881]
[ 0.80186103 -0.18656977 0.0465673 ]]
Target Vector
[-10.37865986 25.5124503 19.67705609]
]
make_regression返回一个浮点数的特征矩阵和一个浮点数的目标向量。

仿真数据集做分类:make_classification

#仿真数据集做分类 make_classification
from sklearn.datasets import make_classification
features, target = make_classification(n_samples = 100,
                                       n_features = 3,
                                        n_informative = 3,
                                        n_redundant = 0,
                                        n_classes = 2,
                        #数据中25%观察值属于第一个分类,75%属于第二个分类
                                        weights  =  [.25,.75,],
                                        random_state = 1
                                      )
print('Feature Matrix/n',feature[:3])
print('Target Vector\n', target[:3])

out[
Feature Matrix/n [[ 1.29322588 -0.61736206 -0.11044703]
[-2.793085 0.36633201 1.93752881]
[ 0.80186103 -0.18656977 0.0465673 ]]
Target Vector
[1 0 0]
]
make_classification返回的是一个浮点数的特征矩阵和一个代表分类的整数目标矩阵。

做类处理仿真数据集:make_blobs:

#聚类处理数据集
from sklearn.datasets import make_blobs
features, target = make_blobs(n_samples = 100,
                               n_features = 3,
                              centers = 3,
                                cluster_std = 0.5,
                               shuffle = True,
                                random_state = 1
                                      )
print('Feature Matrix/n',feature[:3])
print('Target Vector\n', target[:3])

out[
Feature Matrix/n [[ 1.29322588 -0.61736206 -0.11044703]
[-2.793085 0.36633201 1.93752881]
[ 0.80186103 -0.18656977 0.0465673 ]]
Target Vector
[1 1 0]
]
make_classification返回的是一个浮点数的特征矩阵和一个代表分类的整数目标矩阵。

make_blobs中center参数决定了要生成多少个聚类,使用matplotlib可视库,能将make_blobs生成的聚类可视化地显示出来:

import matplotlib.pyplot as plt
#查看散点图
plt.scatter(feature[:,0], feature[:,1], c= target)
plt.show()
```![在这里插入图片描述](https://img-blog.csdnimg.cn/20201118112326375.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzkwMTk1Mw==,size_16,color_FFFFFF,t_70#pic_center)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值