首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的logistic回归模型获得了100%的准确性?

为什么我的logistic回归模型获得了100%的准确性?
EN

Stack Overflow用户
提问于 2019-12-01 02:27:10
回答 1查看 1.1K关注 0票数 0

导入库

代码语言:javascript
复制
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import sklearn 
from sklearn import preprocessing
import seaborn as sns
%matplotlib inline

读取数据

代码语言:javascript
复制
 df =pd.read_csv('./EngineeredData_2.csv')
    df =df.dropna()

将数据拆分为x和y:

代码语言:javascript
复制
X= df.drop (['Week','Div', 'Date', 'HomeTeam', 'AwayTeam','HTHG', 'HTAG','HTR', 
            'FTAG', 'FTHG','HGKPP', 'AGKPP', 'FTR'], axis =1)

将y转换为整数:

代码语言:javascript
复制
 L = preprocessing.LabelEncoder ()
    matchresults = L.fit_transform (list (df['FTR']))
    y =list(matchresults)

将数据拆分为训练和测试:

代码语言:javascript
复制
from sklearn.model_selection import train_test_split
X_tng,X_tst, y_tng, y_tst =train_test_split (X, y, test_size = 50, shuffle=False)
X_tng.head()

导入类

代码语言:javascript
复制
from sklearn.linear_model import LogisticRegression

实例化模型

代码语言:javascript
复制
logreg = LogisticRegression ()

将模型与数据拟合

代码语言:javascript
复制
 logreg.fit (X_tng, y_tng)

预测测试数据y_pred = logreg.predict (X_tst)

代码语言:javascript
复制
    acc = logreg. score (X_tst, y_tst)
    print (acc)

准确率达到100%有意义吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-06 16:55:00

问题是,您无意中丢弃了所有功能,只保留了x中的目标值。因此,您正在尝试使用目标值本身来解释目标值,这当然会为您提供100%的准确性。您将功能列定义为:

代码语言:javascript
复制
X= df.drop (['Week','Div', 'Date', 'HomeTeam', 'AwayTeam','HTHG', 'HTAG','HTR', 
            'FTAG', 'FTHG','HGKPP', 'AGKPP', 'FTR'], axis =1)

但您应该将它们定义为:

代码语言:javascript
复制
X= df.drop('FTR', axis =1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59119041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档