机器学习算法笔记(五):简单线性回归

线性回归法(Linear Regression)是解决回归问题的最基础的算法。它思想简单、实现容易,是许多强大的非线性模型的基础。线性回归法的预测结果有着很好的可解释性,也蕴含了机器学习中的很多重要思想。

所谓线性回归,就是寻找一条直线,能最大程度的“拟合”样本特征和样本输出标记之间的关系阅读全文

机器学习算法笔记(三):数据归一化处理

所谓数据归一化,就是将所有的数据映射到同一尺度,从而便于不同单位或量级的指标能够进行比较和加权。例如,一组数据中包含一个人的年龄与他的年薪两个属性,若我们直接运用kNN算法来建立模型,不难发现数据的变化会被年薪这个属性“主导”(因为年薪的数量级往往比一个人的年龄高很多)。所以在将数据“喂”给我们的机器学习算法之前,对属性进行归一化处理就显得尤为重要。 阅读全文

机器学习算法笔记(二):kNN算法进阶——超参数与网格搜索

上一篇文章中对kNN算法进行了初步的实现,并将其封装到了一个模块当中便于使用:

#文件名:main.py

from sklearn import datasets
from kNNmodule.model_selection import train_test_split
from kNNmodule.kNN import KNNClassifier


iris = datasets.load_iris() #加载著名的鸢尾花数据集

"""
sklearn中,datasets的鸢尾花数据集一共有五个部分组成,分别为:
data(鸢尾花的特征矩阵)
target(结果标签对应的向量)
targetnames(标记所对应的鸢尾花的名字)
DESCR(描述,即该数据集的文档)
feature_names(三种鸢尾花的特征所对应的的名字)
"""

X = iris.data
y = iris.target

X_train, X_test, y_train, y_test = train_test_split(X, y)

my_knn_clf = KNNClassifier(k=3)
my_knn_clf.fit(X_train, y_train)
y_predict = my_knn_clf.predict(X_test)

print(y_predict)
print(y_test)
print(sum(y_predict == y_test)) #打印预测准确的个数
print(sum(y_predict == y_test) / len(y_test)) #打印预测的准确率 

在上述代码的第24行中 阅读全文