You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook中LogisticRegression输出异常仅显示类名求助

解决Logistic Regression训练后仅输出模型实例的问题

问题场景

在Jupyter Notebook中实现逻辑回归时,执行clf.fit(X_train,y_train)后,输出仅为LogisticRegression(),无预期的训练结果。相关代码如下:

import numpy as np
import pandas as pd

df = pd.read_csv('placement.csv')
df.head()
df.info()

df = df.iloc[:,1:]
df.head()

import matplotlib.pyplot as plt
plt.scatter(df['cgpa'],df['iq'],c=df['placement'])

X = df.iloc[:,0:2]
y = df.iloc[:,-1]

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.1)

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

from sklearn.linear_model import LogisticRegression
clf = LogisticRegression()
clf.fit(X_train,y_train)
# 此处仅输出LogisticRegression()

原因与解决方法

  1. 核心原因:clf.fit()方法的返回值是模型实例本身(即clf),Jupyter Notebook会自动打印最后一行代码的返回值,所以你看到的LogisticRegression()只是模型对象的字符串表示,并非训练失败。

  2. 获取有效结果的操作:

    • 查看模型训练得到的参数:调用clf.coef_(特征权重)、clf.intercept_(截距项)
    • 对测试集进行预测:使用clf.predict(X_test)生成预测结果
    • 评估模型性能:通过clf.score(X_train, y_train)/clf.score(X_test, y_test)查看准确率,或调用sklearn.metrics中的混淆矩阵、精确率等指标

修改后的代码示例

在clf.fit()后添加以下代码即可获取有效输出:

# 查看模型参数
print("特征权重系数:", clf.coef_)
print("模型截距项:", clf.intercept_)

# 生成测试集预测结果
y_pred = clf.predict(X_test)

# 计算测试集准确率
from sklearn.metrics import accuracy_score
print("测试集准确率:", accuracy_score(y_test, y_pred))

# 查看训练集/测试集得分
print("训练集得分:", clf.score(X_train, y_train))
print("测试集得分:", clf.score(X_test, y_test))
  1. 隐藏模型实例输出:如果不想看到LogisticRegression()的打印,只需在clf.fit(X_train,y_train)末尾添加分号:
clf.fit(X_train,y_train);

内容的提问来源于stack exchange,提问作者Partha Pratim Sarma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:40:26