在 Python 中使用 Sklearn 的逻辑回归函数
Logistic Regression Function Using Sklearn in Python
我的逻辑回归函数有问题,我正在使用 Pycharm IDE 和 sklearn.linear_model
包 LogisticRegression
.
我的调试器显示 AttributeError 'tuple' object has no attribute 'fit' and 'predict'
。
代码如下:
def logistic_regression(df, y):
x_train, x_test, y_train, y_test = train_test_split(
df, y, test_size=0.25, random_state=0)
sc = StandardScaler()
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
clf = LogisticRegression(random_state=0, solver='sag',
penalty='l2', max_iter=1000, multi_class='multinomial'),
clf.fit(x_train, y_train)
y_pred = clf.predict(x_test)
return classification_metrics.print_metrics(y_test, y_pred, 'Logistic regression')
谁能帮忙找出这里的错误?因为对于其他功能,我尝试了 fit
和 predict
看起来不错。
我在评论中提到的代码中有一个小错误。
请删除逻辑回归模型对象创建中的逗号。
也没有这样的函数叫做classification_metrics.print_metrics
所以我用了metrics.classification_report
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
def logistic_regression(df, y):
x_train, x_test, y_train, y_test = train_test_split(df, y, test_size=0.25, random_state=0)
sc = StandardScaler()
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
clf = LogisticRegression(random_state=0, solver='sag', penalty='l2', max_iter=1000, multi_class='multinomial')
clf.fit(x_train, y_train)
y_pred = clf.predict(x_test)
return metrics.classification_report(y_test, y_pred)
函数调用
logistic_regression(df, y)
我的逻辑回归函数有问题,我正在使用 Pycharm IDE 和 sklearn.linear_model
包 LogisticRegression
.
我的调试器显示 AttributeError 'tuple' object has no attribute 'fit' and 'predict'
。
代码如下:
def logistic_regression(df, y):
x_train, x_test, y_train, y_test = train_test_split(
df, y, test_size=0.25, random_state=0)
sc = StandardScaler()
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
clf = LogisticRegression(random_state=0, solver='sag',
penalty='l2', max_iter=1000, multi_class='multinomial'),
clf.fit(x_train, y_train)
y_pred = clf.predict(x_test)
return classification_metrics.print_metrics(y_test, y_pred, 'Logistic regression')
谁能帮忙找出这里的错误?因为对于其他功能,我尝试了 fit
和 predict
看起来不错。
我在评论中提到的代码中有一个小错误。
请删除逻辑回归模型对象创建中的逗号。
也没有这样的函数叫做classification_metrics.print_metrics
所以我用了metrics.classification_report
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
def logistic_regression(df, y):
x_train, x_test, y_train, y_test = train_test_split(df, y, test_size=0.25, random_state=0)
sc = StandardScaler()
x_train = sc.fit_transform(x_train)
x_test = sc.transform(x_test)
clf = LogisticRegression(random_state=0, solver='sag', penalty='l2', max_iter=1000, multi_class='multinomial')
clf.fit(x_train, y_train)
y_pred = clf.predict(x_test)
return metrics.classification_report(y_test, y_pred)
函数调用
logistic_regression(df, y)