小小白要努力成长啊 2018-11-24 10:02 采纳率: 80%
浏览 1548
已采纳

在做kaggle中的titanic为什么报错呢?

小小白在上手titanic,出了问题,求帮忙解答~
代码如下:

 import pandas
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import KFold
#导入

titanic = pandas.read_csv("all/train.csv")
#print(titanic.head(3))
#print(titanic.describe())

#处理缺失数据
titanic["Age"] = titanic["Age"].fillna(titanic["Age"].median())
#print(titanic.describe())
titanic.loc[titanic["Sex"]=="male","Sex"]=0
titanic.loc[titanic["Sex"]=="female","Sex"]=1
titanic["Embarked"] = titanic["Embarked"].fillna('S')
titanic.loc[titanic["Embarked"]=="S","Embarked"]=0
titanic.loc[titanic["Embarked"]=="C","Embarked"]=1
titanic.loc[titanic["Embarked"]=="Q","Embarked"]=2
#print(titanic["Sex"].unique())
#print(titanic["Embarked"].unique())

#KFold
predictors = ["Pclass","Sex","SibSp","Parch","Fare","Embareked"]
alg = LinearRegression()
kf = KFold(titanic.shape[0],n_folds=3,random_state=1)
predictions = []
for train, test in kf:
    train_predictiors = (titanic[predictors].iloc[train,:])
    train_target = titanic["Survived"].iloc[train]
    alg.fit(train_predictiors,train_target)
    test_prdictions = alg.predict(titanic[predictors].iloc[test,:])
    predictions.append(test_prdictions)

错误如下:
Traceback (most recent call last):
File "F:/python项目/titanic.py", line 20, in
kf = KFold(titanic.shape[0],n_folds=3,random_state=1)
TypeError: init() got an unexpected keyword argument 'n_folds'

Process finished with exit code 1

非常感谢~

  • 写回答

3条回答 默认 最新

  • Eleven ZOU 2019-03-13 12:26
    关注

    该问题是由于sklearn中模块的迁移和更新导致的
    解决方法一:不理会版本情况
    直接将

    from sklearn.model_selection import KFold
    

    改为

    from sklearn.cross_validation import KFold
    

    解决方法二:
    输入:

    import sklearn
    print(help(sklearn.model_selection.KFold())
    

    查看帮助文档

    sklearn.model_selection.KFold()可以设置三个参数:
    1. n_splits : int型, default=3,代表交叉验证的折数,最小值为 2.
    2. shuffle : boolean型,可选参数,default=False,代表是否在切分数据前对数据进行洗牌操作
    3. random_state : int型,可选参数,default=None,代表随机种子

    根据帮助文档学习如何使用新的KFold函数,依此更改你的代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿