我试图使用zip函数将列名称放在一起,并使用np.transpose函数将我创建的log_model的系数汇总在一起。
我的代码:
# Create LogisticRegression model object
log_model = LogisticRegression()
# Fit our data into that object
log_model.fit(X,Y)
# Check your accuracy
log_model.score(X,Y)
这段代码工作正常,因为我能够检查模型的准确性。 但是,以下代码是我收到错误的地方。
错误的代码:
coeff_df = DataFrame(zip(X.columns,np.transpose(log_model.coef_)))
错误讯息:
TypeError Traceback (most recent call last)
<ipython-input-147-a4e0ad234518> in <module>()
1 # Use zip to bring the column names and the np.transpose function to bring together the coefficients from the model
----> 2 coeff_df = DataFrame(zip(X.columns,np.transpose(log_model.coef_)))
~/anaconda3/lib/python3.6/site-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
387 mgr = self._init_dict({}, index, columns, dtype=dtype)
388 elif isinstance(data, collections.Iterator):
--> 389 raise TypeError("data argument can't be an iterator")
390 else:
391 try:
TypeError: data argument can't be an iterator
我做错了什么?对不起,新手在这里。我正在使用Python教程跟随Udemy数据可视化。我的讲师正在使用Python 2,但我已经能够使用Python 3进行管理,只是制作和研究转换以确保我的代码仍然有效。任何建议将不胜感激。
答案 0 :(得分:0)
对于二进制分类,仅使用一个线性模型。在多标签分类的情况下,每个类将有一个线性模型。假设您的X是pd.DataFrame
,您可以按以下步骤操作:
output = pd.DataFrame(my_model.coef_, columns=X.columns)
行表示不同类的线性模型,列表示系数。