Scikit Learn implementa regresión lineal y regresión logística
Paquete de aprendizaje Scikit
Ejecutar en Anaconda Prompt:
conda install scikit-learn
Instale el paquete Scikit Learn para completar;
Scikit Learn implementa la regresión lineal
Importar paquete LinearRegression
Importar conjunto de datosload_boston
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
Cargue el conjunto de datos de precios de la vivienda de Boston
# 加载波士顿房价数据集
boston = load_boston()
X = boston.data
y = boston.target
LinearRegression
Cree un modelo de regresión lineal usandolr
# 创建一个线性回归模型
lr = LinearRegression()
Conjunto de datos de entrenamiento, use el modelo de regresión lineal entrenado para hacer prediccionesy_pred
# 使用训练集对模型进行训练
lr.fit(X, y)
# 训练完成
# 预测新数据的房价
y_pred = lr.predict(X)
Representación gráfica de los valores predichos observados (azul) frente a los valores reales (verde):
import matplotlib.pyplot as plt
plt.scatter(range(X.shape[0]),y,c="green")
plt.scatter(range(X.shape[0]),y_pred,c="blue")
plt.show()
El número de atributos, coeficientes y precisión del modelo de salida.
print("模型系数数量:", X.shape[1])
print("模型系数:", lr.coef_)
print("模型准确度为:", lr.score(X, y))
Código completo:
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
# 加载波士顿房价数据集
boston = load_boston()
X = boston.data
y = boston.target
# 创建一个线性回归模型
lr = LinearRegression()
# 使用训练集对模型进行训练
lr.fit(X, y)
# 训练完成
# 预测新数据的房价
y_pred = lr.predict(X)
# print(y_pred)
# print(y)
import matplotlib.pyplot as plt
plt.scatter(range(X.shape[0]),y,c="green")
plt.scatter(range(X.shape[0]),y_pred,c="blue")
plt.show()
print("模型系数:", lr.coef_)
print("模型准确度:", lr.score(X, y))
Más adiciones:
sklearn 特征缩放
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
sklearn 计算均方误差
from sklearn.metrics import mean_squared_error
y_pred = model.predict(X_scaled)
mse = mean_squared_error(y, y_pred)
print("均方误差:", mse)
Scikit Learn implementa la regresión logística
paquete de importaciónLinearRegression
from sklearn.linear_model import LogisticRegression
Cree datos de casos simples
import numpy as np
X = np.array([[0.5, 1.5], [1,1], [1.5, 0.5], [3, 0.5], [2, 2], [1, 2.5]])
y = np.array([0, 0, 0, 1, 1, 1])
LogisticRegression
Cree un modelo de regresión logística usandolr_model
lr_model = LogisticRegression()
Conjunto de datos de entrenamiento, use el modelo de regresión logística entrenado para hacer prediccionesy_pred
# 训练数据集
lr_model.fit(X, y)
# 训练完成
# 做出预测 y_pred
y_pred = lr_model.predict(X)
Representación gráfica de los valores predichos observados (azul) frente a los valores reales (verde):
import matplotlib.pyplot as plt
plt.scatter(range(X.shape[0]),y,c="green")
plt.scatter(range(X.shape[0]),y_pred,c="blue")
plt.show()
因为数据太少,准确度达到了 100% ,蓝色预测结果把绿色实际值完全覆盖
Ver precisiónAccuracy
print("Accuracy on training set:", lr_model.score(X, y))
Referencia
[1] Ng, A. (2021). Coursera - Machine Learning - Semana 3: Regresión logística con Scikit-Learn [Laboratorio sin calificar]. Coursera. Obtenido de https://www.coursera.org/learn/machine-learning/ungradedLab/F3ZpI/opcional-lab-logistic-regression-with-scikit-learn/lab?path=%2Fnotebooks%2FC1_W3_Lab07_Scikit_Learn_Soln.ipynb
[2] Ng, A. (2021). Coursera - Aprendizaje automático - Semana 2: Regresión lineal con Scikit-Learn [Laboratorio sin calificar]. Coursera. Obtenido de https://www.coursera.org/learn/machine-learning/ungradedLab/uaIsm/opcional-lab-lineal-regression-with-scikit-learn