- 【scikit-learn】01:使用案例对sklearn库进行简单介绍
- 【scikit-learn】02:使用sklearn库进行统计学习
- 【scikit-learn】03:将sklearn库用于非监督性学习 聚类
- 【scikit-learn】04:sklearn库下进行文本数据分析
- 【scikit-learn】05:sklearn文本分类及评价指标
- 【scikit-learn】06:make_blobs聚类数据生成器
- 【scikit-learn】07:数据加载,数据归一,特征选择,逻辑回归,贝叶斯,k近邻,决策树,SVM
###加载数据(Data Loading)
我们假设输入时一个特征矩阵或者csv文件。
首先,数据应该被载入内存中。scikit-learn的实现使用了NumPy中的arrays,所以,我们要使用NumPy来载入csv文件。
以下是从UCI机器学习数据仓库中下载的数据。
import numpy as np
import urllib
# url with dataset
url = "http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data"
# download the file
raw_data = urllib.urlopen(url)
# load the CSV file as a numpy matrix
dataset = np.loadtxt(raw_data, delimiter=",")
# separate the data from the target attributes
X = dataset[:,0:7]
y = dataset[:,8]
我们要使用该数据集作为例子,将特征矩阵作为X,目标变量作为y。
###数据归一化(Data Normalization)
大多数机器学习算法中的梯度方法对于数据的缩放和尺度都是很敏感的,在开始跑算法之前,我们应该进行归一化或者标准化的过程,这使得特征数据缩放到0-1范围中。scikit-learn提供了归一化的方法:
from sklearn import preprocessing
# normalize the data attributes
normalized_X = preprocessing.normalize(X)
# standardize the data attributes
standardized_X = preprocessing.scale(X)
###特征选择(Feature Selection)
在