我的csv数据是这样的:
怎么把fit()的第一个参数变成X1和X2,而不只是X1。因为Y的数据和X1和X2都有关系。但是我发现fit()方法的第一个参数我只能传一个价值。现在我的代码:
import pandas as pd
from sklearn import linear_model
wine = pd.read_csv(r"D:/1.csv",sep=',')
clf = linear_model.LinearRegression()
X1 = wine.loc[:, ['importance']].as_matrix()
X2 = wine.loc[:, ['match']].as_matrix()
Y = wine['point'].as_matrix()
clf.fit(X1, Y)
print(clf.coef_,clf.intercept_,clf.score(X1, Y))
输出结果: [0.00402347] 92.58619838990552 0.04442683444842255
您可以将这两列保留为单个 DataFrame。此外,您不需要使用as_matrix()
; sklearn 可以接受 pandas 对象作为输入。
import pandas as pd
from sklearn import linear_model
wine = pd.read_csv(r"D:/1.csv") # sep=',' is default
clf = linear_model.LinearRegression()
X = wine.drop('point', axis=1)
y = wine['point']
clf.fit(X, y)
print(clf.coef_, clf.intercept_, clf.score(X, y))
上面,wine.drop('point', axis=1)
只是说“给我一个 DataFrame,包括除 point
.
相反,如果您想具体指定这些列(在这种情况下结果相同),您可以执行以下操作:
X = wine.loc[:, ['importance', 'match']]
请注意,在这种情况下,X
和y
都将是原始数据片段的视图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句