机器学习一般步骤:
确定特征—确定模型—模型训练—模型评估
(数据来源csdn第一周波士顿房价预测详解)
一、确定特征
1.任务描述
输入X:13维特征
输出Y:房价,是连续值,所以是回归问题。
2.数据读取
Pandas.read_csv(’/Users/ai007/desktop/bst/day.csv’)
括号里是文件的路径,各位要记着用自己电脑的路径。
不怕笑话,就这里卡了我很久,mac系统确实很优秀、简洁,但不够亲民
主要有2个难点:
a. 路径确认,最简单的方式就是找到目标文件,右键—显示简介—位置—拷贝—粘贴在代码里,但是因为出错,后面再说,百度搜索,用pwd命令查看,耽误了不少时间,pwd用法:打开终端—cd desktop可定位到目标文件(我的文件存在桌面上)--cd bst(文件名)--pwd—显示绝对路径
b. 复制路径到代码里,记得加英文引号,加英文引号,加英文引号!单双均行。上面说的出错就是在这里,忘记加引号啦。。。
Pandas.read_csv(’/Users/ai007/desktop/bst/day.csv’)
3.数据探索、数据工程通常一起
a.查看数据规模:
b.确定数据类型
c.数据是否有缺失值
d.查看数据分布,是否有异常
※直方图:
import seaborn as sns
%matplotlib inline
连续型特征
sns.distplot(data.MEDV.values,bins=30,kde=False)
离散型特征
sns.countplot(X_train.RAD)
※散点图
sns.pairplot(data,size=6,x_vars=LSTAT,y_vars=MEDV)
e.查看两两特征的相关性,是否冗余、相关有多大?
相关性:通常|r|>0.5,就认为两者相关性比较强,也可以用散点图来查看相关性
一些常用函数:
head()查看前五行数据
info()查看数据行数和列数、每列的数据类型、是否有空值、占用的存储量等
shape:
data.shape 输出总行数、总列数(506,14)
data.describe()
查看各属性的统计特征:均值、标准差、最小值、最大值、四分之一分位数、中位数、四分之三分位数。
※观察类别型特征的取值范围
Train[col].value_counts()
特别注意第二个符号是下划线,不然就会出现问题。
※通过直方图或散点图发现离群点
直方图的尾巴
散点图上孤立的点
※保留分位数内的数据去掉离群点:>99%
train[‘price’].ix[train[‘price’]>ulimit]=ulimit
领取专属 10元无门槛券
私享最新 技术干货