python - 具有分类特征的线性回归分析
问题描述
回归算法可以很好地表示为数字。很清楚如何对包含数字的数据进行回归并预测输出。但是我需要对包含分类特征的数据进行回归分析。我有一个 csv 文件,其中包含两列 install-id 和 page-name 都是对象类型。我需要将 install-id 作为输入,而 page-name 应该被预测为输出。下面是我的代码。请帮助我。
import pandas as pd
data = pd.read_csv("/Users/kashifjilani/Downloads/csv/newjsoncontent.csv")
X = data["install-id"]
Y = data["endPoint"]
X = pd.get_dummies(data=X, drop_first=True)
from sklearn import linear_model
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = .20, random_state = 40)
regr = linear_model.LinearRegression()
regr.fit(X_train, Y_train)
predicted = regr.predict(X_test)
解决方案
我认为在这里我们必须记住回归模型的假设。因为我们试图预测/识别自变量(X)和因变量(y)之间的趋势。- 线性可分离 - 自变量具有受限的多重共线性。- 同方差性
如您的示例中给出的,您只有一个自变量,并且总结 X 和 y 之间的趋势都应该是线性的。
假设您已经给出了一个任务来预测旅行的总旅行时间。并且您的数据集具有以下变量 IV - Miles Traveled、NoOfDeliveries、GasPrice 和 City DV - Traveltime
在这里您可以看到它是数值(行驶里程,GasPrice)+ 分类变量(NoOfDeliveries,城市)的混合体。现在您必须将这些分类变量编码为数字(以便进行回归分析)并预测输出。
要将分类变量编码为二进制格式,我们在这里使用 sklearn 库中的 2 个对象 - LabelEncoder 和 OneHotEncoder。
请点击以下链接以了解有关如何处理 分类变量的更多信息
请找到以下链接以了解有关虚拟变量陷阱的更多信息
请找到以下链接以了解有关构建简单线性回归模型的更多信息
推荐阅读
- java - 压缩从布局创建的位图时出现空指针异常
- php - 向每个数组元素添加另一个元素php
- python - 如何以编程方式选择 ipyvuetify 中 TextField 的所有内容?
- python - 我无法水平打印
- database - 运行 Oracle APE X 应用程序时出现 404-Not Found 错误
- c++ - 如何在使用带有 SIM7000A 模块和 Arduino 的 HTTP AT 命令发送 POST 请求时包含正文?
- php - SQL如何查找行中的缺失值
- uitableview - 单击 SwiftUI 按钮时展开所有 UITableViewCells
- python - Tkinter 按钮显示但不起作用(初学者)
- python - 为超过 K 位顾客在酒店找到时间