机器学习分类模型的构建和预测

科技   2024-09-24 12:29   广东  

 今天是生信星球陪你的第993天


   

公众号里的文章大多数需要编程基础,如果因为代码看不懂,而跟不上正文的节奏,可以来找我学习,相当于给自己一个新手保护期。我的课程都是循环开课,点进去咨询微信↓

生信分析直播课程(9月30日下一期)

生信新手保护学习小组(10月初下一期)

单细胞陪伴学习小组(10月初下一期

  • 1.作用

  • 2.步骤

  • 3.KNN算法的原理

  • 4.数据

  • 5.代码

1.作用

根据已知数据和它的分类来构建分类器,对未遇见过的数据进行分类。

labeled data(已标记的数据) = training data,就是已知特征和分类,用于构建分类器的数据。

2.步骤

(1)构建模型

(2)模型从我们传递给他的已标记数据中学习

(3)将未标记的数据作为输入传递给模型

(4)模型预测未遇见过的数据标签

本文主要介绍的是K临近法 ,也就是 k-Nearest Neighbor  (KNN)

3.KNN算法的原理

  • 查看 k 个最近的标记数据点
  • 进行多数投票

经查询,下图的横纵坐标就是两个自变量。非常之简单

图中黑色的点,如果我们设置k=3,就会预测为红色,设置k=5,就会预测为蓝色。

颜色界限就是预测边界,模型预测红色背景色的属于0,灰色背景色的属于1。

4.数据

datacamp的课程里只是预先加载了churn_df,我搜索一番从github找到了这个文件。(不大好找啊)

https://github.com/rishabhm76/LDA-Project/blob/master/Discriminant-analysis-churn-dataset.csv

5.代码

  • 构建一个分类器
  • 该分类器从我们传递给他的标记数据中进行学习
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
import numpy as np
churn_df = pd.read_csv("Discriminant-analysis-churn-dataset.csv")
churn_df
from sklearn.neighbors import KNeighborsClassifier
X = churn_df[["total_day_charge""total_eve_charge"]].values
y = churn_df["churn"].values
print(X.shape, y.shape)
## (5000, 2), (5000,)
# Create a KNN classifier with 15 neighbors
knn = KNeighborsClassifier(n_neighbors=15)
# Fit the classifier to the data
knn.fit(X, y)

X 和 y 是自变量和因变量,格式要求是数组,所以取子集时加了.values,就成了数组

接下来是完成预测:

  • 将未标记的数据作为输入传递给它
  • 让它预测这些未遇见过的数据的标签
X_new = np.array([[56.817.5],
                  [24.424.1],
                  [50.110.9]])
print(X_new.shape)
## (3, 2)
predictions = knn.predict(X_new)
print('Predictions: {}'.format(predictions))
## Predictions: [1 0 0]

生信星球
一个零基础学生信的平台-- 原创结构化图文/教程,精选阶段性资料,带你少走弯路早入门,收获成就感,早成生信小能手~
 最新文章