使用knn和logsitic对make_blobs数据集进行分类
2017-12-13 12:34
246 查看
1.导入模块
import numpy as np import pandas as pd from pandas import Series,DataFrame #机器学习模型 from sklearn.linear_model import LogisticRegression from sklearn.neighbors import KNeighborsClassifier #导入make_plobs聚类数据生成器 from sklearn.datasets import make_blobs #绘图 import matplotlib.pyplot as plt %matplotlib inline
2.获取训练数据和测试数据
获取训练数据train,target=make_blobs(n_samples=150,n_features=2,centers=[[1,3],[4,1],[6,5]]) #训练数据 X_train = train Y_train = target
说明:make_blobs方法常被用来生成聚类算法的测试数据,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。
参数:
n_samples是待生成的样本的总数。
n_features是每个样本的特征数。
centers表示类别数。
cluster_std表示每个类别的方差,例如我们希望生成2类数据,其中一类比另一类具有更大的方差,可以将cluster_std设置为[1.0,3.0]。
获取测试数据
#获取x、y轴取值范围 xmin,xmax = train[:,0].min()-0.5,train[:,0].max()+0.5 ymin,ymax = train[:,1].min()-0.5,train[:,1].max()+0.5 #生成x、y两个列表,做网格化处理 x = np.arange(xmin,xmax,0.05) y = np.arange(ymin,ymax,0.05) xx,yy=np.meshgrid(x,y) #测试数据 x_test=np.c_[xx.ravel(),yy.ravel()]
3.确定学习模型
#knn模型 knnclf = KNeighborsClassifier() #logistic模型 logistic = LogisticRegression()
4.用训练数据对模型进行训练
knnclf.fit(X_train,Y_train) logistic.fit(X_train,Y_train)
5.用训练后的模型进行预测
y_pre_knn = knnclf.predict(x_test) y_pre_logistic = logistic.predict(x_test)
6.绘图,展示效果
设置颜色from matplotlib.colors import ListedColormap cmap = ListedColormap(['r','g','b'])
绘制knn模型预测效果图
plt.scatter(x_test[:,0],x_test[:,1],c=y_pre_knn) plt.scatter(train[:,0],train[:,1],c=target,cmap=cmap)
绘制logistic回归预测效果图
plt.scatter(x_test[:,0],x_test[:,1],c=y_pre_logistic) plt.scatter(train[:,0],train[:,1],c=target,cmap=cmap)
相关文章推荐
- 使用不同的SVM对iris数据集进行分类并绘出结果
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- 使用KNN对MNIST数据集进行实验
- sklearn-4 使用knn对iris花进行分类预测
- 使用KNN对MNIST数据集进行实验
- 使用sklearn中的Iris植物分类数据集进行特征检验与预测分析
- 数据挖掘-K-近邻分类器-Iris数据集分析-使用K-近邻分类器进行分类预测(四)
- 数据挖掘-oneR算法-Iris数据集分析-使用oneR算法进行分类预测(五)
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- iris数据集进行KNN分类
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- 使用Orange进行数据挖掘之分类(2)------KNN分类
- 训练LSTM模型进行情感分类在IMDB数据集上,使用Keras API(Trains an LSTM model on the IMDB sentiment classification)
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning
- tensorflow 学习专栏(四):使用tensorflow在mnist数据集上使用逻辑回归logistic Regression进行分类
- 使用感知机进行二类分类的线性分类模型测试(minst数据集)
- 【object detection】RCNN 实践篇 - 使用 Alexnet 预训练 17-flower 数据集(17分类),使用 2-flower 数据集进行 fine-tuning