神经网络与深度学习笔记汇总三

神经网络与深度学习笔记汇总三


将之前掘金写的学习笔记所遇困难搬到这里,方便查看复习
遇到问题:

异常值处理

学习内容

1、.drop() 返回的是一个新对象,原对象不会被改变。

2、遇到问题

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all() 大致意思是数组的真实值不明确

多种解决方法,类型改为float,或者用它上面提供的方法

学习内容

1、标准化/归一化

alll.apply(lambda x: (x - np.min(x)) / (np.max(x) - np.min(x)))

这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

2、缺失值应采取何种填充方式
缺失值应采取何种填充方式

学习内容

1、

2、特征参数相当大的时候,正规方程的计算会非常缓慢。

学习内容

1、最常用的求解方法有两种:批量梯度下降法(batch gradient descent), 正规方程方法(normal equations)。 前者是一种通过迭代求得的数值解,后者是一种通过的公式一步到位求得的解析解。在特征个数不太多的情况下,后者的速度较快,一旦特征的个数成千上万的时候,前者的速度较快。另外,先对特征标准化可以加快求解速度。

2、线性回归对异常值非常敏感

学习内容

1、用平均值、中值、分位数、众数、随机值等替代。效果一般,因为等于人为增加了噪声

2、数据保存

merge_data.to_csv('merge_data.csv',index=False)

学习内容

1、

NAN(Not A number):意思:不是一个数字,是一个空值

Inf(Infinity 英 /ɪn’fɪnɪtɪ/ 美 /ɪn’fɪnəti/ ):意识是:无穷、无穷大

2、欧式距离和余弦相似度的区别

余弦相似度衡量的是维度间取值方向的一致性,注重维度之间的差异,不注重数值上的差异,而欧氏度量的正是数值上的差异性。

学习内容

1、升维往往能让数据直接的关系更加清楚,更易于找到规律。其次,也是更重要的,分箱之后可以让无序数据之间关系更加正确。

2、Object 数据类型是个对象类型

Object 数据类型可以指向任意数据类型的数据,包括您的应用程序识别的任意对象实例。当您在编译时不知道变量可能指向哪种数据类型时,请使用 Object。

学习内容

1、散布图,辨认某现象的测量值与可能原因因素之间的关系

sns.jointplot(XX, XXX, alpha=XXX)

2、离散化:将定量数据向定性数据转化。比如一系列连续数据,可用标签进行替换(0,1)

3、规范化:把数据单按比例缩放,比如数据标准化处理;针对数值型的数据

学习内容

1、astype(int) 将数据类型变为整数类型

2、通过DataFrame或Series的apply方法调用:pd.to_datetime或pd.to_numeric;

object—>datetime:使用pd.to_datetime,不能转的转换为空NaT(不同于NaN),errors=‘coerce’;

object—>float:使用pd.to_numeric,不能转的转换为空NaN,errors=‘coerce’;

另astype方法也能转数值,但功能被pd.to_numeric覆盖,对于不能转的数据的处理:默认errors='raise’报错;可选errors='ignore’忽略不转,维持原样;

houseprice['LotFrontage'].fillna(method='pad') 


使用前一个数值替代空值或者NA,就是NA前面最近的非空数值替换

houseprice['LotFrontage'].fillna(method='bfill',limit=1) 


使用后一个数值替代空值或者NA,limit=1就是限制如果几个连续的空值,只能最近的一个空值可以被填充。

houseprice['LotFrontage'].fillna(houseprice['LotFrontage'].mean())    


使用平均值进行填充

houseprice['LotFrontage'].interpolate()

使用插值来估计NaN 如果index是数字,可以设置参数method=‘value’ ,如果是时间,可以设置method=‘time’

houseprice= houseprice.fillna(houseprice.mean()) 

将缺失值全部用该列的平均值代替,这个时候一般已经提前将字符串特征转换成了数值。

学习内容

1、str.split

用在预测票房中的时间部分

年月日之间分别用\分隔,可以用

train[['release_month','release_day','release_year']]=train['release_date'].str.split('/',expand=True).replace(np.nan, -1).astype(int)

2、处理缺失数据时,比如该列都是字符串,不是数值,可以将出现次数最多的字符串填充缺失值。

学习内容

1、查看缺失值

print(all_data.isnull().sum())

2、特征值类型为分类变量(object),需要将该特征值(除了因变量Y)变为多列(one hot encode),才能参与到建模当中

3、使用平均值进行填充缺失值,相当于在改变数据

学习内容

1、倾斜数值特征通过函数log(feature + 1) ,这样使得特征更加标准正规,有利于建立更加好模型。

2、交叉验证可以用来验证分类器性能,具体参考https://www.cnblogs.com/sddai/p/5696834.html

3、训练集测试集放一起,方便统一标准


学习内容

1、pandas.read_csv可以读取CSV(逗号分割)文件、文本类型的文件text、log类型到DataFrame

2、 Dataframe写入到csv文件

df.to_csv('D:\\a.csv', sep=',', header=True, index=True)
​


3、pd.concat()用于数据合并

具体为

df = pd.concat([data_train, dummies_Cabin, dummies_Embarked, dummies_Sex, dummies_Pclass], axis=1)
df.drop(['Pclass', 'Name', 'Sex', 'Ticket', 'Cabin', 'Embarked'], axis=1, inplace=True)

学习内容

1、数据的转换过程:

选择数据:收集整合数据,将数据规划化为一个数据集

预处理数据:对数据进行清洗、格式化、采样

转换数据:特征工程所在

对数据建模:构建模型、评估模型、调整模型

2、特征工程的迭代过程:

对特征进行头脑风暴:深入分析问题,观察数据特点,参考其他问题的有关特征工程的方法并应用到自己问题中

特征的设计:你可以自动提取特征,手动构造特征,或将两者相结合

特征选择:使用不同的特征重要性评分方法或特征选择方法

评估模型:利用所选择的特征对测试数据进行预测,评估模型准确性

往期回顾

吴恩达神经网络和深度学习笔记(广播,激活函数).
神经网络与深度学习笔记汇总一.
神经网络与深度学习笔记汇总二.
神经网络与深度学习笔记汇总三.
神经网络与深度学习笔记汇总四.
神经网络与深度学习笔记汇总五.

猜你喜欢

转载自blog.csdn.net/qq_43337502/article/details/108032062
今日推荐