机器学习笔记-确定特征

机器学习一般步骤:

确定特征—确定模型—模型训练—模型评估

(数据来源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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181104G1MWTC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券