Python K折叠交叉验证

Python K折叠交叉验证,python,random-forest,cross-validation,Python,Random Forest,Cross Validation,我想在我的数据集中的随机森林回归器中实现交叉验证。我想知道我的代码是否正确?这是交叉验证的方式吗? 以下是我的示例数据: Wavelength Phase_velocity Shear_wave_velocity 1.50 202.69 240.73 1.68 192.72 240.73 1.79 205.54 240.73 ........

我想在我的数据集中的随机森林回归器中实现交叉验证。我想知道我的代码是否正确?这是交叉验证的方式吗? 以下是我的示例数据:

Wavelength    Phase_velocity     Shear_wave_velocity
1.50               202.69          240.73
1.68               192.72          240.73
1.79               205.54          240.73
........
这是我的密码:

from sklearn.ensemble import RandomForestRegressor
    import numpy as np
    from sklearn.datasets import make_regression
    import matplotlib.pyplot as plt
    import pandas as pd
    from sklearn.model_selection import KFold,train_test_split,cross_val_score

    df = pd.read_csv("5.5-6.csv")
    df.head()

    X = df[['wavelength', 'phase velocity']]
    y = df['shear wave velocity']

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

    print (len(X_train),len(X_test),len(y_train),len(y_test))

    from sklearn.model_selection import KFold
    kfold = KFold(n_splits=10, shuffle=True)

    rf = RandomForestRegressor(n_estimators=30000)
    rf.fit(X_train, y_train)
    results = cross_val_score(rf, X_train, y_train, cv=kfold) #Cross validation on training set

    pd.set_option('display.max_rows', None)
    pd.set_option('display.max_columns', None)

    print (rf.predict(X_test)) #array_output
    print (y_test)
    print (rf.score(X_test, y_test))
    y_pred = rf.predict(X_test)
    from sklearn.metrics import mean_absolute_error
    print (mean_absolute_error(y_test,y_pred))

    from sklearn.metrics import mean_squared_error

    from math import sqrt

    rmse = sqrt(mean_squared_error(y_test,y_pred))

    print(rmse)

随机森林模型通常不需要交叉验证。袋外采样过程隐式地交叉验证正在构建的林。您应该检查射频型号的重要性指标。好的。非常感谢。那么MLP回归,SVM,逻辑回归呢?它需要交叉验证吗?是的……作为模型构建过程的一部分,这些可能需要交叉验证。那么,如果我将上面的SVM代码用于交叉验证,可以吗?我从未使用Python处理过SVM。我可以说是的,你应该使用支持向量机的交叉验证。一个随机森林模型通常不需要交叉验证。袋外采样过程隐式地交叉验证正在构建的林。您应该检查射频型号的重要性指标。好的。非常感谢。那么MLP回归,SVM,逻辑回归呢?它需要交叉验证吗?是的……作为模型构建过程的一部分,这些可能需要交叉验证。那么,如果我将上面的SVM代码用于交叉验证,可以吗?我从未使用Python处理过SVM。我可以说是的,你应该使用支持向量机的交叉验证。