1 数据划分
sklearn.model_selection.train_test_split
1.1 分类问题
1.1.1 小数据
from sklearn.datasets import load_iris
#获取iris数据集
iris = load_iris()
print('获取特征值')#x
print(iris.data)
print('获取目标值') #y 离散值
print(iris.target)
print(iris.DESCR)
#数据集分割 训练集(train)(x_train)(y_train)-测试集(test)(x_test)(y_test)
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.25)
print('训练集数据:',x_train,y_train)
print('测试集数据:',x_test,y_test)
1.1.2 大数据
from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset='all')
print(news.data)
print(news.target)
1.2 回归问题
from sklearn.datasets import load_boston
boston = load_boston()
print('特征值')
print(boston.data)
print('目标值')
print(boston.target)
print(boston.DESCR)
2 转换器与估计器
2.1 转换器
fit_trainsform()输入数据直接转换
fit()输入数据,但不做事 +transform()进行数据转换
首先来看fit_transform()
from sklearn.preprocessing import StandardScaler
s = StandardScaler()
data1 = s.fit_transform([[1,2,3],[4,5,6]])
print('data1:',data1)
输出:
data1: [[-1. -1. -1.]
[ 1. 1. 1.]]
再来看fit+transform
ss = StandardScaler()
data = ss.fit([[1,2,3],[4,5,6]])
data2 = ss.transform([[1,2,3],[4,5,6]])
print('data2:',data2)
输出:
data2: [[-1. -1. -1.]
[ 1. 1. 1.]]
可以发现data1和data2经过标准化后是一样的。
下面再来看一个:
sss = StandardScaler()
dat = sss.fit([[2,3,4],[4,5,6]])
data3 = sss.transform([[1,2,3],[4,5,6]])
print('data3:',data3) #以dat中的均值,方差来标准化data3
输出:
data3: [[-2. -2. -2.]
[ 1. 1. 1.]]
我们发现data3与之前两个不一样了,这是因为我们是以dat中的均值,方差来标准化data3
2.2 估计器
估计器(estimator)是一类实现了算法的API
(一)监督学习:
1、分类:K-近邻(KNN),朴素贝叶斯(naive bayes),决策树(DT),随机森林(RF),逻辑回归(LR),神经网络
2、回归:线性回归、岭回归
3、标注:隐马尔科夫模型
(二)无监督学习:
1、聚类 k-means......