Advertisement

机器学习之sklearn-KNN近邻算法分类小案例(癌细胞检测)

阅读量:

案例展示:通过使用scikit-learn机器学习库快速且简便地实现K-近邻(KNN)分类检测技术

导包部分

构造数据集:
1.特征值数据,癌变部位大小,时间
data_canner_feature=[
[3.393533211, 2.331273381],
[3.110073483, 1.781539638],
[1.343808831, 3.368360954],
[3.582294042, 4.679179110],
[2.280362439, 2.866990263],
[7.423436942, 4.696522875],
[5.745051997, 3.533989803],
[9.172168622, 2.511101045],
[7.792783481, 3.424088941],
[7.939820817, 0.791637231]]

2.癌症目标值数据0表示未癌变,1表示癌变
data_canner_target=[0, 0, 0, 0, 0, 1, 1, 1, 1, 1]

3.待预测样本
predict_data=[[8.093607318, 3.365731514]]

数据处理:
在数据处理阶段中进行数据转换操作。具体而言,在将列表转化为对应的矩阵向量表示时,请注意以下步骤:

  1. 将data_canner_feature进行转换并赋值给变量X;
  2. 将data_canner_target进行转换并赋值给变量y;
  3. 将predict_data进行转换并赋值给变量x;

图形观察: 绘制绿色标记点集(坐标位置为X[y0,0]与X[y0,1]),以及红色标记点集(坐标位置为X[y1,0]与X[y1,1]),最后绘制蓝色标记点集(仅使用数据集中的第一个维度坐标位置x[0,0]与x[0,1]),调用plt.show()以显示图形

为构建KNN分类器模型:
knn = KNeighborsClassifier(n_neighbors=3)
#对训练数据进行建模
knn.fit(X, y)
#对待测样本进行预测
predict = knn.predict(x)
#评估预测结果
if predict[0] == 0:
print('经检测, 该细胞属于良性')
else:
print('经检测, 该细胞已恶化, 接着时间进行进一步治疗')

在这里插入图片描述

系统预测结果:
经检测,该细胞已恶化,抓紧时间进行进一步的治疗

全部评论 (0)

还没有任何评论哟~