【问题标题】:how to perform machine learning multiple regression on csv file data using python?如何使用python对csv文件数据执行机器学习多元回归?
【发布时间】:2016-11-22 11:21:27
【问题描述】:

我必须为任何 csv 文件的一般情况编写代码,作为没有任何变量和记录的输入。 我已经这样开始了。我该如何继续?

import numpy as np
import pandas as pd
def get_data(file_name):
data = pd.read_csv(file_name)
para = int(raw_input('Enter the no of parameters to be used '))
print(para)
param= []
for k in range(0,para-1):
        param[k]= raw_input('Enter the parameter')

rec = int(raw_input('Enter the no of records in the dataset '))
print(rec)
x_parameter = []
y_parameter = []
x1= []
for i in range(0,para):
    for x1[i] in data[i]:
        x_parameter[i].append(x1[i])

for j in range(0,rec):
    print x_parameter[j]
    print y_parameter[j]

get_data('C:\Python27\data.csv')

【问题讨论】:

    标签: python pandas numpy machine-learning linear-regression


    【解决方案1】:

    首先你为什么不对csv文件中的参数名称进行编码。您可以将它们作为列的标题,pandas 会自动正确分配它们。接下来,您可以使用 len(data) 来获取样本数量,而不必输入。

    对于线性回归,您必须填写 y_parameter 或至少将其从 pandas 中分离出来。然后您可以使用 scikit-learn 应用线性回归,如下所述:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

    代码示例:

    from sklearn.linear_model import LinearRegression
    model = LinearRegression()
    model.fit(x_parameter, y_parameter)
    

    【讨论】:

    • 但我希望这是一个通用代码,即它应该适用于用户作为参数传递给函数的任何文件。
    • 我的回答也适用于这种情况。您仍然可以将对象传递到线性回归模型中。
    • 但是如果用户有多个输入特征怎么办?那么线性回归模型就行不通了。需要多元回归。我该怎么做?
    • 线性回归适用于任意数量的特征。您只需要传入一个响应您的特征向量的矩阵。形状是这样的(Nr. Samples, Nr. features)
    • 但是如何分割测试和训练样本呢?
    猜你喜欢
    • 2020-03-27
    • 2019-04-17
    • 2021-12-10
    • 2021-11-15
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多