人工智能学习之机器学习总结1
人工智能里面分机器学习和深度学习,机器学习里有线性回归,逻辑回归,聚类,深度学习里有卷积神经网络和循环神经网和多层感知器
首先学习了线性回归,其思想就是使用梯度下降算法(求导数)对a和b求导数,不断搜索迭代以求最好的线性a,b,使得预测值和真实值的差距越来越小,同时有损失函数MSE和R2 来评估模型,有scikit-learn评估模型
其使用流程一般为pandas导入数据,matplotlib绘制原始数据图,numpy将得到的原始数据转化为有维度的数组(方便使用函数预测),然后使用sclearn.LinearRegression().fit(数据)预测,多因子模型就使用loc[:]对数据切片
然后预测值可以使用对象.predict()获取,评估需要使用from sklearn.metrics import mean_squared_error,r2_score
import matplotlib from matplotlib import pyplot as plt #数据处理 x=[1,2,3,4,5,6,7,8,9,10] y=[7,9,11,13,15,17,19,21,23,25] #设置图像大小 fig1=plt.figure(figsize=(5,5)) #绘制线型图 plt.plot(x,y) #对x,y轴设置名称 plt.xlabel("x") plt.ylabel("y") plt.show()
import numpy as np from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error,r2_score #初始化对象 linear_model=LinearRegression() #用numpy将数据转化为数组并用reshape设置维度 x=np.array(x) x=x.reshape(-1,1) y=np.array(y) y=y.reshape(-1,1) #预测模型 linear_model.fit(x,y) #对象的predict用于预测模型的结果,预测x轴上的数据用[[0.6]]表示 y_predicct=linear_model.predict(x) print(y_predicct) a=linear_model.coef_ b=linear_model.intercept_ print(a,b)
[[ 7.] [ 9.] [11.] [13.] [15.] [17.] [19.] [21.] [23.] [25.]] [[2.]] [5.]
MSE=mean_squared_error(y,y_predicct) R2=r2_score(y,y_predicct)
print(MSE,R2)
plt.figure()
plt.scatter(y,y_predicct)
plt.show()