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

  统计/机器学习    浏览次数:206        分享
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


  相关主题

有人关注机器学习在量化交易中的应用吗?   1回答

如何评价大数据的未来?   2回答

因子分析的维度是怎么划分的呢   0回答

生存分析中left censored, right censored有什么区别?   1回答

关于node.js的问题   1回答

关于大规模稀疏矩阵的问题   2回答

分类问题中用逻辑回归处理不同输入标签的问题   1回答

python能不能直接读取word文本,doc或者docx文件?   1回答

线性基分类器的XGboost的原理是怎样的?   2回答

RBF核的多参数体现在哪?   2回答

东方财富的数据怎么爬下来   1回答

Jupiter notebook中显示一个dataframe所有的列   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!