使用 sklearn 在 python 中执行逻辑回归分析
Performing logistic regression analysis in python using sklearn
我正在尝试执行逻辑回归分析,但我不知道我的代码中的哪一部分有误。它在 logistic_regression.fit(X_train, y_train)
行给出错误。但它似乎没问题,因为我从不同的来源检查过。有人可以帮忙吗?
这是我的代码:
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
df = pd.read_csv("/Users/utkusenel/Documents/Data Analyzing/data.csv", header=0, sep=";")
data = pd.DataFrame(df)
x = data.drop(columns=["churn"]) #features
y = data.churn # target variable
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)
logistic_regression = LogisticRegression()
logistic_regression.fit(X_train, y_train)
这里有多个问题。
- 您的 headers 第一行末尾有一个
';'
。所以它将阅读一个额外的专栏。您需要在 churn
. 之后删除 ';'
- 您在此处尝试使用的训练数据 X_train 将包含多个 text/categorical 列。您需要将这些转换成数字。在此处查看 OneHotEncoder:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html and LabelEncoder here: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html
将文本和分类数据转换为数字并删除额外的 ';'
分隔符后,运行 再次使用您的算法。
我正在尝试执行逻辑回归分析,但我不知道我的代码中的哪一部分有误。它在 logistic_regression.fit(X_train, y_train)
行给出错误。但它似乎没问题,因为我从不同的来源检查过。有人可以帮忙吗?
这是我的代码:
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
df = pd.read_csv("/Users/utkusenel/Documents/Data Analyzing/data.csv", header=0, sep=";")
data = pd.DataFrame(df)
x = data.drop(columns=["churn"]) #features
y = data.churn # target variable
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)
logistic_regression = LogisticRegression()
logistic_regression.fit(X_train, y_train)
这里有多个问题。
- 您的 headers 第一行末尾有一个
';'
。所以它将阅读一个额外的专栏。您需要在churn
. 之后删除 - 您在此处尝试使用的训练数据 X_train 将包含多个 text/categorical 列。您需要将这些转换成数字。在此处查看 OneHotEncoder:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html and LabelEncoder here: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html
';'
将文本和分类数据转换为数字并删除额外的 ';'
分隔符后,运行 再次使用您的算法。