作者:黄佳
出版社:人民邮电出版社
出版日期:2020年12月
1.1 机器学习的家族图谱
主要包括机器学习快速上手路径、数学和Python 基础知识、机器学习基础算法(线性回归和逻辑回归)、深度神经网络、卷积神经网络、循环神经网络、经典算法、集成学习、无监督和半监督等非监督学习类型、强化学习实战等内容,以及相关实战案例。
所有案例均通过Python及Scikit-learn 机器学习库和Keras 深度学习框架实现,同时还包含丰富的数据分析和数据可视化内容。
1.2 快捷的云实战模式
加州房价数据分析:
import pandas as pd #导入Pandas,用于数据读取和处理
# 读入房价数据,示例代码中的文件地址为internet链接,读者也可以下载该文件到本机进行读取
# 如,当数据集和代码文件位于相同本地目录,路径名应为"./house.csv",或直接放"house.csv"亦可
df_housing = pd.read_csv("https://raw.githubusercontent.com/huangjia2019/house/master/house.csv")
df_housing.head #显示加州房价数据
X = df_housing.drop("median_house_value",axis = 1) #构建特征集X
y = df_housing.median_house_value #构建标签集y
from sklearn.model_selection import train_test_split #导入数据集拆分工具
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=0.2, random_state=0) #以80%/20%的比例进行数据集的拆分
from sklearn.linear_model import LinearRegression #导入线性回归算法模型
model = LinearRegression() #使用线性回归算法
model.fit(X_train, y_train) #用训练集数据,训练机器,拟合函数,确定参数
y_pred = model.predict(X_test) #预测测试集的Y值
print ('房价的真值(测试集)',y_test)
print ('预测的房价(测试集)',y_pred)
print("给预测评分:", model.score(X_test, y_test)) #评估预测结果
import matplotlib.pyplot as plt #导入matplotlib画图库
#用散点图显示家庭收入中位数和房价中位数的分布
plt.scatter(X_test.median_income, y_test, color='brown')
#画出回归函数(从特征到预测标签)
plt.plot(X_test.median_income, y_pred, color='green', linewidth=1)
plt.xlabel('家庭收入中位数') #X轴-家庭收入中位数
plt.ylabel('房价中位数') #Y轴-房价中位数
plt.show() #显示房价分布和机器习得的函数图形