0
点赞
收藏
分享

微信扫一扫

从头开始学人工智能day05

慕容冲_a4b8 2022-04-14 阅读 73
python

从头开始学人工智能

文章目录

今日学习目标!

前面我们已经简单学习了numpy,pandas,matplotlib,在我学习java的时候都是跟着视频去敲过来的,后面需要自己思考,接着就是看源码,源码基本都在啃书,后面就不再喜欢看视频了,毕竟书的话才算是第一数据来源吧!至于java学的怎么样,也就是看了spring和mybaits源码,然后自己慢慢自己敲,感觉还是蛮不错的!反正现在是喜欢去看书!这个都是看自己的爱好的吧!之前也是跟着老师去研究研究算法,一些单目标,多目标算法,当时的话还是觉得工程好玩,现在的话,我会毫不犹豫的选择算法!真香定理吧!一些传统算法还是可以的,这次蓝桥杯确实打击有点大!不管不管!静下心一起学习!说这么多就是想说,我们可以先跳到这个有成就感的地方来入门这个,随着使用巩固前面的知识,加深前面的知识!至于不会的知识可以去自己了解!去补充!好吧不多说啦!

机器学习分类

是否在人类监督下进行训练(监督,无监督和强化学习)

在机器学习中,无监督学习就是聚类,事先不知道样本的类别,通过某种办法,把相似的样本放在一起归位一类;而监督型学习就是有训练样本,带有属性标签,也可以理解成样本有输入有输出。

所有的回归算法和分类算法都属于监督学习。回归和分类的算法区别在于输出变量的类型,定量输出称为回归,或者说是连续变量预测;定性输出称为分类,或者说是离散变量预测

1.1线性模型

1.1.1普通最小二乘法(分类算法)

这里解释一下分类算法!

解释一下最小二乘法

通俗易懂学习最小二乘法

如果理解了上面的过程,那么我们就可以提到训练和模型了!

那假设上面的公式是错误的呢!

在这里插入图片描述

这里加啦一个参数b是不是将两个点拟合了!

也就是说不同的数据值拟合出来的模拟的向量是不同的!

得到的参数也就是【k,b】也就是斜率和偏移量!

经过啦这样的解说!现在对于这个也就有了一定的认识!

先了解一下最小二乘!

简单的来说,每次变化一点,慢慢拟合

在这里插入图片描述

这里对[K,J]函数的k=1的切点求导,然后用 J原来-J更新 比较一下,判断是否更新,这样基本就能达到局部最优!为毛是局部最优,后话后话,可以细想想为啥为啥减去求导就会靠近优解,再想想有什么问题!这也就是熟悉的一种,梯度下降算法!

使用最小二乘预测

# Code source: Jaques Grobler
# License: BSD 3 clause


import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score

# Load the diabetes dataset
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)

# Use only one feature
#冒号在前,列项
diabetes_X = diabetes_X[:, np.newaxis, 2]

# Split the data into training/testing sets
print("-------------------------------------")
diabetes_X_train = diabetes_X[:-20]
print(len(diabetes_X_train))
diabetes_X_test = diabetes_X[-20:]
print("-------------------------------------")
print(len(diabetes_X_test))

# Split the targets into training/testing sets
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]

# Create linear regression object
regr = linear_model.LinearRegression()

# Train the model using the training sets
#拟合模型(使用训练集训练模型)
regr.fit(diabetes_X_train, diabetes_y_train)

# Make predictions using the testing set
#预测值
diabetes_y_pred = regr.predict(diabetes_X_test)

# The coefficients
print('Coefficients: \n', regr.coef_)
# The mean squared error
print('Mean squared error: %.2f'
      % mean_squared_error(diabetes_y_test, diabetes_y_pred))
# The coefficient of determination: 1 is perfect prediction
print('Coefficient of determination: %.2f'
      % r2_score(diabetes_y_test, diabetes_y_pred))

# Plot outputs
plt.scatter(diabetes_X_test, diabetes_y_test,  color='black')
plt.plot(diabetes_X_test, diabetes_y_pred, color='blue', linewidth=3)

plt.xticks(())
plt.yticks(())

plt.show()

在这里插入图片描述

拟合图

在这里插入图片描述

总结

最小二乘线性回归里面的基本算法!具体的代码思路我们要多练练!最近就在慢慢啃这个和比赛!哈哈哈,一起加油!

举报

相关推荐

0 条评论