- 机器学习、深度学习、神经网络的区别:机器学习、深度学习、神经网络还傻傻分不清吗?_机器学习 深度学习 神经网络-CSDN博客
- 神经网络简介:神经网络——最易懂最清晰的一篇文章-CSDN博客
1.Nearest Neighbors Regression
1.1两种Neighbors邻近拟合方法:
KNeighborsRegression:基于每一个数据点的K邻近机器学习,K是用户指定的整数;
RadiusNeighborsRegression:基于指定半径r中的数据点进行机器学习,r是用户指定的浮点数。
1.2共同参数:weight(权重)
weight = ‘uniform’:每个数据点的权重是相同的。
weight = ‘distance’:点的权重与距离成反比。
1.3KNN
class sklearn.neighbors.KNeighborsRegressor(n_neighbors=5, *,
weights='uniform', algorithm='auto',
leaf_size=30, p=2, metric='minkowski', metric_params=None, n_jobs=None)
2、scikit learn入门
参考官网Getting Start部分Getting Started — scikit-learn 1.3.2 documentation
2.1数据拟合和预测
scikit learn中的许多模型,称之为estimator。每一个estimator都有fit()方法,用于拟合数据。
两个参数,最好为np数组形式:
X_train:一般为二维数组,每一行代表一个训练样本的特征,有几列就有几个特征。
y_train:一般为一维的,每一个元素代表一个数据值,或者一个标签等,与X_train每一行对应。
使用了fit方法之后,数据就训练完成了,可以使用predict方法进行预测。
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(random_state=0)
X = [[ 1, 2, 3], # 2 samples, 3 features
[11, 12, 13]]
y = [0, 1] # classes of each sample
clf.fit(X, y)
clf.predict(X) # predict classes of the training data
clf.predict([[4, 5, 6], [14, 15, 16]]) # predict classes of new data
2.2数据前处理
2.3Pipelines: chaining pre-processors and estimators
2.4Model evaluation(模型评估)
一种评估方式:交叉验证。cross-validation。
其详细参数参考:3.1. Cross-validation: evaluating estimator performance — scikit-learn 1.3.2 documentation
2.5Automatic parameter searches
每一种模型都有其对应的参数(超参数),可以修改这些参数值进而使模型性能达到最优。但是这些参数取值多少通常取决于给定的数据。
Scikit-learn可以自动搜寻最佳的参数组合。
可以使用sklearn库中的GridSearchCV或RandomizedSearchCV类来实现参数搜索过程,其中GridSearchCV适用于较小的参数空间,而RandomizedSearchCV适用于较大的参数空间