五 sklearn机器学习概述
1.实例化预估器(估计器)对象(estimator), 预估器对象很多,都是estimator的子类 (1)用于分类的预估器 sklearn.neighbors.KNeighborsClassifier k-近邻 sklearn.naive_bayes.MultinomialNB 贝叶斯 sklearn.linear_model.LogisticRegressioon 逻辑回归 sklearn.tree.DecisionTreeClassifier 决策树 sklearn.ensemble.RandomForestClassifier 随机森林 (2)用于回归的预估器 sklearn.linear_model.LinearRegression线性回归 sklearn.linear_model.Ridge岭回归 (3)用于无监督学习的预估器 sklearn.cluster.KMeans 聚类 2.进行训练,训练结束后生成模型 estimator.fit(x_train, y_train) 3.模型评估 (1)方式1,直接对比 y_predict = estimator.predict(x_test) y_test == y_predict (2)方式2, 计算准确率 accuracy = estimator.score(x_test, y_test) 4.使用模型(预测) y_predict = estimator.predict(x_true)
六 KNN算法-分类
1.样本距离判断
①.欧式距离
②.曼哈顿距离
2.KNN算法原理
K-近邻算法(K-Nearest Neighbors,简称KNN),根据K个邻居样本的类别来判断当前样本的类别。
(物以类聚,人以群分)
3.KNN缺点
大规模数据集,计算量大。
维度灾难:对于高维数据,距离度量意义不大
合适的k值和距离度量,需要实验调整
4.API
class sklearn.neighbors.KNeighborsClassifier(n_neighbors=5, algorithm='auto')
参数:
(1)n_neighbors:
int, default=5, 默认情况下用于kneighbors查询的近邻数,就是K
(2)algorithm:
{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, default=’auto’。找到近邻的方式,注意不是计算距离的方式,与机器学习算法没有什么关系,开发中请使用默认值'auto'
*:关键词参数,*后面的关键词都要写
方法:
(1) fit(x, y)
使用X作为训练数据和y作为目标数据
(2) predict(X) 预测提供的数据,得到预测数据
eg1
#K