小白求教:一样的数据和差不多的代码,线性回归(LinearRegression)为甚麽自己的和书上的准确率差了挺多

  统计/机器学习    浏览次数:1457        分享
0

书是python机器学习及实践_从零开始通往kaggle之路

书上的准确率:0.9+ 我的只有0.8+ 不知道怎么肥事

还有这本书为什么要把产品编号也作为一个特征啊?

代码如下(python 3):


import pandas as pd

import numpy as np

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

from sklearn.metrics import accuracy_score

from sklearn.linear_model import LinearRegression

from sklearn.linear_model import SGDClassifier


#创建特征列表

column_names = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape', 'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin', 'Normal Nucleoli', 'Mitoses', 'Class']


#采用read_csv函数读取文件,默认用逗号分隔数据

data = pd.read_csv('d:/breast-cancer-wisconsin.data', names=column_names, delimiter=',')


#将?替换为标准缺失值表示

data = data.replace(to_replace='?', value=np.nan)

#删除有空值的行

data = data.dropna(how='any')


#将前10列选为特征。

X = data[column_names[1:10]]

#将Class命名的列取出作为待预测的类别。

y = data[column_names[10]]


# 25%的数据作测试集,75%的数据作训练样本。random_state设定为2019,为了保证每次重新运行获得的训练集和测试集是一样的。

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=2019)


#标准化数据

ss=StandardScaler()

X_train=ss.fit_transform(X_train)

X_test=ss.transform(X_test)


# 初始化逻辑斯蒂回归模型和随机梯度参数模型

lr = LinearRegression()

sgdc= SGDClassifier ()


#调用 LinearRegression中的fit函数用来训练模型参数。

lr.fit(X_train, y_train)

#使用训练好的模型lr对X_test进行预测,结果储存在变量lr_y_predict中。

lr_y_predict=lr.predict (X_test)


#调用SGDClassifier中的fit函数用来训练模型参数。

sgdc.fit(X_train, y_train)

#使用训练好的模型sgdc对X_test进行预测结果储存在变量sgdc_y_predict中。

sgdc_y_predict=sgdc.predict(X_test)


#使用逻辑斯蒂回归模型自带的评分函数score获得模型在测试集上的准确性结果。

print('Accuracy of LR Classifier:', lr.score(X_test, y_test))

print('Accuracy of SGDClassifier:', sgdc.score(X_test, y_test))


 

会一点点DM的猫   2020-12-13 20:29



   1个回答 
0

1. 贴代码应该用代码块,你这个代码没人能看懂,你应该重新编辑问题

SofaSofa数据科学社区DS面试题库 DS面经

anlijuncn   2020-12-14 11:22

啊对不起 我重新编辑一下 - 会一点点DM的猫   2020-12-14 14:15


  相关讨论

使用深度学习进行图像分类

央视新闻《秒速飞艇高手公式》新闻频道-央视网

机器学习基础

知识图谱Knowledge Graph构建与应用研修班线上课程的通知

关于node.js的问题

央视新闻《大发回本邀请码哪里有》新闻频道-央视网

新人报道新人报道

out of core是什么意思?

牛盈宝-|开户找永华证券|配资排行|股市融资|股票扛杆

央视新闻《极速赛车注册平台》新闻频道 - 央视网

  随便看看

laplace光滑什么意思

医学统计里的c-index或者c-statistic是什么意思?

如何度量一个分布长尾的程度?

在使用PCA降维时,有哪些坑?

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容