السلام عليكم
ده الكود
class ConditionalProbability:
def __int__(self,col1,col2):
self.column_name1 = col1
self.column_name2 = col2
def average(self):
condition = data_train[self.col1] > data_train[self.col1].mean()
subset = data_train[condition][self.column_name2]
self.mu,self.sigma = np.mean(subset),np.std(subset)
return self.mu,self.sigma
def distribution_values(self):
x = np.linspace(self.mu - 4*self.sigma, self.mu + 4 *self.sigma,100)
pdf = scipy.stats.norm.pdf(x,self.mu,self.sigma)
p_conditional = 1 - scipy.stats.norm.cdf
return x,pdf,p_conditional
def plot(self):
x,pdf,p_conditional = self.distribution_values()
plt.figure(figsize=(8,5))
plt.plot(x, pdf, label=f'Distribution of {self.col2} (given {self.col1} > mean)')
plt.fill_between(x, pdf, where=(x > 0), color='orange', alpha=0.4,
label=f'Area where returns > 0\nP = {p_conditional:.3f}')
plt.axvline(0, color='red', linestyle='--', label='return = 0')
plt.title('Conditional Probability Visualization')
plt.xlabel('Forward Returns')
plt.ylabel('Density')
plt.legend()
plt.show()
وده الخطاء
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/tmp/ipykernel_36/4033021502.py in <cell line: 0>()
1 v1 = ConditionalProbability('V1','forward_returns')
----> 2 v1.plot()
/tmp/ipykernel_36/3439074975.py in plot(self)
20
21 def plot(self):
---> 22 x,pdf,p_conditional = self.distribution_values()
23 plt.figure(figsize=(8,5))
24 plt.plot(x, pdf, label=f'Distribution of {self.col2} (given {self.col1} > mean)')
/tmp/ipykernel_36/3439074975.py in distribution_values(self)
13
14 def distribution_values(self):
---> 15 x = np.linspace(self.mu - 4*self.sigma, self.mu + 4 *self.sigma,100)
16 pdf = scipy.stats.norm.pdf(x,self.mu,self.sigma)
17 p_conditional = 1 - scipy.stats.norm.cdf(0,self.mu,self.sigma)
AttributeError: 'ConditionalProbability' object has no attribute 'mu'