机器学习之数据处理过程小知识+参考网址集合

机器学习之数据处理过程小知识



  • 画图
    fig,ax = plt.subplots()的理解
    这个fig,ax = plt.subplots()的意思是,建立一个fig对象,建立一个axis对象。
    不然要用更复杂的方式来建如下:
    fig=plt.figure()
    ax=fig.add_subplot(111)

pandas.DataFrame()中的iloc和loc用法

  • iloc(index locate ):用index(索引)进行定位,所以参数是整型
    如:df.iloc[10:20, 3:5],左边是行,右边是列
  • loc,则可以使用column名 和index名 进行定位
    如:df.loc[‘image1’:‘image10’, ‘age’:‘score’]
  • 两者区别是:一个用索引调用,一个用索引名调用

在iloc使用索引定位的时候,因为是索引,所以会按照索引的规则取值

  • 如:[1:5] 会取出 1,2,3,4 这4个值。

但是loc按照label标签取值则不是这样的

  • 如:[‘A’:‘C’] A,B,C 都会取出来。

*Sklearn-train_test_split随机划分训练集和测试集

https://blog.csdn.net/CherDW/article/details/54881167

*sklearn.model_selection.train_test_split随机划分训练集和测试集

官网文档:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html#sklearn.model_selection.train_test_split

一般形式:
train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取train data和testdata,形式为:

X_train, X_test,  y_train,  y_test  = cross_validation.train_test_split(train_data, train_target, test_size=0.4,  random_state=0 ) 

参数解释:

*train_data:所要划分的样本特征集

*train_target:所要划分的样本结果

*test_size:样本占比,如果是整数的话就是样本的数量

*random_state:是随机数的种子。

随机数种子:
其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。

随机数的产生取决于种子,随机数和种子之间的关系遵从以下两个规则:

种子不同,产生不同的随机数;种子相同,即使实例不同也产生相同的随机数。


*subplot和subplots绘制子图

https://blog.csdn.net/sinat_35930259/article/details/80002213


*python dataframe describe 参数 什么意思

describe()查看数据的分布情况

可返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数等相关信息


*列表推导式

[x*x for x in range(1,8)]  # 这里不仅可以用for,也可以用if,while等循环或者判断语句

Out[115]: [1, 4, 9, 16, 25, 36, 49]


*Numpy数据类型转换astype,dtype

https://blog.csdn.net/A632189007/article/details/77989287


*pycharm中使用正则表达式批量添加print括号
https://blog.csdn.net/m511655654/article/details/83142206


*打开这个csv可以发现数据已经整理好,没有非法数据,因此不需要做预处理。但是这些数据并没有归一化,也就是转化为均值0,方差1的格式。也不用我们搞,后面scikit-learn在线性回归时会先帮我们把归一化搞定。

https://www.cnblogs.com/pinard/p/6016029.html


*识别缺失数据的数目、分布和模式有两个目的:

分析生成缺失数据的潜在机制,评价缺失数据对回答实质性问题的影响。
我们需要弄清楚以下几个问题:

*缺失数据的比例多大?

*缺失数据是否集中在少数几个变量上,或者广泛存在?
*缺失是随机产生的吗?

*缺失数据间的相关性或与可观测数据间的相关性,是否可以表明产生缺失值的机制?


*pandas中apply函数的用法

https://blog.csdn.net/TH_NUM/article/details/80435666


*Sklearn-train_test_split随机划分训练集和测试集

https://blog.csdn.net/cherdw/article/details/54881167


*Pandas—排序sort_values

https://blog.csdn.net/wendaomudong_l2d4/article/details/80648633


*统计数据:pd.describe()

https://www.cnblogs.com/vvlj/p/10639050.html


*为什么要对数据进行标准化处理

数据标准化主要功能就是消除变量间的量纲关系,从而使数据具有可比性
举个简单的例子:
一个百分制的变量与一个5分值的变量在一起怎么比较?只有通过数据标准化,都把它们标准到同一个标准时才具有可比性
一般标准化采用的是Z标准化
即均值为0,方差为1,当然也有其他标准化,比如0–1标准化等等,可根据自己的研究目的进行选择。


*数据标准化的几种方法是什么?

方法一:规范化方法

也叫离差标准化,是对原始数据的线性变换,使结果映射到[0,1]区间。

方法二:正规化方法

这种方法基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。将A的原始值x使用z-score标准化到x’。

z-score标准化方法适用于属性A的最大值和最小值未知的情况,或有超出取值范围的离群数据的情况。

spss默认的标准化方法就是z-score标准化。

用Excel进行z-score标准化的方法:在Excel中没有现成的函数,需要自己分步计算,其实标准化的公式很简单。

步骤如下:

1.求出各变量(指标)的算术平均值(数学期望)xi和标准差si ;
2.进行标准化处理:

	zij=(xij-xi)/si

其中:zij为标准化后的变量值;xij为实际变量值。

3.将逆指标前的正负号对调。
标准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。


*某些列满足特定条件,然后改变另外的某些列的值(Python)

https://blog.csdn.net/a19990412/article/details/79609422


*Python数据可视化-seaborn使用

https://blog.csdn.net/sinat_23338865/article/details/80405567


*Pandas中Json数据处理

https://www.yuque.com/u86460/osqfxm/mbtq5w#5dc99f6e


*Seaborn 使用教程

https://blog.csdn.net/mengenqing/article/details/80658163


*房价预测(kaggle调试笔记)

https://blog.csdn.net/m0_37870649/article/details/80979783


语法
listdir()方法语法格式如下:

	os.listdir(path)

参数
path – 需要列出的目录路径

返回值
返回指定路径下的文件和文件夹列表。


*np.vstack, np.hstack的使用

https://blog.csdn.net/u012609509/article/details/70319293


*机器学习之离散值处理

https://blog.csdn.net/qq_30374549/article/details/81805613


*归一化与标准化

https://blog.csdn.net/u012101561/article/details/72506273/


*在pandas里面常用value_counts确认数据出现的频率。

如果想升序排列,设置参数 ascending = True:
如果想得出计数占比,可以加参数 normalize=True:


*利用pandas实现连续数据的离散化处理(分箱操作)

https://blog.csdn.net/qq_41080850/article/details/88806989


*正则表达式[\s\S]**?怎么解释?

可以匹配文档中任何一个位置。
\s 空白符
\S 非空白符
[\s\S]任意字符
[\s\S]* 0个到任意多个字符
[\s\S]*? 0个字符,匹配任何字符前的位置。

正则表达式中 \s代表一个空白字符(可能是空格、制表符、其他空白)。
\\s代表查找两个字符\和s,因为\在正则中有特殊意义,所有需要转义,写成了\\。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值