小小白要努力成长啊 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条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮