创建特征和目标
我们已经「几乎」准备好了可用于机器学习的特征和目标——我们有来自当前价格变动(5d_close_pct)和技术指标(移动平均与 RSI)的特征,并创建了未来价格变动(5d_close_future_pct)作为目标。现在需要把它们拆分为独立的 numpy 数组,以便输入到机器学习算法中。
由于这些指标的计算,DataFrame 开头会出现缺失值。我们可以向后填充、用单一数值填充,或直接删除这些行。为避免回填或用 0 填充的数据干扰机器学习算法,删除这些行是个不错的选择。Pandas 提供了 .dropna() 函数,可用于删除包含缺失值的任何行。
本练习是课程的一部分
Python 金融机器学习
练习说明
- 使用 pandas 的
.dropna()从lng_df中删除缺失值。 - 创建一个包含我们目标值的变量,即
'5d_close_future_pct'。 - 创建一个同时包含目标(
5d_close_future_pct)和特征(在现有列表feature_names中)的 DataFrame,以便检查相关性。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Drop all na values
lng_df = lng_df.____
# Create features and targets
# use feature_names for features; '5d_close_future_pct' for targets
features = lng_df[feature_names]
targets = lng_df[____]
# Create DataFrame from target column and feature columns
feature_and_target_cols = ['5d_close_future_pct'] + ____
feat_targ_df = lng_df[feature_and_target_cols]
# Calculate correlation matrix
corr = feat_targ_df.corr()
print(corr)