1、mglearn.plots.plot_knn_classification()
简介
展示k近邻分类器的工作原理
例子
>>> mglearn.plots.plot_knn_classification
>>> mglearn.plots.plot_knn_classification(n_neighbors=3)
2、sklearn.model_selection.train_test_spilt()
参考网址:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html
简介
将数据集快速拆分成训练集和测试集
基本形式
sklearn.model_selection.train_test_spilt(*arrays,**options)
参数
参数 | 作用 | 值 |
*arrays | 可以放入列表、数组、稀疏矩阵、dataframe | |
test_size | 测试集的比例(0.0~1.0) | 0.25(默认值) |
train_size | 训练集的比例(0.0~1.0) | None(默认值) |
random_state | 类似于随机种子的存在。如果输入一个数,那么之后每次再使用这个函数+这个随机种子的数,分的内容都是一样的。 | None(默认值) |
shuffle | 把数据集打乱 | True(默认值) |
stratify | 分层 | None(默认值) |
例子
>>> import numpy as np
>>> from sklearn.model_selection import train_test_split
>>> X, y = np.arange(10).reshape((5, 2)), range(5)
>>> X
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
>>> list(y)
[0, 1, 2, 3, 4]
>>>
>>> X_train, X_test, y_train, y_test = train_test_split(
... X, y, test_size=0.33, random_state=42)
...
>>> X_train
array([[4, 5],
[0, 1],
[6, 7]])
>>> y_train
[2, 0, 3]
>>> X_test
array([[2, 3],
[8, 9]])
>>> y_test
[1, 4]
>>>
>>> train_test_split(y, shuffle=False)
[[0, 1, 2], [3, 4]]
3、sklean.neighbors.KNeighborsClassifier()
参考网址:
简介
实现k近邻投票的分类器
基本形式
sklearn.neighbors.KNeighborsClassifier
(n_neighbors=5, weights=’uniform’, algorithm=’auto’, leaf_size=30, p=2, metric=’minkowski’, metric_params=None, n_jobs=None, **kwargs)
参数
参数 | 作用 | 值 |
n_neighbors | 选择邻居的个数 | 5(默认值) |
weights | 用于预测阶段的权重函数 | 1 - 'uniform'(默认值,所有邻居有相同的权重) 2 - 'distance'(距离越近的邻居权重越大) 3 - [callable](一个用户定义的函数,它接受一个距离数组,并返回一个包含权重的相同形状的数组) |
algorithm | 用于计算最近邻居的算法 | 1 - 'auto'(默认值,根据fit的值确定合适的算法) 2 - 'balltree' 3 - 'KDTree' 4 - 'brute' |
leaf_size | 传递给BallTree或KDTree的叶子规模。 | 30(默认值) |
p | 功率参数 | 2(默认值) |
metric | 用于树的距离度量 | 'minkowski'(默认值) |
metric_params | 度量函数的其他关键字参数 | None(默认值) |
n_jobs | 并行作业数 | None(默认值) |
例子
>>> from sklearn.neighbors import KNeighborsClassifier
>>> clf = KNeighborsClassifier(n_neighbors=3)
4、fit()
简介
使用X作为训练数据并使用y作为目标值来拟合模型
基本形式
fit(X, y)
例子
>>> clf.fit(X_train, y_train)
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
metric_params=None, n_jobs=1, n_neighbors=3, p=2,
weights='uniform')