以下是Python中计算前11列特征与第12列的皮尔逊相关系数的完整代码:
```python
import numpy as np
def pearson_correlation(x, y):
"""
计算两个向量x和y之间的皮尔逊相关系数。
:param x: 第一个向量
:param y: 第二个向量
:return: 皮尔逊相关系数
"""
# 计算均值
x_mean = np.mean(x)
y_mean = np.mean(y)
# 计算分子和分母
numerator = np.sum((x - x_mean) * (y - y_mean))
denominator = np.sqrt(np.sum((x - x_mean) ** 2) * np.sum((y - y_mean) ** 2))
# 计算皮尔逊相关系数
if denominator == 0:
return 0
else:
return numerator / denominator
# 生成随机数据,包含12列特征和1列标签
data = np.random.rand(100, 13)
# 分离特征和标签
X = data[:, :-1]
y = data[:, -1]
# 计算每一列特征与标签之间的皮尔逊相关系数
for i in range(X.shape[1]):
corr = pearson_correlation(X[:, i], y)
print("Feature %d correlation with label: %.4f" % (i+1, corr))
```
该代码首先生成了一个包含12列特征和1列标签的随机数据集。然后,我们将特征和标签分离开来。接下来,我们使用一个for循环来计算每一列特征与标签之间的皮尔逊相关系数。在每次迭代中,我们调用上面定义的pearson_correlation函数,并传入当前特征列和标签列作为参数。最后,我们打印出每个特征与标签之间的皮尔逊相关系数。