电子说
知识点离散数据的处理
若数据存在“序”关系则连续化,如:
| 离散 | 连续 |
| 高/m | 高 |
| 10 | 1 |
| 5 | 0.5 |
| 1 | 0 |
否则,转为K维向量代码可见本实例中的Pd.get_dummies(X['state'])。但要注意虚拟变量,例如“性别”变量,可虚拟出“男”和”女”两个变量,
| 男 | 1 | 0 |
| 女 | 0 | 1 |
这里所说的虚拟变量陷阱是两个或多个变量高度相关的情况,简单地说,一个变量可以从其他变量中预测出来,那么这里就有一个重复的类别,可以去掉一个变量,节约内存计算机内存空间,减少计算量。
本实例用的数据集是50_Startups.csv,
代码如下:
import numpy as np
pip install matplotlib
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv("D:/python/50.csv")
X=dataset.iloc[:,0:4]#0到3列的所有行数据(共4列)
X["State"].unique()
y=dataset.iloc[:,4]#第5列的所有行数据
pd.get_dummies(X ['State'])#离散数据转为K维向量
statesdump=pd.get_dummies(X['State'],drop_first=True)#去掉X['State']的第一列数据(减少虚拟变量)
X=X.drop('State',axis=1)
X=pd. concat([X,statesdump],axis=1)
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test =train_test_split(X,y,test_size=0.3,random_state=0)
x_train
#引入线性回归模型拟合训练集
from sklearn.linear_model import LinearRegression
regressor=LinearRegression()
model=regressor.fit(x_train,y_train)
#预测测试集的结果
y_predict=regressor.predict(x_test)
from sklearn.metrics import r2_score#
score1=r2_score(y_test,y_predict)
model.coef_#多元函数的系数
model.intercept_#函数的截距
model.score(X,y)
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !