多类分类

问题描述 投票:0回答:0

文件“教科书采用 3 groups.csv”包含 119 所大学的信息,目标是使用这些数据来拟合模型并使用 6 个预测变量进行预测。

将响应变量的类合并为两个元类,使其与其他类相比不再存在。出版商希望找出那些可能停止使用这本书的人,以便采取积极行动。

  1. 将数据分为训练数据集 (60%) 和验证数据集 (40%)。使用随机种子 202。

  2. 运行逻辑回归、KNN 和神经网络模型。报告三个模型中每个模型的验证混淆矩阵。

  3. 比较三种单独方法的验证集的错误率。

  4. 使用您的模型在验证集上生成增益和十分位数提升图并比较它们的性能..

我已经弄清楚了问题 1 - 3 的代码,但在尝试绘制增益和十分位数升力图表时,我的代码出现错误。具体来说,使用“cumulative_positives =validation_results['Actual'].cumsum()/total_positive_instances”行。我做错了什么?

# Calculating predicted probabilities for each model on the validation set
lr_probs = lr_model.predict_proba(X_validation)[:, 1]
knn_probs = knn_model.predict_proba(X_validation)[:, 1]
nn_probs = nn_model.predict_proba(X_validation)[:, 1]

# Combine the probabilities and the actual target values in a DataFrame
validation_results = pd.DataFrame({
    'Actual': y_validation,
    'LR_Prob': lr_probs,
    'KNN_Prob': knn_probs,
    'NN_Prob': nn_probs})

# Sort the DataFrame by predicted probabilities in descending order
validation_results = validation_results.sort_values(by='LR_Prob', ascending=False)

# Calculate the cumulative gains for each model
total_positive_instances = validation_results['Actual'].sum()
cumulative_positives = validation_results['Actual'].cumsum() / total_positive_instances

# Calculate the decile lift for each model
deciles = np.linspace(10, 100, 10).astype(int)
decile_lifts = []
for decile in deciles:
    threshold_index = len(validation_results) * decile // 100
    decile_lift = validation_results['Actual'].iloc[:threshold_index].mean() / validation_results['Actual'].mean()
    decile_lifts.append(decile_lift)

# Plotting the gains chart
plt.plot(np.linspace(0, 100, len(validation_results)), cumulative_positives, label='Logistic Regression')
plt.xlabel('Percentage of Data')
plt.ylabel('Percentage of Positive Instances Captured')
plt.title('Gains Chart')
plt.legend()
plt.show()

# Plotting the decile lift chart
plt.bar(deciles, decile_lifts)
plt.xlabel('Deciles')
plt.ylabel('Decile Lift')
plt.title('Decile Lift Chart')
plt.show()
python jupyter cumsum
© www.soinside.com 2019 - 2024. All rights reserved.