异常值处理
学习内容
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、缺失值应采取何种填充方式
缺失值应采取何种填充方式
学习内容
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、特征工程的迭代过程:
对特征进行头脑风暴:深入分析问题,观察数据特点,参考其他问题的有关特征工程的方法并应用到自己问题中
特征的设计:你可以自动提取特征,手动构造特征,或将两者相结合
特征选择:使用不同的特征重要性评分方法或特征选择方法
评估模型:利用所选择的特征对测试数据进行预测,评估模型准确性
吴恩达神经网络和深度学习笔记(广播,激活函数).
神经网络与深度学习笔记汇总一.
神经网络与深度学习笔记汇总二.
神经网络与深度学习笔记汇总三.
神经网络与深度学习笔记汇总四.
神经网络与深度学习笔记汇总五.