scikit-learn笔记----预处理Preprocessing

1. 从外部获取样本数据

scikit-learn的内置数据库在 datasets 模块里。datasets 模块主要有两种数据类型。较小的测试数据集在 sklearn 包里面,可以通过 datasets.load_*获取,另外一些数据集需要通过 datasets.fetch_* 下载。

from sklearn import datasets
boston = datasets.load_boston()
print(boston.DESCR)

datasets.load_boston
datasets.load_breast_cancer
datasets.load_diabetes
datasets.load_digits
datasets.load_files
datasets.load_iris
datasets.load_linnerud
datasets.load_mlcomp
datasets.load_sample_image
datasets.load_sample_images
datasets.load_svmlight_file
datasets.load_svmlight_files

datasets.load_wine

import pandas as pd
df = pd.DataFrame(boston.data, columns=[boston.feature_names])

datasets.fetch_20newsgroups
datasets.fetch_20newsgroups_vectorized
datasets.fetch_california_housing
datasets.fetch_covtype
datasets.fetch_kddcup99
datasets.fetch_lfw_pairs
datasets.fetch_lfw_people
datasets.fetch_mldata
datasets.fetch_olivetti_faces
datasets.fetch_rcv1

datasets.fetch_species_distributions

from sklearn import datasets
housing = datasets.fetch_california_housing('dataset')
import pandas as pd
df  = pd.DataFrame(housing.data, columns=[housing.feature_names])

UCI机器学习库( UCI Machine Learning Repository) 是找简单数据集的好地方。

当这些数据集被加载时,它们并不是直接转换成Numpy数组。它们是 Bunch 类型。Bunch是Python常用的数据结构。基本可以看成是一个词典,它的键被实例对象作为属性使用。

2. 创建实验样本数据

创建样本数据集,用 make_数据集名称 函数。

from sklearn import datasets
datasets.make_biclusters
datasets.make_blobs
datasets.make_checkerboard
datasets.make_circles
datasets.make_classification
datasets.make_friedman1
datasets.make_friedman2
datasets.make_friedman3
datasets.make_gaussian_quantiles
datasets.make_hastie_10_2
datasets.make_low_rank_matrix
datasets.make_moons
datasets.make_multilabel_classification
datasets.make_regression
datasets.make_s_curve
datasets.make_sparse_coded_signal
datasets.make_sparse_spd_matrix
datasets.make_sparse_uncorrelated
datasets.make_spd_matrix
datasets.make_swiss_roll

创建一个1000*10的矩阵,5个特征与因变量相关,误差系数0.2,2个因变量。

complex_reg_data = d.make_regression(1000, 10, 5, 2, 0.2)
complex_reg_data[0].shape,complex_reg_data[1].shape
>>>((1000, 10), (1000, 2))

3. 把数据调整成标准正态分布

preprocessing 模块提供了一些函数可以将特征调整为标准形。数据标准化调整是非常有用的。许多机器学习算法在具有不同范围特征的数据中呈现不同的学习效果。例如,SVM( Support Vector Machine,支持向量机) 在没有标准化调整过的数据中表现很差,因为可能一个变量的范围是0-10000,而另一个变量的范围是0-1。

from sklearn import preprocessing
import numpy as np
from sklearn import datasets

boston = datasets.load_boston()
X, y = boston.data, boston.target
# 前三个特征的均值
X[:, :3].mean(axis=0) 
>>>array([ 3.59376071, 11.36363636, 11.13677866])
# 前三个特征的标准差
X[:, :3].std(axis=0) 
>>>array([ 8.58828355, 23.29939569, 6.85357058])

# 我们通过 prepr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值