sklearn
import sklearn.datasets as datasets # 数据
from sklearn.neighbors import KNeighborsClassifier # KNN对象 分类
iris = datasets.load_iris() # 鸢尾花数据
knn = KNeighborsClassifier(n_neighbors=3) # 创建KNN对象 n_neighbors 分类点
knn.fit(traia.iloc[:,0:-1], traia.iloc[:,-1]) # 训练算法
knn.predict(iris.iloc[:,0:-1]) # 预测数据
knn.score(X_test, Y_test) # 准确值
knn.get_params() # 打印模型参数
li.coef_, li.intercept_ # 相关系数 截距
from sklearn.utils import shuffle
X, y = shuffle(X, y, random_state=0) # 打乱数据
np.random.permutation(train_X.shape[0]) #打乱后的行号
from sklearn.metrics import mean_squared_error # 评估
1. 获取数据
1.1 导入sklearn数据集
sklearn中包含了大量的优质的数据集,在你学习机器学习的过程中,你可以通过使用这些数据集实现出不同的模型,从而提高你的动手实践能力,同时这个过程也可以加深你对理论知识的理解和把握。(这一步我也亟需加强,一起加油!-)
首先呢,要想使用sklearn中的数据集,必须导入datasets模块:
from sklearn import datasets
下图中包含了大部分sklearn中数据集,调用方式也在图中给出,这里我们拿iris的数据来举个例子:
iris = datasets.load_iris() # 导入数据集
X = iris.data # 获得其特征向量
y = iris.target # 获得样本label
1.2 创建数据集
你除了可以使用sklearn自带的数据集,还可以自己去创建训练样本,具体用法参见《Dataset loading utilities》,这里我们简单介绍一些,sklearn中的samples generator包含的大量创建样本数据的方法:
下面我们拿分类问题的样本生成器举例子:
from sklearn.datasets.samples_generator import make_classification
X, y = make_classification(n_samples=6, n_features=5, n_informative=2,
n_redundant=2, n_classes=2, n_clusters_per_class=2, scale=1.0,
random_state=20)
# n_samples:指定样本数
# n_classes:指定几分类
# random_state:随机种子,使得随机状可重
# n_features=2:生成样本的特征数,
# 特征数 = n_informative + n_redundant + n_repeated
# n_informative:多信息特征的个数
# n_redundant:冗余信息,informative特征的随机线性组合
# n_clusters_per_class :某一个类别是由几个cluster构成的
>>> for x_,y_ in zip(X,y):
print(y_,end=': ')
print(x_)
0: [-0.6600737 -0.0558978 0.82286793 1.1003977 -0.93493796]
1: [ 0.4113583 0.06249216 -0.90760075 -1.41296696 2.059838 ]
1: [ 1.52452016 -0.01867812 0.20900899 1.34422289 -1.61299022]
0