天池龙珠训练营-机器学习学习笔记-01逻辑回归
本学习笔记为阿里云天池龙珠计划机器学习训练营的学习内容,学习链接为:训练营网址
一 逻辑回归 原理简介:
Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)
二 程序函数
-
from sklearn.linear_model import LogisticRegression # 导入
-
lr_clf = LogisticRegression() # 调用-----逻辑回归模型
#用逻辑回归模型----拟合----构造的数据集,x_fearures为输入特征,y_label为预测的类别。 其-拟合方程为 y=w0+w1x1+w2x2
-
lr_clf = lr_clf.fit(x_fearures, y_label)
查看其对应模型的w – 》 lr_clf.coef_ ,根据x确定w的个数;
查看其对应模型的w0 --》lr_clf.intercept_。
-
print(lr_clf.coef_,lr_clf.intercept_)
利用训练好的模型进行-----预测
-
y_label_new1_predict = lr_clf.predict(x_fearures_new1) # y_label_new1_predict = [0]
逻辑回归模型是概率预测模型,利用 predict_proba 函数预测其每一类概率
-
y_label_new1_predict_proba = lr_clf.predict_proba(x_fearures_new1) # y_label_new1_predict_proba = [[0.67507358 0.32492642]]
三 数据读取/载入
我们利用 sklearn 中自带的 iris 数据作为数据载入,并利用Pandas转化为DataFrame格式*
-
from sklearn.datasets import load_iris
-
data = load_iris() #得到数据特征
-
iris_target = data.target #得到数据对应的----标签y
-
iris_features = pd.DataFrame(data=data.data,
-
columns=data.feature_names) #利用Pandas转化为DataFrame格式,得到数据对应的x
-
iris_features.info()#利用.info()查看数据的整体信息
-
iris_features.head() #进行简单的数据查看,我们可以利用 .head() 头部.tail()尾部
-
iris_features.tail()
-
iris_features.describe() # 对于特征进行一些----统计描述
四 结果可视化
1 两个特征可以用 plt.scatter进行绘图。
2 多个特征
利用accuracy(准确度)------【预测正确的样本数目占总预测样本数目的比例】评估模型效果 —metrics.accuracy_score
-
from sklearn import metrics
-
print('The accuracy of the Logistic Regression is:',metrics.accuracy_score(y_train,train_predict))
print(‘The accuracy of the Logistic Regression is:’,metrics.accuracy_score(y_test,test_predict))
查看-----混淆矩阵 (预测值和真实值的各类情况统计矩阵)----- metrics.confusion_matrix
-
confusion_matrix_result = metrics.confusion_matrix(test_predict,y_test)
print(‘The confusion matrix result:\n’,confusion_matrix_result)
#利用----热力图-----对于结果进行可视化 sns.heatmap
-
plt.figure(figsize=(8, 6))
-
sns.heatmap(confusion_matrix_result,annot=True, cmap='Blues')
-
plt.xlabel('Predicted labels')
-
plt.ylabel('True labels')
-
plt.show()
[1]: 相关参考