转播网站如何做,做网站网站的代理算网站罪吗,东莞东城,深圳网络推广公司怎么样一、线性回归 线性回归是利用数理统计中回归分析#xff0c;来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
相关关系#xff1a;包含因果关系和平行关系 因果关系#xff1a;回归分析【原因引起结果#xff0c;需要明确自变量和因变量】 平行关系来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。相关关系包含因果关系和平行关系因果关系回归分析【原因引起结果需要明确自变量和因变量】平行关系相关分析【无因果关系不区分自变量和因变量】一元线性回归模型βo和β1是模型参数。E是误差项。误差项除线性因素外的随机因素所产生的误差。多元线性回归模型1.线性回归API文档参数sklearn.linear_model.LinearRegression(fit_interceptTrue,normalizeFalse,copy_XTrue,n_jobsNone)1参数fit_intercept:是否有截据如果没有则直线过原点。normalize:是否将数据归一化。copy_X 是否对X复制如果选择false则直接对原数据进行覆盖。即经过中心化标准化后是否把新数据覆盖到原数据上n_jobs计算时设置的任务个数(number of jobs)。如果选择-1则代表使用所有的CPU。这一参数的对于目标个数1n_targets1且足够大规模的问题有加速作用。2Attributes:返回值Coef_:对于线性回归问题计算得到的feature的系数。如果输入的是多目标问题则返回一个二维数组(n_targets, n_features)如果是单目标问题返回一个一维数组 (n_features,)。intercept_ 线性模型中的独立项。3方法fit(X, y[, n_jobs]) 对训练集X, y进行训练。predict(X)使用训练得到的估计器对输入为X的集合进行预测X可以是测试集也可以是需要预测的数据。score(X, y[,]sample_weight)预测效果评分。import pandas as pd#pandas基于numpy封装的 from matplotlib import pyplot as plt from sklearn.linear_model import LinearRegression data pd.read_csv(data.csv) a data.广告投入 #绘制散点图 plt.scatter(data.广告投入, data.销售额) plt.show() # corr data.corr()#求x和y的相关系数 #估计模型参数建立回归模型 lr LinearRegression() x data[[广告投入]] y data[[销售额]] lr.fit(x, y)#训练模型, #第四步、对回归模型进行检验 此处的score指R方 result lr.predict(x) score lr.score(x, y) a round(lr.intercept_[0],2)#查看截距 b round(lr.coef_[0][0], 2)#查看斜率 print(线性回归模型为y {}x {}..format(b, a)) #第五步、利用回归模型进行预测 predict lr.predict([[40], [45], [50]]) print(predict)二、逻辑回归在线性回归的基础上进行分类衍生出了逻辑回归逻辑回归LogisticRegression是一种广泛用于二分类和多分类任务的线性模型支持L1/L2/Elastic-Net正则化。lrLogisticRegression(C0.01)C正则化强度的倒数值越小正则化越强fit() 用于训练模型predict() 输出类别标签score() 计算准确率。labels_countpd.value_counts(data[Class])可以统计data‘class’中每个类的个数import pandas as pd datapd.read_csv(creditcard.csv) from sklearn.preprocessing import StandardScaler #z-标准化 scalerStandardScaler() data[Amount]scaler.fit_transform(data[[Amount]]) datadata.drop([Time],axis1)#axis1表示删除列 #绘制图形 import matplotlib.pyplot as plt from pylab import mpl #matplotlib不能显示中文借助于pylab实现中文显示 mpl.rcParams[font.sans-serif][Microsoft YaHei]#显示中文 mpl.rcParams[axes.unicode_minus] False labels_countpd.value_counts(data[Class])#同济data‘class’中每个类的个数 print(labels_count) plt.title(正负例样本数)#设置标题 plt.xlabel(类别) plt.ylabel(数量) labels_count.plot(kindbar) plt.show() 建立模型 from sklearn.model_selection import train_test_split x_wholedata.drop(Class,axis1) y_wholedata.Class x_train_w,x_test_w,y_train_w,y_test_wtrain_test_split\ (x_whole,y_whole,test_size0.3,random_state1000) from sklearn.linear_model import LogisticRegression #逻辑回归API lrLogisticRegression(C0.01) lr.fit(x_train_w,y_train_w) test_predictedlr.predict(x_test_w) resultlr.score(x_test_w,y_test_w) from sklearn import metrics print(metrics.classification_report(y_test_w,test_predicted))#获得混淆矩阵的准确值召回值。1. 通过train_test_split(x_whole,y_whole,test_size0.3,random_state1000)来切分数据通过test_size参数为整数时取对应数量的特征小数时取百分比的通过random_state参数来获得对应的随机种子。2. 通过metrics.classification_report(y_test_w,test_predicted))#获得混淆矩阵的准确值召回值和F1值。来判断模型训练的好不好三、评价方法混淆矩阵精确率TP/TPFP召回率TP/TPFN 多用于医疗领域系统f1值2*精确率*召回率/精确率召回率