读取CSV文件
import pandas as pd
df_ads = pd.read_csv('/kaggle/input/mydataset/advertising.csv')
print(df_ads)
结果像这样:
画热力图
import matplotlib.pyplot as plt #Matplotlib为Python画图工具库
import seaborn as sns #Seaborn为统计学数据可视化工具库
sns.heatmap(df_ads.corr(), cmap='YlGnBu', annot = True)
plt.show() #plt代表英文plot, 就是画图的意思
结果
热力图值越高相关性越高
画数据的散点图
import matplotlib.pyplot as plt #Matplotlib为Python画图工具库
import seaborn as sns #Seaborn为统计学数据可视化工具库
sns.pairplot(df_ads,
x_vars=['wechat', 'weibo', 'others'],
y_vars='sales',
height=4, aspect=1, kind='scatter')
plt.show()
结果如下:
从表格DataFrame取出一列的值
import pandas as pd
X = np.array(df_ads.wechat) #构建特征集, 只含有微信公众号广告投放金额一个特征
y = np.array(df_ads.sales) #构建标签集, 销售额
把(200,)变成(200,1),即向量变矩阵
X = X.reshape((len(X), 1))
y = y.reshape((len(y), 1))
将数据集划分为训练集和测试集
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)
Sklearn中的train_test_split函数,是机器学习中拆分数据集的常用工具,这个工具会为数据集进行乱序(重新随机排序)的工作,因为其中的shuffle参数默认值为True。
random_state参数,这个数叫作随机化种子,每次设定固定的种子能够保证得到同样的训练集和测试集,否则进行随机分割。