用uci的crimes做了一个线性回归,test很差

  统计/机器学习 回归分析 Python    浏览次数:118        分享
0


import numpy as np
import pandas as pd
import os
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

# Read the data
#crimesDF =pd.read_csv("crimes.csv",encoding="ISO-8859-1")
crimesDF =pd.read_csv("communities.csv",encoding="ISO-8859-1")

#Remove the 1st 7 columns
print(crimesDF.shape[1]) #128
crimesDF1=crimesDF.iloc[:,6:crimesDF.shape[1]]

# Convert to numeric
crimesDF2 = crimesDF1.apply(pd.to_numeric, errors='coerce')

# Impute NA to 0s
crimesDF2.fillna(0, inplace=True)

# Select the X (feature vatiables - all)
X=crimesDF2.iloc[:,0:120]

# Set the target
y=crimesDF2.iloc[:,121]
print(y)
X_train, X_test, y_train, y_test = train_test_split(X, y,random_state = 0)

# Fit a multivariate regression model
linreg = LinearRegression().fit(X_train, y_train)

# compute and print the R Square
print('R-squared score (training): {:.3f}'.format(linreg.score(X_train, y_train)))
print('R-squared score (test): {:.3f}'.format(linreg.score(X_test, y_test)))

## R-squared score (training): 0.78
## R-squared score (test): 0.03

test的score只有0.03 不知道是什么原因呢

 

constant007   2019-06-05 07:39



   2个回答 
0

看样子像过拟合了,应该是你变量太多,有多重线性相关了。

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

TTesT   2019-06-05 09:50

0

你换个random forest试试,再用cv调一下参

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

道画师   2019-06-12 20:29



  相关主题

python里怎么做分位数回归(quantile regression)?   1回答

系数非负的线性回归的python实现   2回答

常用的回归模型中,哪些具有较好的鲁棒性(robustness)?   2回答

逻辑回归模型中变量的系数怎么理解?   4回答

怎么理解分位数回归quantile regression的目标函数?   1回答

在线性回归模型中存在epoch的说法吗?   2回答

如果迫使一个线性回归模型的截距为0,会有什么坏处吗?   2回答

线性回归需要满足哪些基本前提假设   1回答

怎么处理真值大部分为0的回归问题   3回答

最小二乘线性回归的推导   2回答

泊松回归的公式是什么?   1回答

python中可以做beta regression的包?   1回答



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

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

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

我们谢绝答非所问。

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

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