数据分析——回归分析
程序员文章站
2022-05-09 13:17:01
...
性能度量
from sklearn.metrics import precision_score
from sklearn.metrics import classification_report
y_true=[1,0,1,1,0]#样本实际值
y_pred=[1,0,1,0,0]#模型预测值
res=precision_score(y_true,y_pred,average=None)#准确率
res=classification_report(y_true,y_pred)
print(res)
线性回归
sklearn.linear_model中的linearregression可以实现线性回归
linearregression的构造方法
linearregression的常用方法有:
decision_function(x)#返回x的预测值y
fit(x,y[n,jobs])#拟合模型
get-params([deep])#获取linearregression构造方法的参数信息
predict(x)#求预测值同decision function
from sklearn.linear_model import LinearRegression
clf=LinearRegression()
clf.fit([[0,0],[1,1],[2,2]],[0,1,2])
pre=clf.predict([[3,3]])#注意fit函数要求x是二维数据;因此predict也必须是二维的,需要再添加一个中括号表示其【3,3】是一个一行二列的x
print(pre)
clf.coef_#属性取值,x1,x2系数
clf.intercept_#查看截距
波士顿房价预测
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
boston=load_boston()#实例化
x=boston.data[:,5:6]
clf.fit(boston.data[:,5:6],boston.target)
clf.coef_
y_pre=clf.predict(boston.data[:,5:6])
plt.scatter(x,boston.target)
plt.plot(x,y_pre,c='r')
plt.show()
logistic回归
分类和回归的关系:输出值是离散的则是分类问题;连续值是回归;
logistic回归是用于解决分类问题的模型,是对数几率的回归属于广义线性模型(GLM),每个样本均独立服从于伯努利分布
的
判断研究生是否会被录取
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split
data =pd.read_csv('./LogisticRegression.csv')
data_tr,data_te,label_tr,label_te=train_test_split(data.iloc[:,1:],data['admit'],test_size=0.2)
clf=LogisticRegression()
clf.fit(data_tr,label_tr)
pre=clf.predict(data_te)
res=classification_report(label_te,pre)
print(res)
下一篇: oracle 算术运算